Raspbian Package Auto-Building

Build log for vim (2:8.0.0197-5) on armhf

vim2:8.0.0197-5armhf → 2017-07-14 07:13:34

sbuild (Debian sbuild) 0.72.0 (25 Oct 2016) on mb-lxc-01

+==============================================================================+
| vim 2:8.0.0197-5 (armhf)                     Fri, 14 Jul 2017 06:35:21 +0000 |
+==============================================================================+

Package: vim
Version: 2:8.0.0197-5
Source Version: 2:8.0.0197-5
Distribution: buster-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf

I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/buster-staging-armhf-sbuild-c67e060a-0b50-4b5d-9bbf-eb9c12f36a6c' with '<<CHROOT>>'

+------------------------------------------------------------------------------+
| Update chroot                                                                |
+------------------------------------------------------------------------------+

Get:1 http://172.17.0.1/private buster-staging InRelease [11.3 kB]
Get:2 http://172.17.0.1/private buster-staging/main Sources [10.0 MB]
Get:3 http://172.17.0.1/private buster-staging/main armhf Packages [11.9 MB]
Fetched 21.9 MB in 8s (2737 kB/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Fetch source files                                                           |
+------------------------------------------------------------------------------+


Check APT
---------

Checking available source versions...

Download source files with APT
------------------------------

Reading package lists...
NOTICE: 'vim' packaging is maintained in the 'Git' version control system at:
https://anonscm.debian.org/cgit/pkg-vim/vim.git/
Please use:
git clone https://anonscm.debian.org/cgit/pkg-vim/vim.git/
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 13.1 MB of source archives.
Get:1 http://172.17.0.1/private buster-staging/main vim 2:8.0.0197-5 (dsc) [2991 B]
Get:2 http://172.17.0.1/private buster-staging/main vim 2:8.0.0197-5 (tar) [13.0 MB]
Get:3 http://172.17.0.1/private buster-staging/main vim 2:8.0.0197-5 (diff) [158 kB]
Fetched 13.1 MB in 3s (4333 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/vim-Y6ECvf/vim-8.0.0197' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/vim-Y6ECvf' with '<<BUILDDIR>>'

+------------------------------------------------------------------------------+
| Install build-essential                                                      |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: build-essential, fakeroot
Filtered Build-Depends: build-essential, fakeroot
dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive/sbuild-build-depends-core-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
gpg: keybox '/<<BUILDDIR>>/resolver-YGI6Wn/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-YGI6Wn/gpg/trustdb.gpg: trustdb created
gpg: key 37145E60F90AF620: public key "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: key 37145E60F90AF620: "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" not changed
gpg: key 37145E60F90AF620: secret key imported
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Packages [433 B]
Fetched 2109 B in 0s (5224 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...

Install core build dependencies (apt-based resolver)
----------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
  sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 35 not upgraded.
Need to get 770 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [770 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 770 B in 0s (0 B/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 12681 files and directories currently installed.)
Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ...
Setting up sbuild-build-depends-core-dummy (0.invalid.0) ...
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Check architectures                                                          |
+------------------------------------------------------------------------------+

Arch check ok (armhf included in any all)

+------------------------------------------------------------------------------+
| Install package build dependencies                                           |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: autoconf, debhelper (>= 9.20160114), libacl1-dev, libgpmg1-dev, libgtk-3-dev, libgtk2.0-dev, liblua5.2-dev, libperl-dev, libselinux1-dev, libtinfo-dev | libncurses5-dev, libxaw7-dev, libxpm-dev, libxt-dev, lua5.2, python3-dev, ruby, ruby-dev, tcl-dev
Merged Build-Conflicts: autoconf2.13, ruby1.8 (<< 1.8.7.358-8), ruby1.8-dev (<< 1.8.7.358-8)
Filtered Build-Depends: autoconf, debhelper (>= 9.20160114), libacl1-dev, libgpmg1-dev, libgtk-3-dev, libgtk2.0-dev, liblua5.2-dev, libperl-dev, libselinux1-dev, libtinfo-dev, libxaw7-dev, libxpm-dev, libxt-dev, lua5.2, python3-dev, ruby, ruby-dev, tcl-dev
Filtered Build-Conflicts: autoconf2.13, ruby1.8 (<< 1.8.7.358-8), ruby1.8-dev (<< 1.8.7.358-8)
dpkg-deb: building package 'sbuild-build-depends-vim-dummy' in '/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive/sbuild-build-depends-vim-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy sbuild-build-depends-vim-dummy
dpkg-scanpackages: info: Wrote 2 entries to output Packages file.
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Sources [647 B]
Get:5 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ Packages [693 B]
Fetched 2673 B in 0s (6434 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...

Install vim build dependencies (apt-based resolver)
---------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  adwaita-icon-theme autoconf automake autopoint autotools-dev bsdmainutils
  ca-certificates dconf-gsettings-backend dconf-service debhelper
  dh-autoreconf dh-python dh-strip-nondeterminism file fontconfig
  fontconfig-config fonts-dejavu-core gettext gettext-base gir1.2-atk-1.0
  gir1.2-atspi-2.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0
  gir1.2-gtk-2.0 gir1.2-gtk-3.0 gir1.2-pango-1.0 glib-networking
  glib-networking-common glib-networking-services groff-base
  gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme
  icu-devtools intltool-debian libacl1-dev libarchive-zip-perl
  libatk-bridge2.0-0 libatk-bridge2.0-dev libatk1.0-0 libatk1.0-data
  libatk1.0-dev libatspi2.0-0 libatspi2.0-dev libattr1-dev libavahi-client3
  libavahi-common-data libavahi-common3 libbsd0 libcairo-gobject2
  libcairo-script-interpreter2 libcairo2 libcairo2-dev libcolord2 libcroco3
  libcups2 libdatrie1 libdbus-1-3 libdbus-1-dev libdconf1 libelf1 libepoxy-dev
  libepoxy0 libexpat1 libexpat1-dev libffi6 libfile-stripnondeterminism-perl
  libfontconfig1 libfontconfig1-dev libfreetype6 libfreetype6-dev
  libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev
  libgirepository-1.0-1 libglib2.0-0 libglib2.0-bin libglib2.0-data
  libglib2.0-dev libgmp-dev libgmpxx4ldbl libgnutls30 libgpm-dev libgpm2
  libgraphite2-3 libgraphite2-dev libgssapi-krb5-2 libgtk-3-0 libgtk-3-common
  libgtk-3-dev libgtk2.0-0 libgtk2.0-common libgtk2.0-dev libharfbuzz-dev
  libharfbuzz-gobject0 libharfbuzz-icu0 libharfbuzz0b libhogweed4 libice-dev
  libice6 libicu-dev libicu57 libidn2-0 libjbig0 libjpeg62-turbo
  libjson-glib-1.0-0 libjson-glib-1.0-common libk5crypto3 libkeyutils1
  libkrb5-3 libkrb5support0 liblcms2-2 liblua5.2-0 liblua5.2-dev liblzo2-2
  libmagic-mgc libmagic1 libmpdec2 libncurses5 libncursesw5 libnettle6
  libp11-kit0 libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0
  libpangoft2-1.0-0 libpangoxft-1.0-0 libpcre16-3 libpcre3-dev libpcre32-3
  libpcrecpp0v5 libperl-dev libperl5.24 libpipeline1 libpixman-1-0
  libpixman-1-dev libpng-dev libproxy1v5 libpthread-stubs0-dev libpython3-dev
  libpython3-stdlib libpython3.5 libpython3.5-dev libpython3.5-minimal
  libpython3.5-stdlib libreadline-dev libreadline6 librest-0.7-0 librsvg2-2
  librsvg2-common libruby2.3 libselinux1-dev libsepol1-dev libsigsegv2
  libsm-dev libsm6 libsoup-gnome2.4-1 libsoup2.4-1 libssl1.0.2 libssl1.1
  libtasn1-6 libtcl8.6 libthai-data libthai0 libtiff5 libtimedate-perl
  libtinfo-dev libtinfo5 libtool libunistring2 libx11-6 libx11-data libx11-dev
  libxau-dev libxau6 libxaw7 libxaw7-dev libxcb-render0 libxcb-render0-dev
  libxcb-shm0 libxcb-shm0-dev libxcb1 libxcb1-dev libxcomposite-dev
  libxcomposite1 libxcursor-dev libxcursor1 libxdamage-dev libxdamage1
  libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3
  libxft-dev libxft2 libxi-dev libxi6 libxinerama-dev libxinerama1
  libxkbcommon-dev libxkbcommon0 libxml2 libxml2-utils libxmu-dev
  libxmu-headers libxmu6 libxpm-dev libxpm4 libxrandr-dev libxrandr2
  libxrender-dev libxrender1 libxt-dev libxt6 libxtst-dev libxtst6 libyaml-0-2
  lua5.2 m4 man-db mime-support openssl perl perl-base perl-modules-5.24
  pkg-config po-debconf python3 python3-dev python3-minimal python3.5
  python3.5-dev python3.5-minimal rake ruby ruby-dev ruby-did-you-mean
  ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit ruby2.3
  ruby2.3-dev rubygems-integration shared-mime-info tcl tcl-dev tcl8.6
  tcl8.6-dev ucf x11-common x11proto-composite-dev x11proto-core-dev
  x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev
  x11proto-randr-dev x11proto-record-dev x11proto-render-dev x11proto-xext-dev
  x11proto-xinerama-dev xkb-data xorg-sgml-doctools xtrans-dev zlib1g-dev
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois
  vacation dh-make gettext-doc libasprintf-dev libgettextpo-dev groff
  libcairo2-doc colord cups-common libglib2.0-doc gmp-doc libgmp10-doc
  libmpfr-dev gnutls-bin gpm krb5-doc krb5-user gvfs libgtk-3-doc
  libgtk2.0-doc libice-doc icu-doc liblcms2-utils imagemagick libpango1.0-doc
  readline-doc librsvg2-bin libsm-doc libtool-doc gfortran
  | fortran95-compiler gcj-jdk libxaw-doc libxcb-doc libxext-doc libxt-doc
  m4-doc less www-browser perl-doc libterm-readline-gnu-perl
  | libterm-readline-perl-perl libmail-box-perl python3-doc python3-tk
  python3-venv python3.5-venv python3.5-doc binfmt-support ri bundler tcl-doc
  tcl-tclreadline tcl8.6-doc
Recommended packages:
  curl | wget | lynx-cur at-spi2-core dbus libarchive-cpio-perl xdg-user-dirs
  libgtk-3-bin libgail-common libgtk2.0-bin python krb5-locales libtool-bin
  libpng-tools libltdl-dev libx11-doc xml-core netbase rename
  libmail-sendmail-perl zip fonts-lato libjs-jquery
The following NEW packages will be installed:
  adwaita-icon-theme autoconf automake autopoint autotools-dev bsdmainutils
  ca-certificates dconf-gsettings-backend dconf-service debhelper
  dh-autoreconf dh-python dh-strip-nondeterminism file fontconfig
  fontconfig-config fonts-dejavu-core gettext gettext-base gir1.2-atk-1.0
  gir1.2-atspi-2.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0
  gir1.2-gtk-2.0 gir1.2-gtk-3.0 gir1.2-pango-1.0 glib-networking
  glib-networking-common glib-networking-services groff-base
  gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme
  icu-devtools intltool-debian libacl1-dev libarchive-zip-perl
  libatk-bridge2.0-0 libatk-bridge2.0-dev libatk1.0-0 libatk1.0-data
  libatk1.0-dev libatspi2.0-0 libatspi2.0-dev libattr1-dev libavahi-client3
  libavahi-common-data libavahi-common3 libbsd0 libcairo-gobject2
  libcairo-script-interpreter2 libcairo2 libcairo2-dev libcolord2 libcroco3
  libcups2 libdatrie1 libdbus-1-dev libdconf1 libelf1 libepoxy-dev libepoxy0
  libexpat1 libexpat1-dev libffi6 libfile-stripnondeterminism-perl
  libfontconfig1 libfontconfig1-dev libfreetype6 libfreetype6-dev
  libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev
  libgirepository-1.0-1 libglib2.0-0 libglib2.0-bin libglib2.0-data
  libglib2.0-dev libgmp-dev libgmpxx4ldbl libgnutls30 libgpm-dev libgpm2
  libgraphite2-3 libgraphite2-dev libgssapi-krb5-2 libgtk-3-0 libgtk-3-common
  libgtk-3-dev libgtk2.0-0 libgtk2.0-common libgtk2.0-dev libharfbuzz-dev
  libharfbuzz-gobject0 libharfbuzz-icu0 libharfbuzz0b libhogweed4 libice-dev
  libice6 libicu-dev libicu57 libidn2-0 libjbig0 libjpeg62-turbo
  libjson-glib-1.0-0 libjson-glib-1.0-common libk5crypto3 libkeyutils1
  libkrb5-3 libkrb5support0 liblcms2-2 liblua5.2-0 liblua5.2-dev liblzo2-2
  libmagic-mgc libmagic1 libmpdec2 libnettle6 libp11-kit0 libpango-1.0-0
  libpango1.0-dev libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0
  libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libperl-dev libpipeline1
  libpixman-1-0 libpixman-1-dev libpng-dev libproxy1v5 libpthread-stubs0-dev
  libpython3-dev libpython3-stdlib libpython3.5 libpython3.5-dev
  libpython3.5-minimal libpython3.5-stdlib libreadline-dev libreadline6
  librest-0.7-0 librsvg2-2 librsvg2-common libruby2.3 libselinux1-dev
  libsepol1-dev libsigsegv2 libsm-dev libsm6 libsoup-gnome2.4-1 libsoup2.4-1
  libssl1.0.2 libssl1.1 libtasn1-6 libtcl8.6 libthai-data libthai0 libtiff5
  libtimedate-perl libtinfo-dev libtool libunistring2 libx11-6 libx11-data
  libx11-dev libxau-dev libxau6 libxaw7 libxaw7-dev libxcb-render0
  libxcb-render0-dev libxcb-shm0 libxcb-shm0-dev libxcb1 libxcb1-dev
  libxcomposite-dev libxcomposite1 libxcursor-dev libxcursor1 libxdamage-dev
  libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev
  libxfixes3 libxft-dev libxft2 libxi-dev libxi6 libxinerama-dev libxinerama1
  libxkbcommon-dev libxkbcommon0 libxml2 libxml2-utils libxmu-dev
  libxmu-headers libxmu6 libxpm-dev libxpm4 libxrandr-dev libxrandr2
  libxrender-dev libxrender1 libxt-dev libxt6 libxtst-dev libxtst6 libyaml-0-2
  lua5.2 m4 man-db mime-support openssl pkg-config po-debconf python3
  python3-dev python3-minimal python3.5 python3.5-dev python3.5-minimal rake
  ruby ruby-dev ruby-did-you-mean ruby-minitest ruby-net-telnet
  ruby-power-assert ruby-test-unit ruby2.3 ruby2.3-dev rubygems-integration
  sbuild-build-depends-vim-dummy shared-mime-info tcl tcl-dev tcl8.6
  tcl8.6-dev ucf x11-common x11proto-composite-dev x11proto-core-dev
  x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev
  x11proto-randr-dev x11proto-record-dev x11proto-render-dev x11proto-xext-dev
  x11proto-xinerama-dev xkb-data xorg-sgml-doctools xtrans-dev zlib1g-dev
The following packages will be upgraded:
  libdbus-1-3 libncurses5 libncursesw5 libperl5.24 libtinfo5 perl perl-base
  perl-modules-5.24
8 upgraded, 262 newly installed, 0 to remove and 27 not upgraded.
Need to get 162 MB of archives.
After this operation, 490 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-YGI6Wn/apt_archive ./ sbuild-build-depends-vim-dummy 0.invalid.0 [896 B]
Get:2 http://172.17.0.1/private buster-staging/main armhf libperl5.24 armhf 5.24.1-7 [2826 kB]
Get:3 http://172.17.0.1/private buster-staging/main armhf perl armhf 5.24.1-7 [219 kB]
Get:4 http://172.17.0.1/private buster-staging/main armhf perl-base armhf 5.24.1-7 [1195 kB]
Get:5 http://172.17.0.1/private buster-staging/main armhf perl-modules-5.24 all 5.24.1-7 [2724 kB]
Get:6 http://172.17.0.1/private buster-staging/main armhf groff-base armhf 1.22.3-9 [1005 kB]
Get:7 http://172.17.0.1/private buster-staging/main armhf libbsd0 armhf 0.8.5-1 [95.0 kB]
Get:8 http://172.17.0.1/private buster-staging/main armhf libncurses5 armhf 6.0+20170708-1 [74.2 kB]
Get:9 http://172.17.0.1/private buster-staging/main armhf libtinfo5 armhf 6.0+20170708-1 [296 kB]
Get:10 http://172.17.0.1/private buster-staging/main armhf libncursesw5 armhf 6.0+20170708-1 [92.8 kB]
Get:11 http://172.17.0.1/private buster-staging/main armhf bsdmainutils armhf 9.0.12+nmu1 [178 kB]
Get:12 http://172.17.0.1/private buster-staging/main armhf libpipeline1 armhf 1.4.1-2 [23.7 kB]
Get:13 http://172.17.0.1/private buster-staging/main armhf man-db armhf 2.7.6.1-2 [1014 kB]
Get:14 http://172.17.0.1/private buster-staging/main armhf libexpat1 armhf 2.2.1-3 [65.4 kB]
Get:15 http://172.17.0.1/private buster-staging/main armhf libfreetype6 armhf 2.8-0.2 [393 kB]
Get:16 http://172.17.0.1/private buster-staging/main armhf ucf all 3.0036 [70.2 kB]
Get:17 http://172.17.0.1/private buster-staging/main armhf fonts-dejavu-core all 2.37-1 [1068 kB]
Get:18 http://172.17.0.1/private buster-staging/main armhf fontconfig-config all 2.12.3-0.2 [304 kB]
Get:19 http://172.17.0.1/private buster-staging/main armhf libfontconfig1 armhf 2.12.3-0.2 [349 kB]
Get:20 http://172.17.0.1/private buster-staging/main armhf fontconfig armhf 2.12.3-0.2 [435 kB]
Get:21 http://172.17.0.1/private buster-staging/main armhf libjbig0 armhf 2.1-3.1 [27.5 kB]
Get:22 http://172.17.0.1/private buster-staging/main armhf liblzo2-2 armhf 2.08-1.2 [47.6 kB]
Get:23 http://172.17.0.1/private buster-staging/main armhf libpcrecpp0v5 armhf 2:8.39-3 [149 kB]
Get:24 http://172.17.0.1/private buster-staging/main armhf libxau6 armhf 1:1.0.8-1 [19.9 kB]
Get:25 http://172.17.0.1/private buster-staging/main armhf libxdmcp6 armhf 1:1.1.2-3 [25.0 kB]
Get:26 http://172.17.0.1/private buster-staging/main armhf libxcb1 armhf 1.12-1 [129 kB]
Get:27 http://172.17.0.1/private buster-staging/main armhf libx11-data all 2:1.6.4-3 [290 kB]
Get:28 http://172.17.0.1/private buster-staging/main armhf libx11-6 armhf 2:1.6.4-3 [683 kB]
Get:29 http://172.17.0.1/private buster-staging/main armhf libxext6 armhf 2:1.3.3-1 [48.1 kB]
Get:30 http://172.17.0.1/private buster-staging/main armhf libxrender1 armhf 1:0.9.10-1 [29.9 kB]
Get:31 http://172.17.0.1/private buster-staging/main armhf libxft2 armhf 2.3.2-1 [48.3 kB]
Get:32 http://172.17.0.1/private buster-staging/main armhf libssl1.1 armhf 1.1.0f-3 [1105 kB]
Get:33 http://172.17.0.1/private buster-staging/main armhf libpython3.5-minimal armhf 3.5.3-3 [570 kB]
Get:34 http://172.17.0.1/private buster-staging/main armhf python3.5-minimal armhf 3.5.3-3 [1447 kB]
Get:35 http://172.17.0.1/private buster-staging/main armhf python3-minimal armhf 3.5.3-3 [35.4 kB]
Get:36 http://172.17.0.1/private buster-staging/main armhf mime-support all 3.60 [36.7 kB]
Get:37 http://172.17.0.1/private buster-staging/main armhf libmpdec2 armhf 2.4.2-1 [67.5 kB]
Get:38 http://172.17.0.1/private buster-staging/main armhf libpython3.5-stdlib armhf 3.5.3-3 [2091 kB]
Get:39 http://172.17.0.1/private buster-staging/main armhf python3.5 armhf 3.5.3-3 [237 kB]
Get:40 http://172.17.0.1/private buster-staging/main armhf libpython3-stdlib armhf 3.5.3-3 [18.8 kB]
Get:41 http://172.17.0.1/private buster-staging/main armhf dh-python all 2.20170125 [86.8 kB]
Get:42 http://172.17.0.1/private buster-staging/main armhf python3 armhf 3.5.3-3 [21.8 kB]
Get:43 http://172.17.0.1/private buster-staging/main armhf libreadline6 armhf 6.3-9 [122 kB]
Get:44 http://172.17.0.1/private buster-staging/main armhf libssl1.0.2 armhf 1.0.2l-2 [893 kB]
Get:45 http://172.17.0.1/private buster-staging/main armhf libmagic-mgc armhf 1:5.30-1 [222 kB]
Get:46 http://172.17.0.1/private buster-staging/main armhf libmagic1 armhf 1:5.30-1 [105 kB]
Get:47 http://172.17.0.1/private buster-staging/main armhf file armhf 1:5.30-1 [63.4 kB]
Get:48 http://172.17.0.1/private buster-staging/main armhf gettext-base armhf 0.19.8.1-2+b1 [117 kB]
Get:49 http://172.17.0.1/private buster-staging/main armhf libnettle6 armhf 3.3-1 [204 kB]
Get:50 http://172.17.0.1/private buster-staging/main armhf libhogweed4 armhf 3.3-1 [126 kB]
Get:51 http://172.17.0.1/private buster-staging/main armhf libunistring2 armhf 0.9.7-2 [351 kB]
Get:52 http://172.17.0.1/private buster-staging/main armhf libidn2-0 armhf 0.16-1+b1 [55.3 kB]
Get:53 http://172.17.0.1/private buster-staging/main armhf libffi6 armhf 3.2.1-6 [18.7 kB]
Get:54 http://172.17.0.1/private buster-staging/main armhf libp11-kit0 armhf 0.23.3-5 [94.6 kB]
Get:55 http://172.17.0.1/private buster-staging/main armhf libtasn1-6 armhf 4.12-2 [46.0 kB]
Get:56 http://172.17.0.1/private buster-staging/main armhf libgnutls30 armhf 3.5.13-2 [842 kB]
Get:57 http://172.17.0.1/private buster-staging/main armhf libgpm2 armhf 1.20.4-6.2 [33.0 kB]
Get:58 http://172.17.0.1/private buster-staging/main armhf libkeyutils1 armhf 1.5.9-9 [11.9 kB]
Get:59 http://172.17.0.1/private buster-staging/main armhf libkrb5support0 armhf 1.15-1 [57.9 kB]
Get:60 http://172.17.0.1/private buster-staging/main armhf libk5crypto3 armhf 1.15-1 [115 kB]
Get:61 http://172.17.0.1/private buster-staging/main armhf libkrb5-3 armhf 1.15-1 [262 kB]
Get:62 http://172.17.0.1/private buster-staging/main armhf libgssapi-krb5-2 armhf 1.15-1 [132 kB]
Get:63 http://172.17.0.1/private buster-staging/main armhf libicu57 armhf 57.1-6 [7427 kB]
Get:64 http://172.17.0.1/private buster-staging/main armhf libxml2 armhf 2.9.4+dfsg1-3 [601 kB]
Get:65 http://172.17.0.1/private buster-staging/main armhf hicolor-icon-theme all 0.15-1 [9550 B]
Get:66 http://172.17.0.1/private buster-staging/main armhf libglib2.0-0 armhf 2.52.3-1 [2576 kB]
Get:67 http://172.17.0.1/private buster-staging/main armhf libjpeg62-turbo armhf 1:1.5.1-2 [109 kB]
Get:68 http://172.17.0.1/private buster-staging/main armhf libtiff5 armhf 4.0.8-3 [219 kB]
Get:69 http://172.17.0.1/private buster-staging/main armhf shared-mime-info armhf 1.8-1 [727 kB]
Get:70 http://172.17.0.1/private buster-staging/main armhf libgdk-pixbuf2.0-common all 2.36.5-2 [310 kB]
Get:71 http://172.17.0.1/private buster-staging/main armhf libgdk-pixbuf2.0-0 armhf 2.36.5-2 [152 kB]
Get:72 http://172.17.0.1/private buster-staging/main armhf gtk-update-icon-cache armhf 3.22.16-1+rpi1 [75.8 kB]
Get:73 http://172.17.0.1/private buster-staging/main armhf libpixman-1-0 armhf 0.34.0-1 [451 kB]
Get:74 http://172.17.0.1/private buster-staging/main armhf libxcb-render0 armhf 1.12-1 [104 kB]
Get:75 http://172.17.0.1/private buster-staging/main armhf libxcb-shm0 armhf 1.12-1 [95.9 kB]
Get:76 http://172.17.0.1/private buster-staging/main armhf libcairo2 armhf 1.14.10-1 [692 kB]
Get:77 http://172.17.0.1/private buster-staging/main armhf libcroco3 armhf 0.6.12-1 [132 kB]
Get:78 http://172.17.0.1/private buster-staging/main armhf libthai-data all 0.1.26-1 [166 kB]
Get:79 http://172.17.0.1/private buster-staging/main armhf libdatrie1 armhf 0.2.10-4 [32.8 kB]
Get:80 http://172.17.0.1/private buster-staging/main armhf libthai0 armhf 0.1.26-1 [49.3 kB]
Get:81 http://172.17.0.1/private buster-staging/main armhf libpango-1.0-0 armhf 1.40.6-1 [166 kB]
Get:82 http://172.17.0.1/private buster-staging/main armhf libgraphite2-3 armhf 1.3.10-2 [71.8 kB]
Get:83 http://172.17.0.1/private buster-staging/main armhf libharfbuzz0b armhf 1.4.2-1 [640 kB]
Get:84 http://172.17.0.1/private buster-staging/main armhf libpangoft2-1.0-0 armhf 1.40.6-1 [63.2 kB]
Get:85 http://172.17.0.1/private buster-staging/main armhf libpangocairo-1.0-0 armhf 1.40.6-1 [52.3 kB]
Get:86 http://172.17.0.1/private buster-staging/main armhf librsvg2-2 armhf 2.40.16-1 [266 kB]
Get:87 http://172.17.0.1/private buster-staging/main armhf librsvg2-common armhf 2.40.16-1 [193 kB]
Get:88 http://172.17.0.1/private buster-staging/main armhf adwaita-icon-theme all 3.24.0-1 [12.4 MB]
Get:89 http://172.17.0.1/private buster-staging/main armhf libsigsegv2 armhf 2.11-1 [29.3 kB]
Get:90 http://172.17.0.1/private buster-staging/main armhf m4 armhf 1.4.18-1 [185 kB]
Get:91 http://172.17.0.1/private buster-staging/main armhf autoconf all 2.69-10 [338 kB]
Get:92 http://172.17.0.1/private buster-staging/main armhf autotools-dev all 20161112.1 [73.4 kB]
Get:93 http://172.17.0.1/private buster-staging/main armhf automake all 1:1.15.1-2 [736 kB]
Get:94 http://172.17.0.1/private buster-staging/main armhf autopoint all 0.19.8.1-2 [433 kB]
Get:95 http://172.17.0.1/private buster-staging/main armhf openssl armhf 1.1.0f-3 [692 kB]
Get:96 http://172.17.0.1/private buster-staging/main armhf ca-certificates all 20161130+nmu1 [196 kB]
Get:97 http://172.17.0.1/private buster-staging/main armhf libdconf1 armhf 0.26.0-2 [33.3 kB]
Get:98 http://172.17.0.1/private buster-staging/main armhf dconf-service armhf 0.26.0-2 [30.1 kB]
Get:99 http://172.17.0.1/private buster-staging/main armhf dconf-gsettings-backend armhf 0.26.0-2 [22.5 kB]
Get:100 http://172.17.0.1/private buster-staging/main armhf libtool all 2.4.6-2 [545 kB]
Get:101 http://172.17.0.1/private buster-staging/main armhf dh-autoreconf all 14 [15.9 kB]
Get:102 http://172.17.0.1/private buster-staging/main armhf libarchive-zip-perl all 1.59-1 [95.5 kB]
Get:103 http://172.17.0.1/private buster-staging/main armhf libfile-stripnondeterminism-perl all 0.035-2 [17.0 kB]
Get:104 http://172.17.0.1/private buster-staging/main armhf libtimedate-perl all 2.3000-2 [42.2 kB]
Get:105 http://172.17.0.1/private buster-staging/main armhf dh-strip-nondeterminism all 0.035-2 [10.7 kB]
Get:106 http://172.17.0.1/private buster-staging/main armhf gettext armhf 0.19.8.1-2+b1 [1220 kB]
Get:107 http://172.17.0.1/private buster-staging/main armhf intltool-debian all 0.35.0+20060710.4 [26.3 kB]
Get:108 http://172.17.0.1/private buster-staging/main armhf po-debconf all 1.0.20 [247 kB]
Get:109 http://172.17.0.1/private buster-staging/main armhf debhelper all 10.2.5 [961 kB]
Get:110 http://172.17.0.1/private buster-staging/main armhf libgirepository-1.0-1 armhf 1.50.0-1 [76.4 kB]
Get:111 http://172.17.0.1/private buster-staging/main armhf gir1.2-glib-2.0 armhf 1.50.0-1 [139 kB]
Get:112 http://172.17.0.1/private buster-staging/main armhf libatk1.0-data all 2.22.0-1 [172 kB]
Get:113 http://172.17.0.1/private buster-staging/main armhf libatk1.0-0 armhf 2.22.0-1 [70.4 kB]
Get:114 http://172.17.0.1/private buster-staging/main armhf gir1.2-atk-1.0 armhf 2.22.0-1 [53.5 kB]
Get:115 http://172.17.0.1/private buster-staging/main armhf libdbus-1-3 armhf 1.10.20-1 [173 kB]
Get:116 http://172.17.0.1/private buster-staging/main armhf libatspi2.0-0 armhf 2.24.1-1 [53.6 kB]
Get:117 http://172.17.0.1/private buster-staging/main armhf gir1.2-atspi-2.0 armhf 2.24.1-1 [19.9 kB]
Get:118 http://172.17.0.1/private buster-staging/main armhf libcairo-gobject2 armhf 1.14.10-1 [338 kB]
Get:119 http://172.17.0.1/private buster-staging/main armhf gir1.2-freedesktop armhf 1.50.0-1 [15.2 kB]
Get:120 http://172.17.0.1/private buster-staging/main armhf gir1.2-gdkpixbuf-2.0 armhf 2.36.5-2 [15.2 kB]
Get:121 http://172.17.0.1/private buster-staging/main armhf libgtk2.0-common all 2.24.31-2 [2693 kB]
Get:122 http://172.17.0.1/private buster-staging/main armhf libpangoxft-1.0-0 armhf 1.40.6-1 [47.6 kB]
Get:123 http://172.17.0.1/private buster-staging/main armhf gir1.2-pango-1.0 armhf 1.40.6-1 [56.4 kB]
Get:124 http://172.17.0.1/private buster-staging/main armhf libavahi-common-data armhf 0.6.32-2 [118 kB]
Get:125 http://172.17.0.1/private buster-staging/main armhf libavahi-common3 armhf 0.6.32-2 [48.6 kB]
Get:126 http://172.17.0.1/private buster-staging/main armhf libavahi-client3 armhf 0.6.32-2 [51.3 kB]
Get:127 http://172.17.0.1/private buster-staging/main armhf libcups2 armhf 2.2.3-2+rpi1 [277 kB]
Get:128 http://172.17.0.1/private buster-staging/main armhf libxcomposite1 armhf 1:0.4.4-2 [16.1 kB]
Get:129 http://172.17.0.1/private buster-staging/main armhf libxfixes3 armhf 1:5.0.3-1 [20.6 kB]
Get:130 http://172.17.0.1/private buster-staging/main armhf libxcursor1 armhf 1:1.1.14-1+b1 [31.9 kB]
Get:131 http://172.17.0.1/private buster-staging/main armhf libxdamage1 armhf 1:1.1.4-2+b1 [14.1 kB]
Get:132 http://172.17.0.1/private buster-staging/main armhf libxi6 armhf 2:1.7.9-1 [77.8 kB]
Get:133 http://172.17.0.1/private buster-staging/main armhf libxinerama1 armhf 2:1.1.3-1+b1 [16.4 kB]
Get:134 http://172.17.0.1/private buster-staging/main armhf libxrandr2 armhf 2:1.5.1-1 [34.5 kB]
Get:135 http://172.17.0.1/private buster-staging/main armhf libgtk2.0-0 armhf 2.24.31-2 [1505 kB]
Get:136 http://172.17.0.1/private buster-staging/main armhf gir1.2-gtk-2.0 armhf 2.24.31-2 [212 kB]
Get:137 http://172.17.0.1/private buster-staging/main armhf libgtk-3-common all 3.22.16-1+rpi1 [3406 kB]
Get:138 http://172.17.0.1/private buster-staging/main armhf libatk-bridge2.0-0 armhf 2.24.1-1 [48.1 kB]
Get:139 http://172.17.0.1/private buster-staging/main armhf liblcms2-2 armhf 2.8-4 [118 kB]
Get:140 http://172.17.0.1/private buster-staging/main armhf libcolord2 armhf 1.3.3-2 [240 kB]
Get:141 http://172.17.0.1/private buster-staging/main armhf libepoxy0 armhf 1.3.1-3 [158 kB]
Get:142 http://172.17.0.1/private buster-staging/main armhf libjson-glib-1.0-common all 1.2.8-1 [168 kB]
Get:143 http://172.17.0.1/private buster-staging/main armhf libjson-glib-1.0-0 armhf 1.2.8-1 [172 kB]
Get:144 http://172.17.0.1/private buster-staging/main armhf libproxy1v5 armhf 0.4.14-3 [50.2 kB]
Get:145 http://172.17.0.1/private buster-staging/main armhf glib-networking-common all 2.50.0-1 [49.1 kB]
Get:146 http://172.17.0.1/private buster-staging/main armhf glib-networking-services armhf 2.50.0-1 [11.6 kB]
Get:147 http://172.17.0.1/private buster-staging/main armhf gsettings-desktop-schemas all 3.22.0-1 [473 kB]
Get:148 http://172.17.0.1/private buster-staging/main armhf glib-networking armhf 2.50.0-1 [48.2 kB]
Get:149 http://172.17.0.1/private buster-staging/main armhf libsoup2.4-1 armhf 2.56.0-2 [248 kB]
Get:150 http://172.17.0.1/private buster-staging/main armhf libsoup-gnome2.4-1 armhf 2.56.0-2 [16.0 kB]
Get:151 http://172.17.0.1/private buster-staging/main armhf librest-0.7-0 armhf 0.8.0-2 [27.8 kB]
Get:152 http://172.17.0.1/private buster-staging/main armhf libgtk-3-0 armhf 3.22.16-1+rpi1 [2069 kB]
Get:153 http://172.17.0.1/private buster-staging/main armhf gir1.2-gtk-3.0 armhf 3.22.16-1+rpi1 [245 kB]
Get:154 http://172.17.0.1/private buster-staging/main armhf icu-devtools armhf 57.1-6 [156 kB]
Get:155 http://172.17.0.1/private buster-staging/main armhf libelf1 armhf 0.168-1 [154 kB]
Get:156 http://172.17.0.1/private buster-staging/main armhf libglib2.0-data all 2.52.3-1 [2577 kB]
Get:157 http://172.17.0.1/private buster-staging/main armhf libglib2.0-bin armhf 2.52.3-1 [1653 kB]
Get:158 http://172.17.0.1/private buster-staging/main armhf libpcre16-3 armhf 2:8.39-3 [235 kB]
Get:159 http://172.17.0.1/private buster-staging/main armhf libpcre32-3 armhf 2:8.39-3 [227 kB]
Get:160 http://172.17.0.1/private buster-staging/main armhf libpcre3-dev armhf 2:8.39-3 [565 kB]
Get:161 http://172.17.0.1/private buster-staging/main armhf pkg-config armhf 0.29-4 [59.2 kB]
Get:162 http://172.17.0.1/private buster-staging/main armhf zlib1g-dev armhf 1:1.2.8.dfsg-5 [198 kB]
Get:163 http://172.17.0.1/private buster-staging/main armhf libglib2.0-dev armhf 2.52.3-1 [2826 kB]
Get:164 http://172.17.0.1/private buster-staging/main armhf libdbus-1-dev armhf 1.10.20-1 [200 kB]
Get:165 http://172.17.0.1/private buster-staging/main armhf x11-common all 1:7.7+19 [251 kB]
Get:166 http://172.17.0.1/private buster-staging/main armhf libxtst6 armhf 2:1.2.3-1 [26.3 kB]
Get:167 http://172.17.0.1/private buster-staging/main armhf xorg-sgml-doctools all 1:1.11-1 [21.9 kB]
Get:168 http://172.17.0.1/private buster-staging/main armhf x11proto-core-dev all 7.0.31-1 [728 kB]
Get:169 http://172.17.0.1/private buster-staging/main armhf libxau-dev armhf 1:1.0.8-1 [23.0 kB]
Get:170 http://172.17.0.1/private buster-staging/main armhf libxdmcp-dev armhf 1:1.1.2-3 [40.9 kB]
Get:171 http://172.17.0.1/private buster-staging/main armhf x11proto-input-dev all 2.3.2-1 [158 kB]
Get:172 http://172.17.0.1/private buster-staging/main armhf x11proto-kb-dev all 1.0.7-1 [233 kB]
Get:173 http://172.17.0.1/private buster-staging/main armhf xtrans-dev all 1.3.5-1 [100 kB]
Get:174 http://172.17.0.1/private buster-staging/main armhf libpthread-stubs0-dev armhf 0.3-4 [4042 B]
Get:175 http://172.17.0.1/private buster-staging/main armhf libxcb1-dev armhf 1.12-1 [165 kB]
Get:176 http://172.17.0.1/private buster-staging/main armhf libx11-dev armhf 2:1.6.4-3 [753 kB]
Get:177 http://172.17.0.1/private buster-staging/main armhf x11proto-xext-dev all 7.3.0-1 [212 kB]
Get:178 http://172.17.0.1/private buster-staging/main armhf libxext-dev armhf 2:1.3.3-1 [102 kB]
Get:179 http://172.17.0.1/private buster-staging/main armhf x11proto-fixes-dev all 1:5.0-2 [19.2 kB]
Get:180 http://172.17.0.1/private buster-staging/main armhf libxfixes-dev armhf 1:5.0.3-1 [22.7 kB]
Get:181 http://172.17.0.1/private buster-staging/main armhf libxi-dev armhf 2:1.7.9-1 [236 kB]
Get:182 http://172.17.0.1/private buster-staging/main armhf x11proto-record-dev all 1.14.2-1 [33.9 kB]
Get:183 http://172.17.0.1/private buster-staging/main armhf libxtst-dev armhf 2:1.2.3-1 [30.5 kB]
Get:184 http://172.17.0.1/private buster-staging/main armhf libatspi2.0-dev armhf 2.24.1-1 [64.9 kB]
Get:185 http://172.17.0.1/private buster-staging/main armhf libatk-bridge2.0-dev armhf 2.24.1-1 [8332 B]
Get:186 http://172.17.0.1/private buster-staging/main armhf libatk1.0-dev armhf 2.22.0-1 [115 kB]
Get:187 http://172.17.0.1/private buster-staging/main armhf libcairo-script-interpreter2 armhf 1.14.10-1 [366 kB]
Get:188 http://172.17.0.1/private buster-staging/main armhf libexpat1-dev armhf 2.2.1-3 [120 kB]
Get:189 http://172.17.0.1/private buster-staging/main armhf libpng-dev armhf 1.6.29-3 [232 kB]
Get:190 http://172.17.0.1/private buster-staging/main armhf libfreetype6-dev armhf 2.8-0.2 [2592 kB]
Get:191 http://172.17.0.1/private buster-staging/main armhf libfontconfig1-dev armhf 2.12.3-0.2 [889 kB]
Get:192 http://172.17.0.1/private buster-staging/main armhf x11proto-render-dev all 2:0.11.1-2 [20.8 kB]
Get:193 http://172.17.0.1/private buster-staging/main armhf libxrender-dev armhf 1:0.9.10-1 [37.7 kB]
Get:194 http://172.17.0.1/private buster-staging/main armhf libice6 armhf 2:1.0.9-2 [51.6 kB]
Get:195 http://172.17.0.1/private buster-staging/main armhf libsm6 armhf 2:1.2.2-1+b1 [31.2 kB]
Get:196 http://172.17.0.1/private buster-staging/main armhf libice-dev armhf 2:1.0.9-2 [58.8 kB]
Get:197 http://172.17.0.1/private buster-staging/main armhf libsm-dev armhf 2:1.2.2-1+b1 [33.5 kB]
Get:198 http://172.17.0.1/private buster-staging/main armhf libpixman-1-dev armhf 0.34.0-1 [472 kB]
Get:199 http://172.17.0.1/private buster-staging/main armhf libxcb-render0-dev armhf 1.12-1 [108 kB]
Get:200 http://172.17.0.1/private buster-staging/main armhf libxcb-shm0-dev armhf 1.12-1 [97.1 kB]
Get:201 http://172.17.0.1/private buster-staging/main armhf libcairo2-dev armhf 1.14.10-1 [814 kB]
Get:202 http://172.17.0.1/private buster-staging/main armhf libepoxy-dev armhf 1.3.1-3 [113 kB]
Get:203 http://172.17.0.1/private buster-staging/main armhf libgdk-pixbuf2.0-dev armhf 2.36.5-2 [53.7 kB]
Get:204 http://172.17.0.1/private buster-staging/main armhf libgmpxx4ldbl armhf 2:6.1.2+dfsg-1 [21.5 kB]
Get:205 http://172.17.0.1/private buster-staging/main armhf libgmp-dev armhf 2:6.1.2+dfsg-1 [563 kB]
Get:206 http://172.17.0.1/private buster-staging/main armhf libgpm-dev armhf 1.20.4-6.2 [35.5 kB]
Get:207 http://172.17.0.1/private buster-staging/main armhf libgraphite2-dev armhf 1.3.10-2 [21.4 kB]
Get:208 http://172.17.0.1/private buster-staging/main armhf libharfbuzz-icu0 armhf 1.4.2-1 [465 kB]
Get:209 http://172.17.0.1/private buster-staging/main armhf libharfbuzz-gobject0 armhf 1.4.2-1 [472 kB]
Get:210 http://172.17.0.1/private buster-staging/main armhf libicu-dev armhf 57.1-6 [15.8 MB]
Get:211 http://172.17.0.1/private buster-staging/main armhf libharfbuzz-dev armhf 1.4.2-1 [700 kB]
Get:212 http://172.17.0.1/private buster-staging/main armhf libxft-dev armhf 2.3.2-1 [59.1 kB]
Get:213 http://172.17.0.1/private buster-staging/main armhf libpango1.0-dev armhf 1.40.6-1 [288 kB]
Get:214 http://172.17.0.1/private buster-staging/main armhf x11proto-xinerama-dev all 1.2.1-2 [4938 B]
Get:215 http://172.17.0.1/private buster-staging/main armhf libxinerama-dev armhf 2:1.1.3-1+b1 [18.7 kB]
Get:216 http://172.17.0.1/private buster-staging/main armhf x11proto-randr-dev all 1.5.0-1 [49.7 kB]
Get:217 http://172.17.0.1/private buster-staging/main armhf libxrandr-dev armhf 2:1.5.1-1 [42.5 kB]
Get:218 http://172.17.0.1/private buster-staging/main armhf libxcursor-dev armhf 1:1.1.14-1+b1 [39.5 kB]
Get:219 http://172.17.0.1/private buster-staging/main armhf x11proto-composite-dev all 1:0.4.2-2 [15.3 kB]
Get:220 http://172.17.0.1/private buster-staging/main armhf libxcomposite-dev armhf 1:0.4.4-2 [19.8 kB]
Get:221 http://172.17.0.1/private buster-staging/main armhf x11proto-damage-dev all 1:1.2.1-2 [11.8 kB]
Get:222 http://172.17.0.1/private buster-staging/main armhf libxdamage-dev armhf 1:1.1.4-2+b1 [13.9 kB]
Get:223 http://172.17.0.1/private buster-staging/main armhf xkb-data all 2.19-1 [648 kB]
Get:224 http://172.17.0.1/private buster-staging/main armhf libxkbcommon0 armhf 0.7.1-1 [110 kB]
Get:225 http://172.17.0.1/private buster-staging/main armhf libxkbcommon-dev armhf 0.7.1-1 [337 kB]
Get:226 http://172.17.0.1/private buster-staging/main armhf libgtk-3-dev armhf 3.22.16-1+rpi1 [944 kB]
Get:227 http://172.17.0.1/private buster-staging/main armhf libxml2-utils armhf 2.9.4+dfsg1-3 [101 kB]
Get:228 http://172.17.0.1/private buster-staging/main armhf libgtk2.0-dev armhf 2.24.31-2 [2334 kB]
Get:229 http://172.17.0.1/private buster-staging/main armhf liblua5.2-0 armhf 5.2.4-1.1 [82.8 kB]
Get:230 http://172.17.0.1/private buster-staging/main armhf libtinfo-dev armhf 6.0+20170708-1 [66.8 kB]
Get:231 http://172.17.0.1/private buster-staging/main armhf libreadline-dev armhf 7.0-3 [109 kB]
Get:232 http://172.17.0.1/private buster-staging/main armhf liblua5.2-dev armhf 5.2.4-1.1 [115 kB]
Get:233 http://172.17.0.1/private buster-staging/main armhf libperl-dev armhf 5.24.1-7 [2493 kB]
Get:234 http://172.17.0.1/private buster-staging/main armhf libpython3.5 armhf 3.5.3-3 [1173 kB]
Get:235 http://172.17.0.1/private buster-staging/main armhf libpython3.5-dev armhf 3.5.3-3 [36.9 MB]
Get:236 http://172.17.0.1/private buster-staging/main armhf libpython3-dev armhf 3.5.3-3 [18.9 kB]
Get:237 http://172.17.0.1/private buster-staging/main armhf rubygems-integration all 1.11 [4994 B]
Get:238 http://172.17.0.1/private buster-staging/main armhf ruby2.3 armhf 2.3.3-1 [186 kB]
Get:239 http://172.17.0.1/private buster-staging/main armhf ruby armhf 1:2.3.3 [10.8 kB]
Get:240 http://172.17.0.1/private buster-staging/main armhf rake all 12.0.0-1 [45.7 kB]
Get:241 http://172.17.0.1/private buster-staging/main armhf ruby-did-you-mean all 1.0.0-2 [11.2 kB]
Get:242 http://172.17.0.1/private buster-staging/main armhf ruby-minitest all 5.10.2-1 [52.2 kB]
Get:243 http://172.17.0.1/private buster-staging/main armhf ruby-net-telnet all 0.1.1-2 [12.5 kB]
Get:244 http://172.17.0.1/private buster-staging/main armhf ruby-power-assert all 0.3.0-1 [7902 B]
Get:245 http://172.17.0.1/private buster-staging/main armhf ruby-test-unit all 3.2.5-1 [71.7 kB]
Get:246 http://172.17.0.1/private buster-staging/main armhf libyaml-0-2 armhf 0.1.7-2 [39.9 kB]
Get:247 http://172.17.0.1/private buster-staging/main armhf libruby2.3 armhf 2.3.3-1 [2864 kB]
Get:248 http://172.17.0.1/private buster-staging/main armhf libsepol1-dev armhf 2.6-2 [285 kB]
Get:249 http://172.17.0.1/private buster-staging/main armhf libselinux1-dev armhf 2.6-3 [171 kB]
Get:250 http://172.17.0.1/private buster-staging/main armhf libtcl8.6 armhf 8.6.6+dfsg-1 [861 kB]
Get:251 http://172.17.0.1/private buster-staging/main armhf libxt6 armhf 1:1.1.5-1 [155 kB]
Get:252 http://172.17.0.1/private buster-staging/main armhf libxmu6 armhf 2:1.1.2-2 [52.0 kB]
Get:253 http://172.17.0.1/private buster-staging/main armhf libxpm4 armhf 1:3.5.12-1 [43.6 kB]
Get:254 http://172.17.0.1/private buster-staging/main armhf libxaw7 armhf 2:1.0.13-1 [164 kB]
Get:255 http://172.17.0.1/private buster-staging/main armhf libxt-dev armhf 1:1.1.5-1 [390 kB]
Get:256 http://172.17.0.1/private buster-staging/main armhf libxmu-headers all 2:1.1.2-2 [51.9 kB]
Get:257 http://172.17.0.1/private buster-staging/main armhf libxmu-dev armhf 2:1.1.2-2 [56.2 kB]
Get:258 http://172.17.0.1/private buster-staging/main armhf libxpm-dev armhf 1:3.5.12-1 [98.1 kB]
Get:259 http://172.17.0.1/private buster-staging/main armhf libxaw7-dev armhf 2:1.0.13-1 [223 kB]
Get:260 http://172.17.0.1/private buster-staging/main armhf lua5.2 armhf 5.2.4-1.1 [74.4 kB]
Get:261 http://172.17.0.1/private buster-staging/main armhf python3.5-dev armhf 3.5.3-3 [413 kB]
Get:262 http://172.17.0.1/private buster-staging/main armhf python3-dev armhf 3.5.3-3 [1158 B]
Get:263 http://172.17.0.1/private buster-staging/main armhf ruby2.3-dev armhf 2.3.3-1 [1031 kB]
Get:264 http://172.17.0.1/private buster-staging/main armhf ruby-dev armhf 1:2.3.3 [9576 B]
Get:265 http://172.17.0.1/private buster-staging/main armhf tcl8.6 armhf 8.6.6+dfsg-1 [123 kB]
Get:266 http://172.17.0.1/private buster-staging/main armhf tcl armhf 8.6.0+9 [5502 B]
Get:267 http://172.17.0.1/private buster-staging/main armhf tcl8.6-dev armhf 8.6.6+dfsg-1 [890 kB]
Get:268 http://172.17.0.1/private buster-staging/main armhf tcl-dev armhf 8.6.0+9 [7986 B]
Get:269 http://172.17.0.1/private buster-staging/main armhf libattr1-dev armhf 1:2.4.47-2 [38.7 kB]
Get:270 http://172.17.0.1/private buster-staging/main armhf libacl1-dev armhf 2.2.52-3 [84.1 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 162 MB in 37s (4342 kB/s)
(Reading database ... 12681 files and directories currently installed.)
Preparing to unpack .../libperl5.24_5.24.1-7_armhf.deb ...
Unpacking libperl5.24:armhf (5.24.1-7) over (5.24.1-4) ...
Preparing to unpack .../perl_5.24.1-7_armhf.deb ...
Unpacking perl (5.24.1-7) over (5.24.1-4) ...
Preparing to unpack .../perl-base_5.24.1-7_armhf.deb ...
Unpacking perl-base (5.24.1-7) over (5.24.1-4) ...
Setting up perl-base (5.24.1-7) ...
(Reading database ... 12681 files and directories currently installed.)
Preparing to unpack .../perl-modules-5.24_5.24.1-7_all.deb ...
Unpacking perl-modules-5.24 (5.24.1-7) over (5.24.1-4) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../groff-base_1.22.3-9_armhf.deb ...
Unpacking groff-base (1.22.3-9) ...
Selecting previously unselected package libbsd0:armhf.
Preparing to unpack .../libbsd0_0.8.5-1_armhf.deb ...
Unpacking libbsd0:armhf (0.8.5-1) ...
Preparing to unpack .../libncurses5_6.0+20170708-1_armhf.deb ...
Unpacking libncurses5:armhf (6.0+20170708-1) over (6.0+20161126-1) ...
Preparing to unpack .../libtinfo5_6.0+20170708-1_armhf.deb ...
Unpacking libtinfo5:armhf (6.0+20170708-1) over (6.0+20161126-1) ...
Setting up libtinfo5:armhf (6.0+20170708-1) ...
(Reading database ... 12873 files and directories currently installed.)
Preparing to unpack .../libncursesw5_6.0+20170708-1_armhf.deb ...
Unpacking libncursesw5:armhf (6.0+20170708-1) over (6.0+20161126-1) ...
Setting up libncursesw5:armhf (6.0+20170708-1) ...
Selecting previously unselected package bsdmainutils.
(Reading database ... 12873 files and directories currently installed.)
Preparing to unpack .../00-bsdmainutils_9.0.12+nmu1_armhf.deb ...
Unpacking bsdmainutils (9.0.12+nmu1) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../01-libpipeline1_1.4.1-2_armhf.deb ...
Unpacking libpipeline1:armhf (1.4.1-2) ...
Selecting previously unselected package man-db.
Preparing to unpack .../02-man-db_2.7.6.1-2_armhf.deb ...
Unpacking man-db (2.7.6.1-2) ...
Selecting previously unselected package libexpat1:armhf.
Preparing to unpack .../03-libexpat1_2.2.1-3_armhf.deb ...
Unpacking libexpat1:armhf (2.2.1-3) ...
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack .../04-libfreetype6_2.8-0.2_armhf.deb ...
Unpacking libfreetype6:armhf (2.8-0.2) ...
Selecting previously unselected package ucf.
Preparing to unpack .../05-ucf_3.0036_all.deb ...
Moving old data out of the way
Unpacking ucf (3.0036) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../06-fonts-dejavu-core_2.37-1_all.deb ...
Unpacking fonts-dejavu-core (2.37-1) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../07-fontconfig-config_2.12.3-0.2_all.deb ...
Unpacking fontconfig-config (2.12.3-0.2) ...
Selecting previously unselected package libfontconfig1:armhf.
Preparing to unpack .../08-libfontconfig1_2.12.3-0.2_armhf.deb ...
Unpacking libfontconfig1:armhf (2.12.3-0.2) ...
Selecting previously unselected package fontconfig.
Preparing to unpack .../09-fontconfig_2.12.3-0.2_armhf.deb ...
Unpacking fontconfig (2.12.3-0.2) ...
Selecting previously unselected package libjbig0:armhf.
Preparing to unpack .../10-libjbig0_2.1-3.1_armhf.deb ...
Unpacking libjbig0:armhf (2.1-3.1) ...
Selecting previously unselected package liblzo2-2:armhf.
Preparing to unpack .../11-liblzo2-2_2.08-1.2_armhf.deb ...
Unpacking liblzo2-2:armhf (2.08-1.2) ...
Selecting previously unselected package libpcrecpp0v5:armhf.
Preparing to unpack .../12-libpcrecpp0v5_2%3a8.39-3_armhf.deb ...
Unpacking libpcrecpp0v5:armhf (2:8.39-3) ...
Selecting previously unselected package libxau6:armhf.
Preparing to unpack .../13-libxau6_1%3a1.0.8-1_armhf.deb ...
Unpacking libxau6:armhf (1:1.0.8-1) ...
Selecting previously unselected package libxdmcp6:armhf.
Preparing to unpack .../14-libxdmcp6_1%3a1.1.2-3_armhf.deb ...
Unpacking libxdmcp6:armhf (1:1.1.2-3) ...
Selecting previously unselected package libxcb1:armhf.
Preparing to unpack .../15-libxcb1_1.12-1_armhf.deb ...
Unpacking libxcb1:armhf (1.12-1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../16-libx11-data_2%3a1.6.4-3_all.deb ...
Unpacking libx11-data (2:1.6.4-3) ...
Selecting previously unselected package libx11-6:armhf.
Preparing to unpack .../17-libx11-6_2%3a1.6.4-3_armhf.deb ...
Unpacking libx11-6:armhf (2:1.6.4-3) ...
Selecting previously unselected package libxext6:armhf.
Preparing to unpack .../18-libxext6_2%3a1.3.3-1_armhf.deb ...
Unpacking libxext6:armhf (2:1.3.3-1) ...
Selecting previously unselected package libxrender1:armhf.
Preparing to unpack .../19-libxrender1_1%3a0.9.10-1_armhf.deb ...
Unpacking libxrender1:armhf (1:0.9.10-1) ...
Selecting previously unselected package libxft2:armhf.
Preparing to unpack .../20-libxft2_2.3.2-1_armhf.deb ...
Unpacking libxft2:armhf (2.3.2-1) ...
Selecting previously unselected package libssl1.1:armhf.
Preparing to unpack .../21-libssl1.1_1.1.0f-3_armhf.deb ...
Unpacking libssl1.1:armhf (1.1.0f-3) ...
Selecting previously unselected package libpython3.5-minimal:armhf.
Preparing to unpack .../22-libpython3.5-minimal_3.5.3-3_armhf.deb ...
Unpacking libpython3.5-minimal:armhf (3.5.3-3) ...
Selecting previously unselected package python3.5-minimal.
Preparing to unpack .../23-python3.5-minimal_3.5.3-3_armhf.deb ...
Unpacking python3.5-minimal (3.5.3-3) ...
Selecting previously unselected package python3-minimal.
Preparing to unpack .../24-python3-minimal_3.5.3-3_armhf.deb ...
Unpacking python3-minimal (3.5.3-3) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../25-mime-support_3.60_all.deb ...
Unpacking mime-support (3.60) ...
Selecting previously unselected package libmpdec2:armhf.
Preparing to unpack .../26-libmpdec2_2.4.2-1_armhf.deb ...
Unpacking libmpdec2:armhf (2.4.2-1) ...
Selecting previously unselected package libpython3.5-stdlib:armhf.
Preparing to unpack .../27-libpython3.5-stdlib_3.5.3-3_armhf.deb ...
Unpacking libpython3.5-stdlib:armhf (3.5.3-3) ...
Selecting previously unselected package python3.5.
Preparing to unpack .../28-python3.5_3.5.3-3_armhf.deb ...
Unpacking python3.5 (3.5.3-3) ...
Selecting previously unselected package libpython3-stdlib:armhf.
Preparing to unpack .../29-libpython3-stdlib_3.5.3-3_armhf.deb ...
Unpacking libpython3-stdlib:armhf (3.5.3-3) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../30-dh-python_2.20170125_all.deb ...
Unpacking dh-python (2.20170125) ...
Setting up libssl1.1:armhf (1.1.0f-3) ...
Setting up libpython3.5-minimal:armhf (3.5.3-3) ...
Setting up libexpat1:armhf (2.2.1-3) ...
Setting up python3.5-minimal (3.5.3-3) ...
Setting up python3-minimal (3.5.3-3) ...
Selecting previously unselected package python3.
(Reading database ... 14717 files and directories currently installed.)
Preparing to unpack .../000-python3_3.5.3-3_armhf.deb ...
Unpacking python3 (3.5.3-3) ...
Selecting previously unselected package libreadline6:armhf.
Preparing to unpack .../001-libreadline6_6.3-9_armhf.deb ...
Unpacking libreadline6:armhf (6.3-9) ...
Selecting previously unselected package libssl1.0.2:armhf.
Preparing to unpack .../002-libssl1.0.2_1.0.2l-2_armhf.deb ...
Unpacking libssl1.0.2:armhf (1.0.2l-2) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../003-libmagic-mgc_1%3a5.30-1_armhf.deb ...
Unpacking libmagic-mgc (1:5.30-1) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../004-libmagic1_1%3a5.30-1_armhf.deb ...
Unpacking libmagic1:armhf (1:5.30-1) ...
Selecting previously unselected package file.
Preparing to unpack .../005-file_1%3a5.30-1_armhf.deb ...
Unpacking file (1:5.30-1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../006-gettext-base_0.19.8.1-2+b1_armhf.deb ...
Unpacking gettext-base (0.19.8.1-2+b1) ...
Selecting previously unselected package libnettle6:armhf.
Preparing to unpack .../007-libnettle6_3.3-1_armhf.deb ...
Unpacking libnettle6:armhf (3.3-1) ...
Selecting previously unselected package libhogweed4:armhf.
Preparing to unpack .../008-libhogweed4_3.3-1_armhf.deb ...
Unpacking libhogweed4:armhf (3.3-1) ...
Selecting previously unselected package libunistring2:armhf.
Preparing to unpack .../009-libunistring2_0.9.7-2_armhf.deb ...
Unpacking libunistring2:armhf (0.9.7-2) ...
Selecting previously unselected package libidn2-0:armhf.
Preparing to unpack .../010-libidn2-0_0.16-1+b1_armhf.deb ...
Unpacking libidn2-0:armhf (0.16-1+b1) ...
Selecting previously unselected package libffi6:armhf.
Preparing to unpack .../011-libffi6_3.2.1-6_armhf.deb ...
Unpacking libffi6:armhf (3.2.1-6) ...
Selecting previously unselected package libp11-kit0:armhf.
Preparing to unpack .../012-libp11-kit0_0.23.3-5_armhf.deb ...
Unpacking libp11-kit0:armhf (0.23.3-5) ...
Selecting previously unselected package libtasn1-6:armhf.
Preparing to unpack .../013-libtasn1-6_4.12-2_armhf.deb ...
Unpacking libtasn1-6:armhf (4.12-2) ...
Selecting previously unselected package libgnutls30:armhf.
Preparing to unpack .../014-libgnutls30_3.5.13-2_armhf.deb ...
Unpacking libgnutls30:armhf (3.5.13-2) ...
Selecting previously unselected package libgpm2:armhf.
Preparing to unpack .../015-libgpm2_1.20.4-6.2_armhf.deb ...
Unpacking libgpm2:armhf (1.20.4-6.2) ...
Selecting previously unselected package libkeyutils1:armhf.
Preparing to unpack .../016-libkeyutils1_1.5.9-9_armhf.deb ...
Unpacking libkeyutils1:armhf (1.5.9-9) ...
Selecting previously unselected package libkrb5support0:armhf.
Preparing to unpack .../017-libkrb5support0_1.15-1_armhf.deb ...
Unpacking libkrb5support0:armhf (1.15-1) ...
Selecting previously unselected package libk5crypto3:armhf.
Preparing to unpack .../018-libk5crypto3_1.15-1_armhf.deb ...
Unpacking libk5crypto3:armhf (1.15-1) ...
Selecting previously unselected package libkrb5-3:armhf.
Preparing to unpack .../019-libkrb5-3_1.15-1_armhf.deb ...
Unpacking libkrb5-3:armhf (1.15-1) ...
Selecting previously unselected package libgssapi-krb5-2:armhf.
Preparing to unpack .../020-libgssapi-krb5-2_1.15-1_armhf.deb ...
Unpacking libgssapi-krb5-2:armhf (1.15-1) ...
Selecting previously unselected package libicu57:armhf.
Preparing to unpack .../021-libicu57_57.1-6_armhf.deb ...
Unpacking libicu57:armhf (57.1-6) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../022-libxml2_2.9.4+dfsg1-3_armhf.deb ...
Unpacking libxml2:armhf (2.9.4+dfsg1-3) ...
Selecting previously unselected package hicolor-icon-theme.
Preparing to unpack .../023-hicolor-icon-theme_0.15-1_all.deb ...
Unpacking hicolor-icon-theme (0.15-1) ...
Selecting previously unselected package libglib2.0-0:armhf.
Preparing to unpack .../024-libglib2.0-0_2.52.3-1_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.52.3-1) ...
Selecting previously unselected package libjpeg62-turbo:armhf.
Preparing to unpack .../025-libjpeg62-turbo_1%3a1.5.1-2_armhf.deb ...
Unpacking libjpeg62-turbo:armhf (1:1.5.1-2) ...
Selecting previously unselected package libtiff5:armhf.
Preparing to unpack .../026-libtiff5_4.0.8-3_armhf.deb ...
Unpacking libtiff5:armhf (4.0.8-3) ...
Selecting previously unselected package shared-mime-info.
Preparing to unpack .../027-shared-mime-info_1.8-1_armhf.deb ...
Unpacking shared-mime-info (1.8-1) ...
Selecting previously unselected package libgdk-pixbuf2.0-common.
Preparing to unpack .../028-libgdk-pixbuf2.0-common_2.36.5-2_all.deb ...
Unpacking libgdk-pixbuf2.0-common (2.36.5-2) ...
Selecting previously unselected package libgdk-pixbuf2.0-0:armhf.
Preparing to unpack .../029-libgdk-pixbuf2.0-0_2.36.5-2_armhf.deb ...
Unpacking libgdk-pixbuf2.0-0:armhf (2.36.5-2) ...
Selecting previously unselected package gtk-update-icon-cache.
Preparing to unpack .../030-gtk-update-icon-cache_3.22.16-1+rpi1_armhf.deb ...
No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed.
No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed.
Unpacking gtk-update-icon-cache (3.22.16-1+rpi1) ...
Selecting previously unselected package libpixman-1-0:armhf.
Preparing to unpack .../031-libpixman-1-0_0.34.0-1_armhf.deb ...
Unpacking libpixman-1-0:armhf (0.34.0-1) ...
Selecting previously unselected package libxcb-render0:armhf.
Preparing to unpack .../032-libxcb-render0_1.12-1_armhf.deb ...
Unpacking libxcb-render0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-shm0:armhf.
Preparing to unpack .../033-libxcb-shm0_1.12-1_armhf.deb ...
Unpacking libxcb-shm0:armhf (1.12-1) ...
Selecting previously unselected package libcairo2:armhf.
Preparing to unpack .../034-libcairo2_1.14.10-1_armhf.deb ...
Unpacking libcairo2:armhf (1.14.10-1) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../035-libcroco3_0.6.12-1_armhf.deb ...
Unpacking libcroco3:armhf (0.6.12-1) ...
Selecting previously unselected package libthai-data.
Preparing to unpack .../036-libthai-data_0.1.26-1_all.deb ...
Unpacking libthai-data (0.1.26-1) ...
Selecting previously unselected package libdatrie1:armhf.
Preparing to unpack .../037-libdatrie1_0.2.10-4_armhf.deb ...
Unpacking libdatrie1:armhf (0.2.10-4) ...
Selecting previously unselected package libthai0:armhf.
Preparing to unpack .../038-libthai0_0.1.26-1_armhf.deb ...
Unpacking libthai0:armhf (0.1.26-1) ...
Selecting previously unselected package libpango-1.0-0:armhf.
Preparing to unpack .../039-libpango-1.0-0_1.40.6-1_armhf.deb ...
Unpacking libpango-1.0-0:armhf (1.40.6-1) ...
Selecting previously unselected package libgraphite2-3:armhf.
Preparing to unpack .../040-libgraphite2-3_1.3.10-2_armhf.deb ...
Unpacking libgraphite2-3:armhf (1.3.10-2) ...
Selecting previously unselected package libharfbuzz0b:armhf.
Preparing to unpack .../041-libharfbuzz0b_1.4.2-1_armhf.deb ...
Unpacking libharfbuzz0b:armhf (1.4.2-1) ...
Selecting previously unselected package libpangoft2-1.0-0:armhf.
Preparing to unpack .../042-libpangoft2-1.0-0_1.40.6-1_armhf.deb ...
Unpacking libpangoft2-1.0-0:armhf (1.40.6-1) ...
Selecting previously unselected package libpangocairo-1.0-0:armhf.
Preparing to unpack .../043-libpangocairo-1.0-0_1.40.6-1_armhf.deb ...
Unpacking libpangocairo-1.0-0:armhf (1.40.6-1) ...
Selecting previously unselected package librsvg2-2:armhf.
Preparing to unpack .../044-librsvg2-2_2.40.16-1_armhf.deb ...
Unpacking librsvg2-2:armhf (2.40.16-1) ...
Selecting previously unselected package librsvg2-common:armhf.
Preparing to unpack .../045-librsvg2-common_2.40.16-1_armhf.deb ...
Unpacking librsvg2-common:armhf (2.40.16-1) ...
Selecting previously unselected package adwaita-icon-theme.
Preparing to unpack .../046-adwaita-icon-theme_3.24.0-1_all.deb ...
Unpacking adwaita-icon-theme (3.24.0-1) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../047-libsigsegv2_2.11-1_armhf.deb ...
Unpacking libsigsegv2:armhf (2.11-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../048-m4_1.4.18-1_armhf.deb ...
Unpacking m4 (1.4.18-1) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../049-autoconf_2.69-10_all.deb ...
Unpacking autoconf (2.69-10) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../050-autotools-dev_20161112.1_all.deb ...
Unpacking autotools-dev (20161112.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../051-automake_1%3a1.15.1-2_all.deb ...
Unpacking automake (1:1.15.1-2) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../052-autopoint_0.19.8.1-2_all.deb ...
Unpacking autopoint (0.19.8.1-2) ...
Selecting previously unselected package openssl.
Preparing to unpack .../053-openssl_1.1.0f-3_armhf.deb ...
Unpacking openssl (1.1.0f-3) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../054-ca-certificates_20161130+nmu1_all.deb ...
Unpacking ca-certificates (20161130+nmu1) ...
Selecting previously unselected package libdconf1:armhf.
Preparing to unpack .../055-libdconf1_0.26.0-2_armhf.deb ...
Unpacking libdconf1:armhf (0.26.0-2) ...
Selecting previously unselected package dconf-service.
Preparing to unpack .../056-dconf-service_0.26.0-2_armhf.deb ...
Unpacking dconf-service (0.26.0-2) ...
Selecting previously unselected package dconf-gsettings-backend:armhf.
Preparing to unpack .../057-dconf-gsettings-backend_0.26.0-2_armhf.deb ...
Unpacking dconf-gsettings-backend:armhf (0.26.0-2) ...
Selecting previously unselected package libtool.
Preparing to unpack .../058-libtool_2.4.6-2_all.deb ...
Unpacking libtool (2.4.6-2) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../059-dh-autoreconf_14_all.deb ...
Unpacking dh-autoreconf (14) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../060-libarchive-zip-perl_1.59-1_all.deb ...
Unpacking libarchive-zip-perl (1.59-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../061-libfile-stripnondeterminism-perl_0.035-2_all.deb ...
Unpacking libfile-stripnondeterminism-perl (0.035-2) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../062-libtimedate-perl_2.3000-2_all.deb ...
Unpacking libtimedate-perl (2.3000-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../063-dh-strip-nondeterminism_0.035-2_all.deb ...
Unpacking dh-strip-nondeterminism (0.035-2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../064-gettext_0.19.8.1-2+b1_armhf.deb ...
Unpacking gettext (0.19.8.1-2+b1) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../065-intltool-debian_0.35.0+20060710.4_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.4) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../066-po-debconf_1.0.20_all.deb ...
Unpacking po-debconf (1.0.20) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../067-debhelper_10.2.5_all.deb ...
Unpacking debhelper (10.2.5) ...
Selecting previously unselected package libgirepository-1.0-1:armhf.
Preparing to unpack .../068-libgirepository-1.0-1_1.50.0-1_armhf.deb ...
Unpacking libgirepository-1.0-1:armhf (1.50.0-1) ...
Selecting previously unselected package gir1.2-glib-2.0:armhf.
Preparing to unpack .../069-gir1.2-glib-2.0_1.50.0-1_armhf.deb ...
Unpacking gir1.2-glib-2.0:armhf (1.50.0-1) ...
Selecting previously unselected package libatk1.0-data.
Preparing to unpack .../070-libatk1.0-data_2.22.0-1_all.deb ...
Unpacking libatk1.0-data (2.22.0-1) ...
Selecting previously unselected package libatk1.0-0:armhf.
Preparing to unpack .../071-libatk1.0-0_2.22.0-1_armhf.deb ...
Unpacking libatk1.0-0:armhf (2.22.0-1) ...
Selecting previously unselected package gir1.2-atk-1.0:armhf.
Preparing to unpack .../072-gir1.2-atk-1.0_2.22.0-1_armhf.deb ...
Unpacking gir1.2-atk-1.0:armhf (2.22.0-1) ...
Preparing to unpack .../073-libdbus-1-3_1.10.20-1_armhf.deb ...
Unpacking libdbus-1-3:armhf (1.10.20-1) over (1.10.18-1) ...
Selecting previously unselected package libatspi2.0-0:armhf.
Preparing to unpack .../074-libatspi2.0-0_2.24.1-1_armhf.deb ...
Unpacking libatspi2.0-0:armhf (2.24.1-1) ...
Selecting previously unselected package gir1.2-atspi-2.0:armhf.
Preparing to unpack .../075-gir1.2-atspi-2.0_2.24.1-1_armhf.deb ...
Unpacking gir1.2-atspi-2.0:armhf (2.24.1-1) ...
Selecting previously unselected package libcairo-gobject2:armhf.
Preparing to unpack .../076-libcairo-gobject2_1.14.10-1_armhf.deb ...
Unpacking libcairo-gobject2:armhf (1.14.10-1) ...
Selecting previously unselected package gir1.2-freedesktop:armhf.
Preparing to unpack .../077-gir1.2-freedesktop_1.50.0-1_armhf.deb ...
Unpacking gir1.2-freedesktop:armhf (1.50.0-1) ...
Selecting previously unselected package gir1.2-gdkpixbuf-2.0:armhf.
Preparing to unpack .../078-gir1.2-gdkpixbuf-2.0_2.36.5-2_armhf.deb ...
Unpacking gir1.2-gdkpixbuf-2.0:armhf (2.36.5-2) ...
Selecting previously unselected package libgtk2.0-common.
Preparing to unpack .../079-libgtk2.0-common_2.24.31-2_all.deb ...
Unpacking libgtk2.0-common (2.24.31-2) ...
Selecting previously unselected package libpangoxft-1.0-0:armhf.
Preparing to unpack .../080-libpangoxft-1.0-0_1.40.6-1_armhf.deb ...
Unpacking libpangoxft-1.0-0:armhf (1.40.6-1) ...
Selecting previously unselected package gir1.2-pango-1.0:armhf.
Preparing to unpack .../081-gir1.2-pango-1.0_1.40.6-1_armhf.deb ...
Unpacking gir1.2-pango-1.0:armhf (1.40.6-1) ...
Selecting previously unselected package libavahi-common-data:armhf.
Preparing to unpack .../082-libavahi-common-data_0.6.32-2_armhf.deb ...
Unpacking libavahi-common-data:armhf (0.6.32-2) ...
Selecting previously unselected package libavahi-common3:armhf.
Preparing to unpack .../083-libavahi-common3_0.6.32-2_armhf.deb ...
Unpacking libavahi-common3:armhf (0.6.32-2) ...
Selecting previously unselected package libavahi-client3:armhf.
Preparing to unpack .../084-libavahi-client3_0.6.32-2_armhf.deb ...
Unpacking libavahi-client3:armhf (0.6.32-2) ...
Selecting previously unselected package libcups2:armhf.
Preparing to unpack .../085-libcups2_2.2.3-2+rpi1_armhf.deb ...
Unpacking libcups2:armhf (2.2.3-2+rpi1) ...
Selecting previously unselected package libxcomposite1:armhf.
Preparing to unpack .../086-libxcomposite1_1%3a0.4.4-2_armhf.deb ...
Unpacking libxcomposite1:armhf (1:0.4.4-2) ...
Selecting previously unselected package libxfixes3:armhf.
Preparing to unpack .../087-libxfixes3_1%3a5.0.3-1_armhf.deb ...
Unpacking libxfixes3:armhf (1:5.0.3-1) ...
Selecting previously unselected package libxcursor1:armhf.
Preparing to unpack .../088-libxcursor1_1%3a1.1.14-1+b1_armhf.deb ...
Unpacking libxcursor1:armhf (1:1.1.14-1+b1) ...
Selecting previously unselected package libxdamage1:armhf.
Preparing to unpack .../089-libxdamage1_1%3a1.1.4-2+b1_armhf.deb ...
Unpacking libxdamage1:armhf (1:1.1.4-2+b1) ...
Selecting previously unselected package libxi6:armhf.
Preparing to unpack .../090-libxi6_2%3a1.7.9-1_armhf.deb ...
Unpacking libxi6:armhf (2:1.7.9-1) ...
Selecting previously unselected package libxinerama1:armhf.
Preparing to unpack .../091-libxinerama1_2%3a1.1.3-1+b1_armhf.deb ...
Unpacking libxinerama1:armhf (2:1.1.3-1+b1) ...
Selecting previously unselected package libxrandr2:armhf.
Preparing to unpack .../092-libxrandr2_2%3a1.5.1-1_armhf.deb ...
Unpacking libxrandr2:armhf (2:1.5.1-1) ...
Selecting previously unselected package libgtk2.0-0:armhf.
Preparing to unpack .../093-libgtk2.0-0_2.24.31-2_armhf.deb ...
Unpacking libgtk2.0-0:armhf (2.24.31-2) ...
Selecting previously unselected package gir1.2-gtk-2.0.
Preparing to unpack .../094-gir1.2-gtk-2.0_2.24.31-2_armhf.deb ...
Unpacking gir1.2-gtk-2.0 (2.24.31-2) ...
Selecting previously unselected package libgtk-3-common.
Preparing to unpack .../095-libgtk-3-common_3.22.16-1+rpi1_all.deb ...
Unpacking libgtk-3-common (3.22.16-1+rpi1) ...
Selecting previously unselected package libatk-bridge2.0-0:armhf.
Preparing to unpack .../096-libatk-bridge2.0-0_2.24.1-1_armhf.deb ...
Unpacking libatk-bridge2.0-0:armhf (2.24.1-1) ...
Selecting previously unselected package liblcms2-2:armhf.
Preparing to unpack .../097-liblcms2-2_2.8-4_armhf.deb ...
Unpacking liblcms2-2:armhf (2.8-4) ...
Selecting previously unselected package libcolord2:armhf.
Preparing to unpack .../098-libcolord2_1.3.3-2_armhf.deb ...
Unpacking libcolord2:armhf (1.3.3-2) ...
Selecting previously unselected package libepoxy0:armhf.
Preparing to unpack .../099-libepoxy0_1.3.1-3_armhf.deb ...
Unpacking libepoxy0:armhf (1.3.1-3) ...
Selecting previously unselected package libjson-glib-1.0-common.
Preparing to unpack .../100-libjson-glib-1.0-common_1.2.8-1_all.deb ...
Unpacking libjson-glib-1.0-common (1.2.8-1) ...
Selecting previously unselected package libjson-glib-1.0-0:armhf.
Preparing to unpack .../101-libjson-glib-1.0-0_1.2.8-1_armhf.deb ...
Unpacking libjson-glib-1.0-0:armhf (1.2.8-1) ...
Selecting previously unselected package libproxy1v5:armhf.
Preparing to unpack .../102-libproxy1v5_0.4.14-3_armhf.deb ...
Unpacking libproxy1v5:armhf (0.4.14-3) ...
Selecting previously unselected package glib-networking-common.
Preparing to unpack .../103-glib-networking-common_2.50.0-1_all.deb ...
Unpacking glib-networking-common (2.50.0-1) ...
Selecting previously unselected package glib-networking-services.
Preparing to unpack .../104-glib-networking-services_2.50.0-1_armhf.deb ...
Unpacking glib-networking-services (2.50.0-1) ...
Selecting previously unselected package gsettings-desktop-schemas.
Preparing to unpack .../105-gsettings-desktop-schemas_3.22.0-1_all.deb ...
Unpacking gsettings-desktop-schemas (3.22.0-1) ...
Selecting previously unselected package glib-networking:armhf.
Preparing to unpack .../106-glib-networking_2.50.0-1_armhf.deb ...
Unpacking glib-networking:armhf (2.50.0-1) ...
Selecting previously unselected package libsoup2.4-1:armhf.
Preparing to unpack .../107-libsoup2.4-1_2.56.0-2_armhf.deb ...
Unpacking libsoup2.4-1:armhf (2.56.0-2) ...
Selecting previously unselected package libsoup-gnome2.4-1:armhf.
Preparing to unpack .../108-libsoup-gnome2.4-1_2.56.0-2_armhf.deb ...
Unpacking libsoup-gnome2.4-1:armhf (2.56.0-2) ...
Selecting previously unselected package librest-0.7-0:armhf.
Preparing to unpack .../109-librest-0.7-0_0.8.0-2_armhf.deb ...
Unpacking librest-0.7-0:armhf (0.8.0-2) ...
Selecting previously unselected package libgtk-3-0:armhf.
Preparing to unpack .../110-libgtk-3-0_3.22.16-1+rpi1_armhf.deb ...
Unpacking libgtk-3-0:armhf (3.22.16-1+rpi1) ...
Selecting previously unselected package gir1.2-gtk-3.0:armhf.
Preparing to unpack .../111-gir1.2-gtk-3.0_3.22.16-1+rpi1_armhf.deb ...
Unpacking gir1.2-gtk-3.0:armhf (3.22.16-1+rpi1) ...
Selecting previously unselected package icu-devtools.
Preparing to unpack .../112-icu-devtools_57.1-6_armhf.deb ...
Unpacking icu-devtools (57.1-6) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../113-libelf1_0.168-1_armhf.deb ...
Unpacking libelf1:armhf (0.168-1) ...
Selecting previously unselected package libglib2.0-data.
Preparing to unpack .../114-libglib2.0-data_2.52.3-1_all.deb ...
Unpacking libglib2.0-data (2.52.3-1) ...
Selecting previously unselected package libglib2.0-bin.
Preparing to unpack .../115-libglib2.0-bin_2.52.3-1_armhf.deb ...
Unpacking libglib2.0-bin (2.52.3-1) ...
Selecting previously unselected package libpcre16-3:armhf.
Preparing to unpack .../116-libpcre16-3_2%3a8.39-3_armhf.deb ...
Unpacking libpcre16-3:armhf (2:8.39-3) ...
Selecting previously unselected package libpcre32-3:armhf.
Preparing to unpack .../117-libpcre32-3_2%3a8.39-3_armhf.deb ...
Unpacking libpcre32-3:armhf (2:8.39-3) ...
Selecting previously unselected package libpcre3-dev:armhf.
Preparing to unpack .../118-libpcre3-dev_2%3a8.39-3_armhf.deb ...
Unpacking libpcre3-dev:armhf (2:8.39-3) ...
Selecting previously unselected package pkg-config.
Preparing to unpack .../119-pkg-config_0.29-4_armhf.deb ...
Unpacking pkg-config (0.29-4) ...
Selecting previously unselected package zlib1g-dev:armhf.
Preparing to unpack .../120-zlib1g-dev_1%3a1.2.8.dfsg-5_armhf.deb ...
Unpacking zlib1g-dev:armhf (1:1.2.8.dfsg-5) ...
Selecting previously unselected package libglib2.0-dev.
Preparing to unpack .../121-libglib2.0-dev_2.52.3-1_armhf.deb ...
Unpacking libglib2.0-dev (2.52.3-1) ...
Selecting previously unselected package libdbus-1-dev:armhf.
Preparing to unpack .../122-libdbus-1-dev_1.10.20-1_armhf.deb ...
Unpacking libdbus-1-dev:armhf (1.10.20-1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../123-x11-common_1%3a7.7+19_all.deb ...
Unpacking x11-common (1:7.7+19) ...
Selecting previously unselected package libxtst6:armhf.
Preparing to unpack .../124-libxtst6_2%3a1.2.3-1_armhf.deb ...
Unpacking libxtst6:armhf (2:1.2.3-1) ...
Selecting previously unselected package xorg-sgml-doctools.
Preparing to unpack .../125-xorg-sgml-doctools_1%3a1.11-1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1) ...
Selecting previously unselected package x11proto-core-dev.
Preparing to unpack .../126-x11proto-core-dev_7.0.31-1_all.deb ...
Unpacking x11proto-core-dev (7.0.31-1) ...
Selecting previously unselected package libxau-dev:armhf.
Preparing to unpack .../127-libxau-dev_1%3a1.0.8-1_armhf.deb ...
Unpacking libxau-dev:armhf (1:1.0.8-1) ...
Selecting previously unselected package libxdmcp-dev:armhf.
Preparing to unpack .../128-libxdmcp-dev_1%3a1.1.2-3_armhf.deb ...
Unpacking libxdmcp-dev:armhf (1:1.1.2-3) ...
Selecting previously unselected package x11proto-input-dev.
Preparing to unpack .../129-x11proto-input-dev_2.3.2-1_all.deb ...
Unpacking x11proto-input-dev (2.3.2-1) ...
Selecting previously unselected package x11proto-kb-dev.
Preparing to unpack .../130-x11proto-kb-dev_1.0.7-1_all.deb ...
Unpacking x11proto-kb-dev (1.0.7-1) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../131-xtrans-dev_1.3.5-1_all.deb ...
Unpacking xtrans-dev (1.3.5-1) ...
Selecting previously unselected package libpthread-stubs0-dev:armhf.
Preparing to unpack .../132-libpthread-stubs0-dev_0.3-4_armhf.deb ...
Unpacking libpthread-stubs0-dev:armhf (0.3-4) ...
Selecting previously unselected package libxcb1-dev:armhf.
Preparing to unpack .../133-libxcb1-dev_1.12-1_armhf.deb ...
Unpacking libxcb1-dev:armhf (1.12-1) ...
Selecting previously unselected package libx11-dev:armhf.
Preparing to unpack .../134-libx11-dev_2%3a1.6.4-3_armhf.deb ...
Unpacking libx11-dev:armhf (2:1.6.4-3) ...
Selecting previously unselected package x11proto-xext-dev.
Preparing to unpack .../135-x11proto-xext-dev_7.3.0-1_all.deb ...
Unpacking x11proto-xext-dev (7.3.0-1) ...
Selecting previously unselected package libxext-dev:armhf.
Preparing to unpack .../136-libxext-dev_2%3a1.3.3-1_armhf.deb ...
Unpacking libxext-dev:armhf (2:1.3.3-1) ...
Selecting previously unselected package x11proto-fixes-dev.
Preparing to unpack .../137-x11proto-fixes-dev_1%3a5.0-2_all.deb ...
Unpacking x11proto-fixes-dev (1:5.0-2) ...
Selecting previously unselected package libxfixes-dev:armhf.
Preparing to unpack .../138-libxfixes-dev_1%3a5.0.3-1_armhf.deb ...
Unpacking libxfixes-dev:armhf (1:5.0.3-1) ...
Selecting previously unselected package libxi-dev:armhf.
Preparing to unpack .../139-libxi-dev_2%3a1.7.9-1_armhf.deb ...
Unpacking libxi-dev:armhf (2:1.7.9-1) ...
Selecting previously unselected package x11proto-record-dev.
Preparing to unpack .../140-x11proto-record-dev_1.14.2-1_all.deb ...
Unpacking x11proto-record-dev (1.14.2-1) ...
Selecting previously unselected package libxtst-dev:armhf.
Preparing to unpack .../141-libxtst-dev_2%3a1.2.3-1_armhf.deb ...
Unpacking libxtst-dev:armhf (2:1.2.3-1) ...
Selecting previously unselected package libatspi2.0-dev:armhf.
Preparing to unpack .../142-libatspi2.0-dev_2.24.1-1_armhf.deb ...
Unpacking libatspi2.0-dev:armhf (2.24.1-1) ...
Selecting previously unselected package libatk-bridge2.0-dev:armhf.
Preparing to unpack .../143-libatk-bridge2.0-dev_2.24.1-1_armhf.deb ...
Unpacking libatk-bridge2.0-dev:armhf (2.24.1-1) ...
Selecting previously unselected package libatk1.0-dev:armhf.
Preparing to unpack .../144-libatk1.0-dev_2.22.0-1_armhf.deb ...
Unpacking libatk1.0-dev:armhf (2.22.0-1) ...
Selecting previously unselected package libcairo-script-interpreter2:armhf.
Preparing to unpack .../145-libcairo-script-interpreter2_1.14.10-1_armhf.deb ...
Unpacking libcairo-script-interpreter2:armhf (1.14.10-1) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../146-libexpat1-dev_2.2.1-3_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.2.1-3) ...
Selecting previously unselected package libpng-dev:armhf.
Preparing to unpack .../147-libpng-dev_1.6.29-3_armhf.deb ...
Unpacking libpng-dev:armhf (1.6.29-3) ...
Selecting previously unselected package libfreetype6-dev.
Preparing to unpack .../148-libfreetype6-dev_2.8-0.2_armhf.deb ...
Unpacking libfreetype6-dev (2.8-0.2) ...
Selecting previously unselected package libfontconfig1-dev:armhf.
Preparing to unpack .../149-libfontconfig1-dev_2.12.3-0.2_armhf.deb ...
Unpacking libfontconfig1-dev:armhf (2.12.3-0.2) ...
Selecting previously unselected package x11proto-render-dev.
Preparing to unpack .../150-x11proto-render-dev_2%3a0.11.1-2_all.deb ...
Unpacking x11proto-render-dev (2:0.11.1-2) ...
Selecting previously unselected package libxrender-dev:armhf.
Preparing to unpack .../151-libxrender-dev_1%3a0.9.10-1_armhf.deb ...
Unpacking libxrender-dev:armhf (1:0.9.10-1) ...
Selecting previously unselected package libice6:armhf.
Preparing to unpack .../152-libice6_2%3a1.0.9-2_armhf.deb ...
Unpacking libice6:armhf (2:1.0.9-2) ...
Selecting previously unselected package libsm6:armhf.
Preparing to unpack .../153-libsm6_2%3a1.2.2-1+b1_armhf.deb ...
Unpacking libsm6:armhf (2:1.2.2-1+b1) ...
Selecting previously unselected package libice-dev:armhf.
Preparing to unpack .../154-libice-dev_2%3a1.0.9-2_armhf.deb ...
Unpacking libice-dev:armhf (2:1.0.9-2) ...
Selecting previously unselected package libsm-dev:armhf.
Preparing to unpack .../155-libsm-dev_2%3a1.2.2-1+b1_armhf.deb ...
Unpacking libsm-dev:armhf (2:1.2.2-1+b1) ...
Selecting previously unselected package libpixman-1-dev.
Preparing to unpack .../156-libpixman-1-dev_0.34.0-1_armhf.deb ...
Unpacking libpixman-1-dev (0.34.0-1) ...
Selecting previously unselected package libxcb-render0-dev:armhf.
Preparing to unpack .../157-libxcb-render0-dev_1.12-1_armhf.deb ...
Unpacking libxcb-render0-dev:armhf (1.12-1) ...
Selecting previously unselected package libxcb-shm0-dev:armhf.
Preparing to unpack .../158-libxcb-shm0-dev_1.12-1_armhf.deb ...
Unpacking libxcb-shm0-dev:armhf (1.12-1) ...
Selecting previously unselected package libcairo2-dev.
Preparing to unpack .../159-libcairo2-dev_1.14.10-1_armhf.deb ...
Unpacking libcairo2-dev (1.14.10-1) ...
Selecting previously unselected package libepoxy-dev:armhf.
Preparing to unpack .../160-libepoxy-dev_1.3.1-3_armhf.deb ...
Unpacking libepoxy-dev:armhf (1.3.1-3) ...
Selecting previously unselected package libgdk-pixbuf2.0-dev.
Preparing to unpack .../161-libgdk-pixbuf2.0-dev_2.36.5-2_armhf.deb ...
Unpacking libgdk-pixbuf2.0-dev (2.36.5-2) ...
Selecting previously unselected package libgmpxx4ldbl:armhf.
Preparing to unpack .../162-libgmpxx4ldbl_2%3a6.1.2+dfsg-1_armhf.deb ...
Unpacking libgmpxx4ldbl:armhf (2:6.1.2+dfsg-1) ...
Selecting previously unselected package libgmp-dev:armhf.
Preparing to unpack .../163-libgmp-dev_2%3a6.1.2+dfsg-1_armhf.deb ...
Unpacking libgmp-dev:armhf (2:6.1.2+dfsg-1) ...
Selecting previously unselected package libgpm-dev:armhf.
Preparing to unpack .../164-libgpm-dev_1.20.4-6.2_armhf.deb ...
Unpacking libgpm-dev:armhf (1.20.4-6.2) ...
Selecting previously unselected package libgraphite2-dev.
Preparing to unpack .../165-libgraphite2-dev_1.3.10-2_armhf.deb ...
Unpacking libgraphite2-dev (1.3.10-2) ...
Selecting previously unselected package libharfbuzz-icu0:armhf.
Preparing to unpack .../166-libharfbuzz-icu0_1.4.2-1_armhf.deb ...
Unpacking libharfbuzz-icu0:armhf (1.4.2-1) ...
Selecting previously unselected package libharfbuzz-gobject0:armhf.
Preparing to unpack .../167-libharfbuzz-gobject0_1.4.2-1_armhf.deb ...
Unpacking libharfbuzz-gobject0:armhf (1.4.2-1) ...
Selecting previously unselected package libicu-dev.
Preparing to unpack .../168-libicu-dev_57.1-6_armhf.deb ...
Unpacking libicu-dev (57.1-6) ...
Selecting previously unselected package libharfbuzz-dev:armhf.
Preparing to unpack .../169-libharfbuzz-dev_1.4.2-1_armhf.deb ...
Unpacking libharfbuzz-dev:armhf (1.4.2-1) ...
Selecting previously unselected package libxft-dev.
Preparing to unpack .../170-libxft-dev_2.3.2-1_armhf.deb ...
Unpacking libxft-dev (2.3.2-1) ...
Selecting previously unselected package libpango1.0-dev.
Preparing to unpack .../171-libpango1.0-dev_1.40.6-1_armhf.deb ...
Unpacking libpango1.0-dev (1.40.6-1) ...
Selecting previously unselected package x11proto-xinerama-dev.
Preparing to unpack .../172-x11proto-xinerama-dev_1.2.1-2_all.deb ...
Unpacking x11proto-xinerama-dev (1.2.1-2) ...
Selecting previously unselected package libxinerama-dev:armhf.
Preparing to unpack .../173-libxinerama-dev_2%3a1.1.3-1+b1_armhf.deb ...
Unpacking libxinerama-dev:armhf (2:1.1.3-1+b1) ...
Selecting previously unselected package x11proto-randr-dev.
Preparing to unpack .../174-x11proto-randr-dev_1.5.0-1_all.deb ...
Unpacking x11proto-randr-dev (1.5.0-1) ...
Selecting previously unselected package libxrandr-dev:armhf.
Preparing to unpack .../175-libxrandr-dev_2%3a1.5.1-1_armhf.deb ...
Unpacking libxrandr-dev:armhf (2:1.5.1-1) ...
Selecting previously unselected package libxcursor-dev:armhf.
Preparing to unpack .../176-libxcursor-dev_1%3a1.1.14-1+b1_armhf.deb ...
Unpacking libxcursor-dev:armhf (1:1.1.14-1+b1) ...
Selecting previously unselected package x11proto-composite-dev.
Preparing to unpack .../177-x11proto-composite-dev_1%3a0.4.2-2_all.deb ...
Unpacking x11proto-composite-dev (1:0.4.2-2) ...
Selecting previously unselected package libxcomposite-dev:armhf.
Preparing to unpack .../178-libxcomposite-dev_1%3a0.4.4-2_armhf.deb ...
Unpacking libxcomposite-dev:armhf (1:0.4.4-2) ...
Selecting previously unselected package x11proto-damage-dev.
Preparing to unpack .../179-x11proto-damage-dev_1%3a1.2.1-2_all.deb ...
Unpacking x11proto-damage-dev (1:1.2.1-2) ...
Selecting previously unselected package libxdamage-dev:armhf.
Preparing to unpack .../180-libxdamage-dev_1%3a1.1.4-2+b1_armhf.deb ...
Unpacking libxdamage-dev:armhf (1:1.1.4-2+b1) ...
Selecting previously unselected package xkb-data.
Preparing to unpack .../181-xkb-data_2.19-1_all.deb ...
Unpacking xkb-data (2.19-1) ...
Selecting previously unselected package libxkbcommon0:armhf.
Preparing to unpack .../182-libxkbcommon0_0.7.1-1_armhf.deb ...
Unpacking libxkbcommon0:armhf (0.7.1-1) ...
Selecting previously unselected package libxkbcommon-dev.
Preparing to unpack .../183-libxkbcommon-dev_0.7.1-1_armhf.deb ...
Unpacking libxkbcommon-dev (0.7.1-1) ...
Selecting previously unselected package libgtk-3-dev:armhf.
Preparing to unpack .../184-libgtk-3-dev_3.22.16-1+rpi1_armhf.deb ...
Unpacking libgtk-3-dev:armhf (3.22.16-1+rpi1) ...
Selecting previously unselected package libxml2-utils.
Preparing to unpack .../185-libxml2-utils_2.9.4+dfsg1-3_armhf.deb ...
Unpacking libxml2-utils (2.9.4+dfsg1-3) ...
Selecting previously unselected package libgtk2.0-dev.
Preparing to unpack .../186-libgtk2.0-dev_2.24.31-2_armhf.deb ...
Unpacking libgtk2.0-dev (2.24.31-2) ...
Selecting previously unselected package liblua5.2-0:armhf.
Preparing to unpack .../187-liblua5.2-0_5.2.4-1.1_armhf.deb ...
Unpacking liblua5.2-0:armhf (5.2.4-1.1) ...
Selecting previously unselected package libtinfo-dev:armhf.
Preparing to unpack .../188-libtinfo-dev_6.0+20170708-1_armhf.deb ...
Unpacking libtinfo-dev:armhf (6.0+20170708-1) ...
Selecting previously unselected package libreadline-dev:armhf.
Preparing to unpack .../189-libreadline-dev_7.0-3_armhf.deb ...
Unpacking libreadline-dev:armhf (7.0-3) ...
Selecting previously unselected package liblua5.2-dev:armhf.
Preparing to unpack .../190-liblua5.2-dev_5.2.4-1.1_armhf.deb ...
Unpacking liblua5.2-dev:armhf (5.2.4-1.1) ...
Selecting previously unselected package libperl-dev.
Preparing to unpack .../191-libperl-dev_5.24.1-7_armhf.deb ...
Unpacking libperl-dev (5.24.1-7) ...
Selecting previously unselected package libpython3.5:armhf.
Preparing to unpack .../192-libpython3.5_3.5.3-3_armhf.deb ...
Unpacking libpython3.5:armhf (3.5.3-3) ...
Selecting previously unselected package libpython3.5-dev:armhf.
Preparing to unpack .../193-libpython3.5-dev_3.5.3-3_armhf.deb ...
Unpacking libpython3.5-dev:armhf (3.5.3-3) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../194-libpython3-dev_3.5.3-3_armhf.deb ...
Unpacking libpython3-dev:armhf (3.5.3-3) ...
Selecting previously unselected package rubygems-integration.
Preparing to unpack .../195-rubygems-integration_1.11_all.deb ...
Unpacking rubygems-integration (1.11) ...
Selecting previously unselected package ruby2.3.
Preparing to unpack .../196-ruby2.3_2.3.3-1_armhf.deb ...
Unpacking ruby2.3 (2.3.3-1) ...
Selecting previously unselected package ruby.
Preparing to unpack .../197-ruby_1%3a2.3.3_armhf.deb ...
Unpacking ruby (1:2.3.3) ...
Selecting previously unselected package rake.
Preparing to unpack .../198-rake_12.0.0-1_all.deb ...
Unpacking rake (12.0.0-1) ...
Selecting previously unselected package ruby-did-you-mean.
Preparing to unpack .../199-ruby-did-you-mean_1.0.0-2_all.deb ...
Unpacking ruby-did-you-mean (1.0.0-2) ...
Selecting previously unselected package ruby-minitest.
Preparing to unpack .../200-ruby-minitest_5.10.2-1_all.deb ...
Unpacking ruby-minitest (5.10.2-1) ...
Selecting previously unselected package ruby-net-telnet.
Preparing to unpack .../201-ruby-net-telnet_0.1.1-2_all.deb ...
Unpacking ruby-net-telnet (0.1.1-2) ...
Selecting previously unselected package ruby-power-assert.
Preparing to unpack .../202-ruby-power-assert_0.3.0-1_all.deb ...
Unpacking ruby-power-assert (0.3.0-1) ...
Selecting previously unselected package ruby-test-unit.
Preparing to unpack .../203-ruby-test-unit_3.2.5-1_all.deb ...
Unpacking ruby-test-unit (3.2.5-1) ...
Selecting previously unselected package libyaml-0-2:armhf.
Preparing to unpack .../204-libyaml-0-2_0.1.7-2_armhf.deb ...
Unpacking libyaml-0-2:armhf (0.1.7-2) ...
Selecting previously unselected package libruby2.3:armhf.
Preparing to unpack .../205-libruby2.3_2.3.3-1_armhf.deb ...
Unpacking libruby2.3:armhf (2.3.3-1) ...
Selecting previously unselected package libsepol1-dev:armhf.
Preparing to unpack .../206-libsepol1-dev_2.6-2_armhf.deb ...
Unpacking libsepol1-dev:armhf (2.6-2) ...
Selecting previously unselected package libselinux1-dev:armhf.
Preparing to unpack .../207-libselinux1-dev_2.6-3_armhf.deb ...
Unpacking libselinux1-dev:armhf (2.6-3) ...
Selecting previously unselected package libtcl8.6:armhf.
Preparing to unpack .../208-libtcl8.6_8.6.6+dfsg-1_armhf.deb ...
Unpacking libtcl8.6:armhf (8.6.6+dfsg-1) ...
Selecting previously unselected package libxt6:armhf.
Preparing to unpack .../209-libxt6_1%3a1.1.5-1_armhf.deb ...
Unpacking libxt6:armhf (1:1.1.5-1) ...
Selecting previously unselected package libxmu6:armhf.
Preparing to unpack .../210-libxmu6_2%3a1.1.2-2_armhf.deb ...
Unpacking libxmu6:armhf (2:1.1.2-2) ...
Selecting previously unselected package libxpm4:armhf.
Preparing to unpack .../211-libxpm4_1%3a3.5.12-1_armhf.deb ...
Unpacking libxpm4:armhf (1:3.5.12-1) ...
Selecting previously unselected package libxaw7:armhf.
Preparing to unpack .../212-libxaw7_2%3a1.0.13-1_armhf.deb ...
Unpacking libxaw7:armhf (2:1.0.13-1) ...
Selecting previously unselected package libxt-dev:armhf.
Preparing to unpack .../213-libxt-dev_1%3a1.1.5-1_armhf.deb ...
Unpacking libxt-dev:armhf (1:1.1.5-1) ...
Selecting previously unselected package libxmu-headers.
Preparing to unpack .../214-libxmu-headers_2%3a1.1.2-2_all.deb ...
Unpacking libxmu-headers (2:1.1.2-2) ...
Selecting previously unselected package libxmu-dev:armhf.
Preparing to unpack .../215-libxmu-dev_2%3a1.1.2-2_armhf.deb ...
Unpacking libxmu-dev:armhf (2:1.1.2-2) ...
Selecting previously unselected package libxpm-dev:armhf.
Preparing to unpack .../216-libxpm-dev_1%3a3.5.12-1_armhf.deb ...
Unpacking libxpm-dev:armhf (1:3.5.12-1) ...
Selecting previously unselected package libxaw7-dev:armhf.
Preparing to unpack .../217-libxaw7-dev_2%3a1.0.13-1_armhf.deb ...
Unpacking libxaw7-dev:armhf (2:1.0.13-1) ...
Selecting previously unselected package lua5.2.
Preparing to unpack .../218-lua5.2_5.2.4-1.1_armhf.deb ...
Unpacking lua5.2 (5.2.4-1.1) ...
Selecting previously unselected package python3.5-dev.
Preparing to unpack .../219-python3.5-dev_3.5.3-3_armhf.deb ...
Unpacking python3.5-dev (3.5.3-3) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../220-python3-dev_3.5.3-3_armhf.deb ...
Unpacking python3-dev (3.5.3-3) ...
Selecting previously unselected package ruby2.3-dev:armhf.
Preparing to unpack .../221-ruby2.3-dev_2.3.3-1_armhf.deb ...
Unpacking ruby2.3-dev:armhf (2.3.3-1) ...
Selecting previously unselected package ruby-dev:armhf.
Preparing to unpack .../222-ruby-dev_1%3a2.3.3_armhf.deb ...
Unpacking ruby-dev:armhf (1:2.3.3) ...
Selecting previously unselected package tcl8.6.
Preparing to unpack .../223-tcl8.6_8.6.6+dfsg-1_armhf.deb ...
Unpacking tcl8.6 (8.6.6+dfsg-1) ...
Selecting previously unselected package tcl.
Preparing to unpack .../224-tcl_8.6.0+9_armhf.deb ...
Unpacking tcl (8.6.0+9) ...
Selecting previously unselected package tcl8.6-dev:armhf.
Preparing to unpack .../225-tcl8.6-dev_8.6.6+dfsg-1_armhf.deb ...
Unpacking tcl8.6-dev:armhf (8.6.6+dfsg-1) ...
Selecting previously unselected package tcl-dev:armhf.
Preparing to unpack .../226-tcl-dev_8.6.0+9_armhf.deb ...
Unpacking tcl-dev:armhf (8.6.0+9) ...
Selecting previously unselected package libattr1-dev:armhf.
Preparing to unpack .../227-libattr1-dev_1%3a2.4.47-2_armhf.deb ...
Unpacking libattr1-dev:armhf (1:2.4.47-2) ...
Selecting previously unselected package libacl1-dev.
Preparing to unpack .../228-libacl1-dev_2.2.52-3_armhf.deb ...
Unpacking libacl1-dev (2.2.52-3) ...
Selecting previously unselected package sbuild-build-depends-vim-dummy.
Preparing to unpack .../229-sbuild-build-depends-vim-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-vim-dummy (0.invalid.0) ...
Setting up libncurses5:armhf (6.0+20170708-1) ...
Setting up libsepol1-dev:armhf (2.6-2) ...
Setting up perl-modules-5.24 (5.24.1-7) ...
Setting up libperl5.24:armhf (5.24.1-7) ...
Setting up libunistring2:armhf (0.9.7-2) ...
Setting up libnettle6:armhf (3.3-1) ...
Setting up libjson-glib-1.0-common (1.2.8-1) ...
Setting up libgtk2.0-common (2.24.31-2) ...
Setting up libidn2-0:armhf (0.16-1+b1) ...
Setting up glib-networking-common (2.50.0-1) ...
Setting up libjpeg62-turbo:armhf (1:1.5.1-2) ...
Setting up mime-support (3.60) ...
Setting up liblcms2-2:armhf (2.8-4) ...
Setting up libjbig0:armhf (2.1-3.1) ...
Setting up libsigsegv2:armhf (2.11-1) ...
Setting up libgpm2:armhf (1.20.4-6.2) ...
Setting up libpthread-stubs0-dev:armhf (0.3-4) ...
Setting up fonts-dejavu-core (2.37-1) ...
Setting up libattr1-dev:armhf (1:2.4.47-2) ...
Setting up libelf1:armhf (0.168-1) ...
Setting up groff-base (1.22.3-9) ...
Setting up xorg-sgml-doctools (1:1.11-1) ...
Setting up libacl1-dev (2.2.52-3) ...
Setting up xkb-data (2.19-1) ...
Setting up libproxy1v5:armhf (0.4.14-3) ...
Setting up libtinfo-dev:armhf (6.0+20170708-1) ...
Setting up libgdk-pixbuf2.0-common (2.36.5-2) ...
Setting up libdatrie1:armhf (0.2.10-4) ...
Setting up libtiff5:armhf (4.0.8-3) ...
Setting up gettext-base (0.19.8.1-2+b1) ...
Setting up libpipeline1:armhf (1.4.1-2) ...
Setting up x11proto-kb-dev (1.0.7-1) ...
Setting up m4 (1.4.18-1) ...
Setting up x11proto-record-dev (1.14.2-1) ...
Setting up libicu57:armhf (57.1-6) ...
Setting up libbsd0:armhf (0.8.5-1) ...
Setting up ucf (3.0036) ...
Setting up libxml2:armhf (2.9.4+dfsg1-3) ...
Setting up libfreetype6:armhf (2.8-0.2) ...
Setting up libtasn1-6:armhf (4.12-2) ...
Setting up libmagic-mgc (1:5.30-1) ...
Setting up libmagic1:armhf (1:5.30-1) ...
Setting up libhogweed4:armhf (3.3-1) ...
Setting up libgraphite2-3:armhf (1.3.10-2) ...
Setting up perl (5.24.1-7) ...
Setting up libssl1.0.2:armhf (1.0.2l-2) ...
Setting up libatk1.0-data (2.22.0-1) ...
Setting up ruby-did-you-mean (1.0.0-2) ...
Setting up libyaml-0-2:armhf (0.1.7-2) ...
Setting up libpixman-1-0:armhf (0.34.0-1) ...
Setting up xtrans-dev (1.3.5-1) ...
Setting up libglib2.0-data (2.52.3-1) ...
Processing triggers for libc-bin (2.24-12) ...
Setting up libepoxy0:armhf (1.3.1-3) ...
Setting up x11proto-xinerama-dev (1.2.1-2) ...
Setting up autotools-dev (20161112.1) ...
Setting up libpixman-1-dev (0.34.0-1) ...
Setting up x11proto-randr-dev (1.5.0-1) ...
Processing triggers for systemd (233-9) ...
Setting up openssl (1.1.0f-3) ...
Setting up ruby-net-telnet (0.1.1-2) ...
Setting up libreadline-dev:armhf (7.0-3) ...
Setting up libexpat1-dev:armhf (2.2.1-3) ...
Setting up libxkbcommon0:armhf (0.7.1-1) ...
Setting up libpcrecpp0v5:armhf (2:8.39-3) ...
Setting up libpcre32-3:armhf (2:8.39-3) ...
Setting up libffi6:armhf (3.2.1-6) ...
Setting up icu-devtools (57.1-6) ...
Setting up liblua5.2-0:armhf (5.2.4-1.1) ...
Setting up libpcre16-3:armhf (2:8.39-3) ...
Setting up libtcl8.6:armhf (8.6.6+dfsg-1) ...
Setting up libthai-data (0.1.26-1) ...
Setting up libxdmcp6:armhf (1:1.1.2-3) ...
Setting up libkeyutils1:armhf (1.5.9-9) ...
Setting up bsdmainutils (9.0.12+nmu1) ...
update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode
update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode
Setting up libgmpxx4ldbl:armhf (2:6.1.2+dfsg-1) ...
Setting up ruby-minitest (5.10.2-1) ...
Setting up x11-common (1:7.7+19) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
invoke-rc.d: could not determine current runlevel
All runlevel operations denied by policy
invoke-rc.d: policy-rc.d denied execution of start.
Setting up ca-certificates (20161130+nmu1) ...
Updating certificates in /etc/ssl/certs...
166 added, 0 removed; done.
Setting up hicolor-icon-theme (0.15-1) ...
Setting up libgraphite2-dev (1.3.10-2) ...
Setting up libx11-data (2:1.6.4-3) ...
Setting up libxau6:armhf (1:1.0.8-1) ...
Setting up autopoint (0.19.8.1-2) ...
Setting up libmpdec2:armhf (2.4.2-1) ...
Setting up libdbus-1-3:armhf (1.10.20-1) ...
Setting up libreadline6:armhf (6.3-9) ...
Setting up liblzo2-2:armhf (2.08-1.2) ...
Setting up ruby-power-assert (0.3.0-1) ...
Setting up libavahi-common-data:armhf (0.6.32-2) ...
Setting up libepoxy-dev:armhf (1.3.1-3) ...
Setting up zlib1g-dev:armhf (1:1.2.8.dfsg-5) ...
Setting up libgmp-dev:armhf (2:6.1.2+dfsg-1) ...
Setting up libpcre3-dev:armhf (2:8.39-3) ...
Setting up fontconfig-config (2.12.3-0.2) ...
Setting up libperl-dev (5.24.1-7) ...
Setting up libxkbcommon-dev (0.7.1-1) ...
Setting up libarchive-zip-perl (1.59-1) ...
Setting up x11proto-core-dev (7.0.31-1) ...
Setting up libgpm-dev:armhf (1.20.4-6.2) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up libglib2.0-0:armhf (2.52.3-1) ...
Setting up libpython3.5-stdlib:armhf (3.5.3-3) ...
Setting up libxml2-utils (2.9.4+dfsg1-3) ...
Setting up libharfbuzz0b:armhf (1.4.2-1) ...
Setting up glib-networking-services (2.50.0-1) ...
Setting up libxau-dev:armhf (1:1.0.8-1) ...
Setting up autoconf (2.69-10) ...
Setting up libthai0:armhf (0.1.26-1) ...
Setting up libicu-dev (57.1-6) ...
Setting up file (1:5.30-1) ...
Setting up libkrb5support0:armhf (1.15-1) ...
Setting up libgirepository-1.0-1:armhf (1.50.0-1) ...
Setting up libjson-glib-1.0-0:armhf (1.2.8-1) ...
Setting up libcroco3:armhf (0.6.12-1) ...
Setting up pkg-config (0.29-4) ...
Setting up liblua5.2-dev:armhf (5.2.4-1.1) ...
Setting up gir1.2-glib-2.0:armhf (1.50.0-1) ...
Setting up libxdmcp-dev:armhf (1:1.1.2-3) ...
Setting up libatk1.0-0:armhf (2.22.0-1) ...
Setting up lua5.2 (5.2.4-1.1) ...
update-alternatives: using /usr/bin/lua5.2 to provide /usr/bin/lua (lua-interpreter) in auto mode
update-alternatives: using /usr/bin/luac5.2 to provide /usr/bin/luac (lua-compiler) in auto mode
Setting up libp11-kit0:armhf (0.23.3-5) ...
Setting up tcl8.6 (8.6.6+dfsg-1) ...
Setting up automake (1:1.15.1-2) ...
update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode
Setting up libice6:armhf (2:1.0.9-2) ...
Setting up libdconf1:armhf (0.26.0-2) ...
Setting up rubygems-integration (1.11) ...
Setting up man-db (2.7.6.1-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up shared-mime-info (1.8-1) ...
Setting up libavahi-common3:armhf (0.6.32-2) ...
Setting up libcolord2:armhf (1.3.3-2) ...
Setting up libpng-dev:armhf (1.6.29-3) ...
Setting up x11proto-render-dev (2:0.11.1-2) ...
Setting up libselinux1-dev:armhf (2.6-3) ...
Setting up libglib2.0-bin (2.52.3-1) ...
Setting up libxcb1:armhf (1.12-1) ...
Setting up x11proto-input-dev (2.3.2-1) ...
Setting up libharfbuzz-gobject0:armhf (1.4.2-1) ...
Setting up tcl8.6-dev:armhf (8.6.6+dfsg-1) ...
Setting up libfile-stripnondeterminism-perl (0.035-2) ...
Setting up libtool (2.4.6-2) ...
Setting up python3.5 (3.5.3-3) ...
Setting up libpython3-stdlib:armhf (3.5.3-3) ...
Setting up libfontconfig1:armhf (2.12.3-0.2) ...
Setting up libdbus-1-dev:armhf (1.10.20-1) ...
Setting up libsm6:armhf (2:1.2.2-1+b1) ...
Setting up libk5crypto3:armhf (1.15-1) ...
Setting up gir1.2-atk-1.0:armhf (2.22.0-1) ...
Setting up libxcb-render0:armhf (1.12-1) ...
Setting up libharfbuzz-icu0:armhf (1.4.2-1) ...
Setting up dconf-service (0.26.0-2) ...
Setting up gettext (0.19.8.1-2+b1) ...
Setting up libpython3.5:armhf (3.5.3-3) ...
Setting up libgnutls30:armhf (3.5.13-2) ...
Setting up libx11-6:armhf (2:1.6.4-3) ...
Setting up tcl (8.6.0+9) ...
Setting up libpython3.5-dev:armhf (3.5.3-3) ...
Setting up intltool-debian (0.35.0+20060710.4) ...
Setting up x11proto-xext-dev (7.3.0-1) ...
Setting up libfreetype6-dev (2.8-0.2) ...
Setting up libice-dev:armhf (2:1.0.9-2) ...
Setting up libxcomposite1:armhf (1:0.4.4-2) ...
Setting up libxcb-shm0:armhf (1.12-1) ...
Setting up libxpm4:armhf (1:3.5.12-1) ...
Setting up libxt6:armhf (1:1.1.5-1) ...
Setting up libxrender1:armhf (1:0.9.10-1) ...
Setting up libxcb1-dev:armhf (1.12-1) ...
Setting up libavahi-client3:armhf (0.6.32-2) ...
Setting up libkrb5-3:armhf (1.15-1) ...
Setting up libx11-dev:armhf (2:1.6.4-3) ...
Setting up libxft2:armhf (2.3.2-1) ...
Setting up python3.5-dev (3.5.3-3) ...
Setting up dconf-gsettings-backend:armhf (0.26.0-2) ...
Setting up tcl-dev:armhf (8.6.0+9) ...
Setting up fontconfig (2.12.3-0.2) ...
Regenerating fonts cache... done.
Setting up libpython3-dev:armhf (3.5.3-3) ...
Setting up libfontconfig1-dev:armhf (2.12.3-0.2) ...
Setting up libsm-dev:armhf (2:1.2.2-1+b1) ...
Setting up libxext6:armhf (2:1.3.3-1) ...
Setting up libxfixes3:armhf (1:5.0.3-1) ...
Setting up po-debconf (1.0.20) ...
Setting up gsettings-desktop-schemas (3.22.0-1) ...
Setting up libgtk-3-common (3.22.16-1+rpi1) ...
Setting up libxpm-dev:armhf (1:3.5.12-1) ...
Setting up libatspi2.0-0:armhf (2.24.1-1) ...
Setting up libxmu-headers (2:1.1.2-2) ...
Setting up x11proto-fixes-dev (1:5.0-2) ...
Setting up libgdk-pixbuf2.0-0:armhf (2.36.5-2) ...
Setting up libxcb-shm0-dev:armhf (1.12-1) ...
Setting up gir1.2-gdkpixbuf-2.0:armhf (2.36.5-2) ...
Setting up libxrender-dev:armhf (1:0.9.10-1) ...
Setting up libxmu6:armhf (2:1.1.2-2) ...
Setting up libgssapi-krb5-2:armhf (1.15-1) ...
Setting up libxcb-render0-dev:armhf (1.12-1) ...
Setting up x11proto-damage-dev (1:1.2.1-2) ...
Setting up libxft-dev (2.3.2-1) ...
Setting up gtk-update-icon-cache (3.22.16-1+rpi1) ...
Setting up libxcursor1:armhf (1:1.1.14-1+b1) ...
Setting up libxext-dev:armhf (2:1.3.3-1) ...
Setting up glib-networking:armhf (2.50.0-1) ...
Setting up libpango-1.0-0:armhf (1.40.6-1) ...
Setting up libatk-bridge2.0-0:armhf (2.24.1-1) ...
Setting up libxfixes-dev:armhf (1:5.0.3-1) ...
Setting up x11proto-composite-dev (1:0.4.2-2) ...
Setting up libxrandr2:armhf (2:1.5.1-1) ...
Setting up libcups2:armhf (2.2.3-2+rpi1) ...
Setting up libxi6:armhf (2:1.7.9-1) ...
Setting up libxaw7:armhf (2:1.0.13-1) ...
Setting up gir1.2-atspi-2.0:armhf (2.24.1-1) ...
Setting up libcairo2:armhf (1.14.10-1) ...
Setting up libxinerama1:armhf (2:1.1.3-1+b1) ...
Setting up libxcursor-dev:armhf (1:1.1.14-1+b1) ...
Setting up libxt-dev:armhf (1:1.1.5-1) ...
Setting up libxdamage1:armhf (1:1.1.4-2+b1) ...
Setting up libxrandr-dev:armhf (2:1.5.1-1) ...
Setting up libxcomposite-dev:armhf (1:0.4.4-2) ...
Setting up libxmu-dev:armhf (2:1.1.2-2) ...
Setting up libcairo-script-interpreter2:armhf (1.14.10-1) ...
Setting up libxaw7-dev:armhf (2:1.0.13-1) ...
Setting up libcairo-gobject2:armhf (1.14.10-1) ...
Setting up libsoup2.4-1:armhf (2.56.0-2) ...
Setting up libxdamage-dev:armhf (1:1.1.4-2+b1) ...
Setting up libsoup-gnome2.4-1:armhf (2.56.0-2) ...
Setting up libxtst6:armhf (2:1.2.3-1) ...
Setting up libpangoft2-1.0-0:armhf (1.40.6-1) ...
Setting up libxinerama-dev:armhf (2:1.1.3-1+b1) ...
Setting up librest-0.7-0:armhf (0.8.0-2) ...
Setting up libxi-dev:armhf (2:1.7.9-1) ...
Setting up gir1.2-freedesktop:armhf (1.50.0-1) ...
Setting up libpangoxft-1.0-0:armhf (1.40.6-1) ...
Setting up libpangocairo-1.0-0:armhf (1.40.6-1) ...
Setting up gir1.2-pango-1.0:armhf (1.40.6-1) ...
Setting up libxtst-dev:armhf (2:1.2.3-1) ...
Setting up librsvg2-2:armhf (2.40.16-1) ...
Setting up librsvg2-common:armhf (2.40.16-1) ...
Setting up adwaita-icon-theme (3.24.0-1) ...
update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode
Setting up libgtk2.0-0:armhf (2.24.31-2) ...
Setting up libgtk-3-0:armhf (3.22.16-1+rpi1) ...
Setting up gir1.2-gtk-2.0 (2.24.31-2) ...
Setting up gir1.2-gtk-3.0:armhf (3.22.16-1+rpi1) ...
Setting up python3 (3.5.3-3) ...
Setting up rake (12.0.0-1) ...
Setting up python3-dev (3.5.3-3) ...
Setting up libglib2.0-dev (2.52.3-1) ...
Setting up libgdk-pixbuf2.0-dev (2.36.5-2) ...
Setting up libharfbuzz-dev:armhf (1.4.2-1) ...
Setting up dh-python (2.20170125) ...
Setting up dh-autoreconf (14) ...
Setting up libcairo2-dev (1.14.10-1) ...
Setting up ruby-test-unit (3.2.5-1) ...
Setting up libatk1.0-dev:armhf (2.22.0-1) ...
Setting up libatspi2.0-dev:armhf (2.24.1-1) ...
Setting up dh-strip-nondeterminism (0.035-2) ...
Setting up libatk-bridge2.0-dev:armhf (2.24.1-1) ...
Setting up libpango1.0-dev (1.40.6-1) ...
Setting up libruby2.3:armhf (2.3.3-1) ...
Setting up debhelper (10.2.5) ...
Setting up libgtk-3-dev:armhf (3.22.16-1+rpi1) ...
Setting up libgtk2.0-dev (2.24.31-2) ...
Setting up ruby2.3 (2.3.3-1) ...
Setting up ruby2.3-dev:armhf (2.3.3-1) ...
Setting up ruby-dev:armhf (1:2.3.3) ...
Setting up ruby (1:2.3.3) ...
Setting up sbuild-build-depends-vim-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.24-12) ...
Processing triggers for systemd (233-9) ...
Processing triggers for ca-certificates (20161130+nmu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Processing triggers for libgdk-pixbuf2.0-0:armhf (2.36.5-2) ...
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Build environment                                                            |
+------------------------------------------------------------------------------+

Kernel: Linux 4.4.0-79-generic armhf (armv8l)
Toolchain package versions: binutils_2.28-6 dpkg-dev_1.18.24 g++-6_6.3.0-18+rpi1 gcc-6_6.3.0-18+rpi1 libc6-dev_2.24-12 libstdc++-6-dev_6.3.0-18+rpi1 libstdc++6_6.3.0-18+rpi1 linux-libc-dev_3.18.5-1~exp1+rpi19+stretch
Package versions: adduser_3.115 adwaita-icon-theme_3.24.0-1 apt_1.4.6 autoconf_2.69-10 automake_1:1.15.1-2 autopoint_0.19.8.1-2 autotools-dev_20161112.1 base-files_9.9+rpi1 base-passwd_3.5.43 bash_4.4-5 binutils_2.28-6 bsdmainutils_9.0.12+nmu1 bsdutils_1:2.29.2-1 build-essential_12.3 bzip2_1.0.6-8.1 ca-certificates_20161130+nmu1 coreutils_8.26-3 cpio_2.11+dfsg-6 cpp_4:6.3.0-4 cpp-6_6.3.0-18+rpi1 dash_0.5.8-2.4 dconf-gsettings-backend_0.26.0-2 dconf-service_0.26.0-2 debconf_1.5.61 debhelper_10.2.5 debianutils_4.8.1.1 dh-autoreconf_14 dh-python_2.20170125 dh-strip-nondeterminism_0.035-2 diffutils_1:3.5-3 dmsetup_2:1.02.137-2 dpkg_1.18.24 dpkg-dev_1.18.24 e2fslibs_1.43.4-2 e2fsprogs_1.43.4-2 fakeroot_1.21-3.1 file_1:5.30-1 findutils_4.6.0+git+20161106-2 fontconfig_2.12.3-0.2 fontconfig-config_2.12.3-0.2 fonts-dejavu-core_2.37-1 g++_4:6.3.0-4 g++-6_6.3.0-18+rpi1 gcc_4:6.3.0-4 gcc-4.6-base_4.6.4-5+rpi1 gcc-4.7-base_4.7.3-11+rpi1 gcc-4.8-base_4.8.5-4 gcc-4.9-base_4.9.3-14 gcc-5-base_5.4.1-4 gcc-6_6.3.0-18+rpi1 gcc-6-base_6.3.0-18+rpi1 gettext_0.19.8.1-2+b1 gettext-base_0.19.8.1-2+b1 gir1.2-atk-1.0_2.22.0-1 gir1.2-atspi-2.0_2.24.1-1 gir1.2-freedesktop_1.50.0-1 gir1.2-gdkpixbuf-2.0_2.36.5-2 gir1.2-glib-2.0_1.50.0-1 gir1.2-gtk-2.0_2.24.31-2 gir1.2-gtk-3.0_3.22.16-1+rpi1 gir1.2-pango-1.0_1.40.6-1 glib-networking_2.50.0-1 glib-networking-common_2.50.0-1 glib-networking-services_2.50.0-1 gnupg_2.1.18-8 gnupg-agent_2.1.18-8 gpgv_2.1.18-8 grep_2.27-2 groff-base_1.22.3-9 gsettings-desktop-schemas_3.22.0-1 gtk-update-icon-cache_3.22.16-1+rpi1 gzip_1.6-5 hicolor-icon-theme_0.15-1 hostname_3.18 icu-devtools_57.1-6 init-system-helpers_1.48 initramfs-tools_0.130 initramfs-tools-core_0.130 intltool-debian_0.35.0+20060710.4 klibc-utils_2.0.4-9+rpi1 kmod_24-1 libacl1_2.2.52-3 libacl1-dev_2.2.52-3 libapparmor1_2.11.0-3 libapt-pkg5.0_1.4.6 libarchive-zip-perl_1.59-1 libasan3_6.3.0-18+rpi1 libassuan0_2.4.3-2 libatk-bridge2.0-0_2.24.1-1 libatk-bridge2.0-dev_2.24.1-1 libatk1.0-0_2.22.0-1 libatk1.0-data_2.22.0-1 libatk1.0-dev_2.22.0-1 libatomic1_6.3.0-18+rpi1 libatspi2.0-0_2.24.1-1 libatspi2.0-dev_2.24.1-1 libattr1_1:2.4.47-2 libattr1-dev_1:2.4.47-2 libaudit-common_1:2.7.7-1 libaudit1_1:2.7.7-1 libavahi-client3_0.6.32-2 libavahi-common-data_0.6.32-2 libavahi-common3_0.6.32-2 libblkid1_2.29.2-1 libbsd0_0.8.5-1 libbz2-1.0_1.0.6-8.1 libc-bin_2.24-12 libc-dev-bin_2.24-12 libc6_2.24-12 libc6-dev_2.24-12 libcairo-gobject2_1.14.10-1 libcairo-script-interpreter2_1.14.10-1 libcairo2_1.14.10-1 libcairo2-dev_1.14.10-1 libcap-ng0_0.7.7-3 libcap2_1:2.25-1 libcc1-0_6.3.0-18+rpi1 libcolord2_1.3.3-2 libcomerr2_1.43.4-2 libcroco3_0.6.12-1 libcryptsetup4_2:1.7.3-4 libcups2_2.2.3-2+rpi1 libdatrie1_0.2.10-4 libdb5.3_5.3.28-12 libdbus-1-3_1.10.20-1 libdbus-1-dev_1.10.20-1 libdconf1_0.26.0-2 libdebconfclient0_0.228 libdevmapper1.02.1_2:1.02.137-2 libdpkg-perl_1.18.24 libdrm2_2.4.74-1 libelf1_0.168-1 libepoxy-dev_1.3.1-3 libepoxy0_1.3.1-3 libexpat1_2.2.1-3 libexpat1-dev_2.2.1-3 libfakeroot_1.21-3.1 libfdisk1_2.29.2-1 libffi6_3.2.1-6 libfile-stripnondeterminism-perl_0.035-2 libfontconfig1_2.12.3-0.2 libfontconfig1-dev_2.12.3-0.2 libfreetype6_2.8-0.2 libfreetype6-dev_2.8-0.2 libgcc-6-dev_6.3.0-18+rpi1 libgcc1_1:6.3.0-18+rpi1 libgcrypt20_1.7.7-2 libgdbm3_1.8.3-14 libgdk-pixbuf2.0-0_2.36.5-2 libgdk-pixbuf2.0-common_2.36.5-2 libgdk-pixbuf2.0-dev_2.36.5-2 libgirepository-1.0-1_1.50.0-1 libglib2.0-0_2.52.3-1 libglib2.0-bin_2.52.3-1 libglib2.0-data_2.52.3-1 libglib2.0-dev_2.52.3-1 libgmp-dev_2:6.1.2+dfsg-1 libgmp10_2:6.1.2+dfsg-1 libgmpxx4ldbl_2:6.1.2+dfsg-1 libgnutls30_3.5.13-2 libgomp1_6.3.0-18+rpi1 libgpg-error0_1.26-2 libgpm-dev_1.20.4-6.2 libgpm2_1.20.4-6.2 libgraphite2-3_1.3.10-2 libgraphite2-dev_1.3.10-2 libgssapi-krb5-2_1.15-1 libgtk-3-0_3.22.16-1+rpi1 libgtk-3-common_3.22.16-1+rpi1 libgtk-3-dev_3.22.16-1+rpi1 libgtk2.0-0_2.24.31-2 libgtk2.0-common_2.24.31-2 libgtk2.0-dev_2.24.31-2 libharfbuzz-dev_1.4.2-1 libharfbuzz-gobject0_1.4.2-1 libharfbuzz-icu0_1.4.2-1 libharfbuzz0b_1.4.2-1 libhogweed4_3.3-1 libice-dev_2:1.0.9-2 libice6_2:1.0.9-2 libicu-dev_57.1-6 libicu57_57.1-6 libidn11_1.33-1 libidn2-0_0.16-1+b1 libip4tc0_1.6.0+snapshot20161117-6 libisl15_0.18-1 libjbig0_2.1-3.1 libjpeg62-turbo_1:1.5.1-2 libjson-glib-1.0-0_1.2.8-1 libjson-glib-1.0-common_1.2.8-1 libk5crypto3_1.15-1 libkeyutils1_1.5.9-9 libklibc_2.0.4-9+rpi1 libkmod2_24-1 libkrb5-3_1.15-1 libkrb5support0_1.15-1 libksba8_1.3.5-2 liblcms2-2_2.8-4 liblocale-gettext-perl_1.07-3+b1 liblua5.2-0_5.2.4-1.1 liblua5.2-dev_5.2.4-1.1 liblz4-1_0.0~r131-2 liblzma5_5.2.2-1.2 liblzo2-2_2.08-1.2 libmagic-mgc_1:5.30-1 libmagic1_1:5.30-1 libmount1_2.29.2-1 libmpc3_1.0.3-1 libmpdec2_2.4.2-1 libmpfr4_3.1.5-1 libncurses5_6.0+20170708-1 libncursesw5_6.0+20170708-1 libnettle6_3.3-1 libnih-dbus1_1.0.3-8 libnih1_1.0.3-8 libnpth0_1.3-1 libp11-kit0_0.23.3-5 libpam-modules_1.1.8-3.6 libpam-modules-bin_1.1.8-3.6 libpam-runtime_1.1.8-3.6 libpam0g_1.1.8-3.6 libpango-1.0-0_1.40.6-1 libpango1.0-dev_1.40.6-1 libpangocairo-1.0-0_1.40.6-1 libpangoft2-1.0-0_1.40.6-1 libpangoxft-1.0-0_1.40.6-1 libpcre16-3_2:8.39-3 libpcre3_2:8.39-3 libpcre3-dev_2:8.39-3 libpcre32-3_2:8.39-3 libpcrecpp0v5_2:8.39-3 libperl-dev_5.24.1-7 libperl5.24_5.24.1-7 libpipeline1_1.4.1-2 libpixman-1-0_0.34.0-1 libpixman-1-dev_0.34.0-1 libplymouth4_0.9.2-4 libpng-dev_1.6.29-3 libpng16-16_1.6.29-3 libprocps6_2:3.3.12-3 libproxy1v5_0.4.14-3 libpthread-stubs0-dev_0.3-4 libpython3-dev_3.5.3-3 libpython3-stdlib_3.5.3-3 libpython3.5_3.5.3-3 libpython3.5-dev_3.5.3-3 libpython3.5-minimal_3.5.3-3 libpython3.5-stdlib_3.5.3-3 libreadline-dev_7.0-3 libreadline6_6.3-9 libreadline7_7.0-3 librest-0.7-0_0.8.0-2 librsvg2-2_2.40.16-1 librsvg2-common_2.40.16-1 libruby2.3_2.3.3-1 libseccomp2_2.3.1-2.1 libselinux1_2.6-3 libselinux1-dev_2.6-3 libsemanage-common_2.6-2 libsemanage1_2.6-2 libsepol1_2.6-2 libsepol1-dev_2.6-2 libsigsegv2_2.11-1 libsm-dev_2:1.2.2-1+b1 libsm6_2:1.2.2-1+b1 libsmartcols1_2.29.2-1 libsoup-gnome2.4-1_2.56.0-2 libsoup2.4-1_2.56.0-2 libsqlite3-0_3.16.2-5 libss2_1.43.4-2 libssl1.0.2_1.0.2l-2 libssl1.1_1.1.0f-3 libstdc++-6-dev_6.3.0-18+rpi1 libstdc++6_6.3.0-18+rpi1 libsystemd0_233-9 libtasn1-6_4.12-2 libtcl8.6_8.6.6+dfsg-1 libtext-charwidth-perl_0.04-7+b7 libtext-iconv-perl_1.7-5+b8 libtext-wrapi18n-perl_0.06-7.1 libthai-data_0.1.26-1 libthai0_0.1.26-1 libtiff5_4.0.8-3 libtimedate-perl_2.3000-2 libtinfo-dev_6.0+20170708-1 libtinfo5_6.0+20170708-1 libtool_2.4.6-2 libubsan0_6.3.0-18+rpi1 libudev1_233-9 libunistring2_0.9.7-2 libustr-1.0-1_1.0.4-6 libuuid1_2.29.2-1 libx11-6_2:1.6.4-3 libx11-data_2:1.6.4-3 libx11-dev_2:1.6.4-3 libxau-dev_1:1.0.8-1 libxau6_1:1.0.8-1 libxaw7_2:1.0.13-1 libxaw7-dev_2:1.0.13-1 libxcb-render0_1.12-1 libxcb-render0-dev_1.12-1 libxcb-shm0_1.12-1 libxcb-shm0-dev_1.12-1 libxcb1_1.12-1 libxcb1-dev_1.12-1 libxcomposite-dev_1:0.4.4-2 libxcomposite1_1:0.4.4-2 libxcursor-dev_1:1.1.14-1+b1 libxcursor1_1:1.1.14-1+b1 libxdamage-dev_1:1.1.4-2+b1 libxdamage1_1:1.1.4-2+b1 libxdmcp-dev_1:1.1.2-3 libxdmcp6_1:1.1.2-3 libxext-dev_2:1.3.3-1 libxext6_2:1.3.3-1 libxfixes-dev_1:5.0.3-1 libxfixes3_1:5.0.3-1 libxft-dev_2.3.2-1 libxft2_2.3.2-1 libxi-dev_2:1.7.9-1 libxi6_2:1.7.9-1 libxinerama-dev_2:1.1.3-1+b1 libxinerama1_2:1.1.3-1+b1 libxkbcommon-dev_0.7.1-1 libxkbcommon0_0.7.1-1 libxml2_2.9.4+dfsg1-3 libxml2-utils_2.9.4+dfsg1-3 libxmu-dev_2:1.1.2-2 libxmu-headers_2:1.1.2-2 libxmu6_2:1.1.2-2 libxpm-dev_1:3.5.12-1 libxpm4_1:3.5.12-1 libxrandr-dev_2:1.5.1-1 libxrandr2_2:1.5.1-1 libxrender-dev_1:0.9.10-1 libxrender1_1:0.9.10-1 libxt-dev_1:1.1.5-1 libxt6_1:1.1.5-1 libxtst-dev_2:1.2.3-1 libxtst6_2:1.2.3-1 libyaml-0-2_0.1.7-2 linux-base_4.5 linux-libc-dev_3.18.5-1~exp1+rpi19+stretch login_1:4.4-4.1 lsb-base_9.20161125+rpi1 lua5.2_5.2.4-1.1 m4_1.4.18-1 make_4.1-9.1 makedev_2.3.1-93 man-db_2.7.6.1-2 mawk_1.3.3-17 mime-support_3.60 mount_2.29.2-1 mountall_2.54 multiarch-support_2.24-12 ncurses-base_6.0+20161126-1 ncurses-bin_6.0+20161126-1 openssl_1.1.0f-3 passwd_1:4.4-4.1 patch_2.7.5-1 perl_5.24.1-7 perl-base_5.24.1-7 perl-modules-5.24_5.24.1-7 pinentry-curses_1.0.0-2 pkg-config_0.29-4 plymouth_0.9.2-4 po-debconf_1.0.20 procps_2:3.3.12-3 python3_3.5.3-3 python3-dev_3.5.3-3 python3-minimal_3.5.3-3 python3.5_3.5.3-3 python3.5-dev_3.5.3-3 python3.5-minimal_3.5.3-3 rake_12.0.0-1 raspbian-archive-keyring_20120528.2 readline-common_7.0-3 ruby_1:2.3.3 ruby-dev_1:2.3.3 ruby-did-you-mean_1.0.0-2 ruby-minitest_5.10.2-1 ruby-net-telnet_0.1.1-2 ruby-power-assert_0.3.0-1 ruby-test-unit_3.2.5-1 ruby2.3_2.3.3-1 ruby2.3-dev_2.3.3-1 rubygems-integration_1.11 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-vim-dummy_0.invalid.0 sed_4.4-1 sensible-utils_0.0.9 shared-mime-info_1.8-1 systemd_233-9 sysvinit-utils_2.88dsf-59.9 tar_1.29b-1.1 tcl_8.6.0+9 tcl-dev_8.6.0+9 tcl8.6_8.6.6+dfsg-1 tcl8.6-dev_8.6.6+dfsg-1 tzdata_2017b-2 ucf_3.0036 udev_233-9 util-linux_2.29.2-1 x11-common_1:7.7+19 x11proto-composite-dev_1:0.4.2-2 x11proto-core-dev_7.0.31-1 x11proto-damage-dev_1:1.2.1-2 x11proto-fixes-dev_1:5.0-2 x11proto-input-dev_2.3.2-1 x11proto-kb-dev_1.0.7-1 x11proto-randr-dev_1.5.0-1 x11proto-record-dev_1.14.2-1 x11proto-render-dev_2:0.11.1-2 x11proto-xext-dev_7.3.0-1 x11proto-xinerama-dev_1.2.1-2 xkb-data_2.19-1 xorg-sgml-doctools_1:1.11-1 xtrans-dev_1.3.5-1 xz-utils_5.2.2-1.2 zlib1g_1:1.2.8.dfsg-5 zlib1g-dev_1:1.2.8.dfsg-5

+------------------------------------------------------------------------------+
| Build                                                                        |
+------------------------------------------------------------------------------+


Unpack source
-------------

gpgv: unknown type of key resource 'trustedkeys.kbx'
gpgv: keyblock resource '/sbuild-nonexistent/.gnupg/trustedkeys.kbx': General error
gpgv: Signature made Wed Jul 12 03:26:18 2017 UTC
gpgv:                using RSA key 91BFBF4D6956BD5DF7B72D23DFE691AE331BA3DB
gpgv: Can't check signature: No public key
dpkg-source: warning: failed to verify signature on ./vim_8.0.0197-5.dsc
dpkg-source: info: extracting vim in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking vim_8.0.0197.orig.tar.gz
dpkg-source: info: unpacking vim_8.0.0197-5.debian.tar.xz
dpkg-source: info: applying upstream/Support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
dpkg-source: info: applying debian/Support-sourcing-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch
dpkg-source: info: applying debian/Detect-the-rst-filetype-using-the-contents-of-the-file.patch
dpkg-source: info: applying debian/Add-recognition-of-more-LaTeX-commands-for-tex-filetype-d.patch
dpkg-source: info: applying debian/Document-Debian-s-decision-to-disable-modelines-by-defaul.patch
dpkg-source: info: applying upstream/Add-Zesty-Zapus-to-deb-changelog-sources-syntax-files.patch
dpkg-source: info: applying upstream/debcontrol.vim-Add-sections-for-Rust-and-JavaScript.patch
dpkg-source: info: applying upstream/patch-8.0.0322-possible-overflow-with-corrupted-spell-fil.patch
dpkg-source: info: applying upstream/patch-8.0.0377-possible-overflow-when-reading-corrupted-u.patch
dpkg-source: info: applying upstream/patch-8.0.0378-possible-overflow-when-reading-corrupted-u.patch
dpkg-source: info: applying upstream/patch-8.0.0550-cannot-parse-some-etags-format-tags-file.patch
dpkg-source: info: applying upstream/Update-releases-in-deb-changelog-sources-syntax-files.patch
dpkg-source: info: applying upstream/patch-8.0.0703-illegal-memory-access-with-empty-doau-comm.patch
dpkg-source: info: applying upstream/patch-8.0.0706-crash-when-cancelling-the-cmdline-window-i.patch
dpkg-source: info: applying upstream/patch-8.0.0707-freeing-wrong-memory-with-certain-autocomm.patch

Check disk space
----------------

Sufficient free space for build

User Environment
----------------

APT_CONFIG=/var/lib/sbuild/apt.conf
DEB_BUILD_OPTIONS=parallel=4
HOME=/sbuild-nonexistent
LC_ALL=POSIX
LOGNAME=buildd
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=buster-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=buster-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=112
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=buster-staging-armhf-sbuild-c67e060a-0b50-4b5d-9bbf-eb9c12f36a6c
SCHROOT_UID=107
SCHROOT_USER=buildd
SHELL=/bin/sh
USER=buildd

dpkg-buildpackage
-----------------

dpkg-buildpackage: info: source package vim
dpkg-buildpackage: info: source version 2:8.0.0197-5
dpkg-buildpackage: info: source distribution unstable
 dpkg-source --before-build vim-8.0.0197
dpkg-buildpackage: info: host architecture armhf
 fakeroot debian/rules clean
dh_testdir
dh_testdir
dh_testroot
dh_testdir
for x in install postinst prerm links lintian-overrides ; do \
  rm -f debian/vim-tiny.$x ; \
done
dh_testroot
dh_testdir
if [ "vim-tiny" = "vim-tiny" ]; then \
  rm -f debian/tiny/vimrc.tiny; \
fi
for x in install postinst prerm links lintian-overrides ; do \
  rm -f debian/vim-gtk.$x ; \
done
dh_testroot
rm -rf src/vim-tiny
dh_testdir
if [ "vim-gtk" = "vim-tiny" ]; then \
  rm -f debian/tiny/vimrc.tiny; \
fi
for x in install postinst prerm links lintian-overrides ; do \
  rm -f debian/vim-gtk3.$x ; \
done
dh_testroot
rm -rf src/vim-gtk
dh_testdir
if [ "vim-gtk3" = "vim-tiny" ]; then \
  rm -f debian/tiny/vimrc.tiny; \
fi
for x in install postinst prerm links lintian-overrides ; do \
  rm -f debian/vim-athena.$x ; \
done
dh_testroot
rm -rf src/vim-gtk3
if [ "vim-athena" = "vim-tiny" ]; then \
  rm -f debian/tiny/vimrc.tiny; \
fi
rm -rf src/vim-athena
for x in install postinst prerm links lintian-overrides ; do \
  rm -f debian/vim-nox.$x ; \
done
dh_testroot
if [ "vim-nox" = "vim-tiny" ]; then \
  rm -f debian/tiny/vimrc.tiny; \
fi
rm -rf src/vim-nox
for x in install postinst prerm links lintian-overrides ; do \
  rm -f debian/vim.$x ; \
done
[ ! -L src/vim-basic/po ] || /usr/bin/make -C src/vim-basic/po clean
rm -f debian/vim-common.install debian/vim-common.links debian/vim-gui-common.install debian/vim-gui-common.links debian/vim-runtime.install debian/vim-runtime.links debian/vim-runtime.postrm debian/vim-runtime.preinst debian/runtime/debian.vim
rm -rf src/vim-basic
dh_testdir
dh_testroot
rm -f extract-stamp* build-stamp* install-stamp* configure-stamp* autoconf-stamp
rm -f debian/helpztags.1
rm -rf debian/policy/vim-policy.html
rm -f debian/policy/vim-policy.txt
rm -f debian/tmplogo.*
[ ! -f src/auto/config.cache ] || make distclean
rm -f src/auto/config.mk src/pixmaps src/runtime
[ ! -f debian/configure.dist ] || mv debian/configure.dist src/auto/configure
rm -f src/auto/config.h
rm -f runtime/doc/doctags runtime/doc/tags.ref
rm -f runtime/doc/*.html runtime/doc/*.log
dh_clean
 debian/rules build-arch
cp src/config.mk.dist src/auto/config.mk
dh_testdir
[ -f debian/configure.dist ] || cp src/auto/configure debian/configure.dist
/usr/bin/make -C src autoconf
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
if test ! -f configure.save; then mv configure configure.save; fi
autoconf
sed -e 's+>config.log+>auto/config.log+' -e 's+\./config.log+auto/config.log+' configure > auto/configure
chmod 755 auto/configure
mv -f configure.save configure
rm -rf autom4te.cache
rm -f auto/config.status auto/config.cache
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
/usr/bin/make distclean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
Starting make in the src directory.
If there are problems, cd to the src directory and run make there
cd src && /usr/bin/make distclean
make[2]: Entering directory '/<<PKGBUILDDIR>>/src'
rm -f auto/config.cache
if test "Xdistclean" != "Xclean" \
	-a "Xdistclean" != "Xdistclean" \
	-a "Xdistclean" != "Xautoconf" \
	-a "Xdistclean" != "Xreconfig"; then \
    GUI_INC_LOC="" GUI_LIB_LOC="" \
	CC="" CPPFLAGS="" CFLAGS="" \
	LDFLAGS=""  srcdir="." \
	./configure    \
	  \
	   \
	   \
	   \
	   \
	  \
	   \
	 \
	   \
	  \
	; \
fi
cd testdir; /usr/bin/make -f Makefile clean
rm -f auto/config.status auto/config.cache config.log auto/config.log
rm -f auto/config.h auto/link.log auto/link.sed auto/config.mk
touch auto/config.h
cp config.mk.dist auto/config.mk
make[3]: Entering directory '/<<PKGBUILDDIR>>/src/testdir'
rm -rf *.out *.failed *.res *.rej *.orig test.log messages test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out valgrind.*
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src/testdir'
if test -d po; then \
	cd po; /usr/bin/make checkclean; \
fi
make[3]: Entering directory '/<<PKGBUILDDIR>>/src/po'
rm -f *.ck
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src/po'
rm -f *.o objects/* core vim.core vim vim xxd/*.o
rm -f xxd/xxd auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h
rm -f conftest* *~ auto/link.sed
rm -f json_test memfile_test message_test
rm -f runtime pixmaps
rm -rf vim.app
rm -rf mzscheme_base.c
if test -d po; then \
	cd po; /usr/bin/make prefix= clean; \
fi
make[3]: Entering directory '/<<PKGBUILDDIR>>/src/po'
rm -f *.ck
rm -f core core.* *.old.po *.mo *.pot sjiscorr
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src/po'
rm -f tags
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
touch autoconf-stamp
dh_testdir
dh_testdir
dh_testdir
*** DEBIAN *** CONFIGURING VARIANT vim-basic
/usr/bin/make -C src shadow SHADOWDIR=vim-basic
dh_testdir
*** DEBIAN *** CONFIGURING VARIANT vim-tiny
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
ln -s ../runtime .
ln -s ../pixmaps .
mkdir vim-basic
cd vim-basic; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
mkdir vim-basic/auto
cd vim-basic/auto; ln -s ../../auto/configure .
mkdir vim-basic/po
cd vim-basic/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
cd vim-basic; rm -f auto/link.sed
cp Makefile configure vim-basic
rm -f vim-basic/auto/config.mk vim-basic/config.mk.dist
cp config.mk.dist vim-basic/auto/config.mk
cp config.mk.dist vim-basic
mkdir vim-basic/xxd
cd vim-basic/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
if test -d os_mac_rsrc; then \
	cd vim-basic; \
	ln -s ../infplist.xml .; \
	ln -s ../os_mac_rsrc ../os_mac.rsr.hqx ../dehqx.py .; \
fi
mkdir vim-basic/testdir
cd vim-basic/testdir; ln -s ../../testdir/Makefile \
			 ../../testdir/Make_all.mak \
			 ../../testdir/README.txt \
			 ../../testdir/*.in \
			 ../../testdir/*.vim \
			 ../../testdir/*.py \
			 ../../testdir/python* \
			 ../../testdir/sautest \
			 ../../testdir/samples \
			 ../../testdir/test83-tags? \
			 ../../testdir/*.ok .
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
if test -f src/auto/config.cache; then make distclean; fi
/usr/bin/make -C src shadow SHADOWDIR=vim-tiny
cd src/vim-basic && LDFLAGS="-Wl,-z,relro -Wl,-z,now" CPPFLAGS="-Wdate-time" CFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security" ./configure --prefix=/usr --mandir='${prefix}'/share/man --without-local-dir --with-modified-by="pkg-vim-maintainers@lists.alioth.debian.org" --with-compiledby="pkg-vim-maintainers@lists.alioth.debian.org" --enable-fail-if-missing --enable-cscope --enable-gpm --enable-selinux --disable-smack --with-features=huge --enable-multibyte --enable-acl --without-x --enable-gui=no --disable-luainterp --disable-mzschemeinterp --disable-perlinterp --disable-pythoninterp --disable-python3interp --disable-rubyinterp --disable-tclinterp
*** DEBIAN *** CONFIGURING VARIANT vim-gtk
/usr/bin/make -C src shadow SHADOWDIR=vim-gtk
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
mkdir vim-tiny
cd vim-tiny; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
mkdir vim-gtk
mkdir vim-tiny/auto
cd vim-tiny/auto; ln -s ../../auto/configure .
cd vim-gtk; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
mkdir vim-tiny/po
cd vim-tiny/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
*** DEBIAN *** CONFIGURING VARIANT vim-gtk3
/usr/bin/make -C src shadow SHADOWDIR=vim-gtk3
mkdir vim-gtk/auto
cd vim-tiny; rm -f auto/link.sed
cd vim-gtk/auto; ln -s ../../auto/configure .
cp Makefile configure vim-tiny
mkdir vim-gtk/po
cd vim-gtk/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
rm -f vim-tiny/auto/config.mk vim-tiny/config.mk.dist
cd vim-gtk; rm -f auto/link.sed
cp config.mk.dist vim-tiny/auto/config.mk
cp Makefile configure vim-gtk
cp config.mk.dist vim-tiny
rm -f vim-gtk/auto/config.mk vim-gtk/config.mk.dist
cp config.mk.dist vim-gtk/auto/config.mk
mkdir vim-tiny/xxd
cd vim-tiny/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
cp config.mk.dist vim-gtk
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
mkdir vim-gtk3
if test -d os_mac_rsrc; then \
	cd vim-tiny; \
	ln -s ../infplist.xml .; \
	ln -s ../os_mac_rsrc ../os_mac.rsr.hqx ../dehqx.py .; \
fi
mkdir vim-gtk/xxd
cd vim-gtk3; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
cd vim-gtk/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
mkdir vim-tiny/testdir
if test -d os_mac_rsrc; then \
	cd vim-gtk; \
	ln -s ../infplist.xml .; \
	ln -s ../os_mac_rsrc ../os_mac.rsr.hqx ../dehqx.py .; \
fi
cd vim-tiny/testdir; ln -s ../../testdir/Makefile \
			 ../../testdir/Make_all.mak \
			 ../../testdir/README.txt \
			 ../../testdir/*.in \
			 ../../testdir/*.vim \
			 ../../testdir/*.py \
			 ../../testdir/python* \
			 ../../testdir/sautest \
			 ../../testdir/samples \
			 ../../testdir/test83-tags? \
			 ../../testdir/*.ok .
mkdir vim-gtk/testdir
mkdir vim-gtk3/auto
cd vim-gtk/testdir; ln -s ../../testdir/Makefile \
			 ../../testdir/Make_all.mak \
			 ../../testdir/README.txt \
			 ../../testdir/*.in \
			 ../../testdir/*.vim \
			 ../../testdir/*.py \
			 ../../testdir/python* \
			 ../../testdir/sautest \
			 ../../testdir/samples \
			 ../../testdir/test83-tags? \
			 ../../testdir/*.ok .
cd vim-gtk3/auto; ln -s ../../auto/configure .
mkdir vim-gtk3/po
cd vim-gtk3/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
cd vim-gtk3; rm -f auto/link.sed
cp Makefile configure vim-gtk3
rm -f vim-gtk3/auto/config.mk vim-gtk3/config.mk.dist
cp config.mk.dist vim-gtk3/auto/config.mk
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
if test -f src/auto/config.cache; then make distclean; fi
if test -f src/auto/config.cache; then make distclean; fi
cp config.mk.dist vim-gtk3
cd src/vim-tiny && LDFLAGS="-Wl,-z,relro -Wl,-z,now" CPPFLAGS="-Wdate-time" CFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC" ./configure --prefix=/usr --mandir='${prefix}'/share/man --without-local-dir --with-modified-by="pkg-vim-maintainers@lists.alioth.debian.org" --with-compiledby="pkg-vim-maintainers@lists.alioth.debian.org" --enable-fail-if-missing --with-features=small --disable-gui --disable-xsmp --disable-xsmp-interact --disable-netbeans --disable-gpm --enable-nls --enable-multibyte --enable-acl --enable-selinux --disable-smack
cd src/vim-gtk && LDFLAGS="-Wl,-z,relro -Wl,-z,now" CPPFLAGS="-Wdate-time" CFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security" ./configure --prefix=/usr --mandir='${prefix}'/share/man --without-local-dir --with-modified-by="pkg-vim-maintainers@lists.alioth.debian.org" --with-compiledby="pkg-vim-maintainers@lists.alioth.debian.org" --enable-fail-if-missing --enable-cscope --enable-gpm --enable-selinux --disable-smack --with-features=huge --enable-multibyte --enable-acl --with-x --enable-xim --enable-gui=gtk2 --enable-gtk2-check --disable-gnome-check --disable-motif-check --disable-athena-check --disable-fontset --enable-luainterp --disable-mzschemeinterp --enable-perlinterp --enable-python3interp --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf --disable-pythoninterp --enable-rubyinterp --enable-tclinterp --with-tclsh=/usr/bin/tclsh
mkdir vim-gtk3/xxd
cd vim-gtk3/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
if test -d os_mac_rsrc; then \
	cd vim-gtk3; \
	ln -s ../infplist.xml .; \
	ln -s ../os_mac_rsrc ../os_mac.rsr.hqx ../dehqx.py .; \
fi
mkdir vim-gtk3/testdir
cd vim-gtk3/testdir; ln -s ../../testdir/Makefile \
			 ../../testdir/Make_all.mak \
			 ../../testdir/README.txt \
			 ../../testdir/*.in \
			 ../../testdir/*.vim \
			 ../../testdir/*.py \
			 ../../testdir/python* \
			 ../../testdir/sautest \
			 ../../testdir/samples \
			 ../../testdir/test83-tags? \
			 ../../testdir/*.ok .
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
if test -f src/auto/config.cache; then make distclean; fi
cd src/vim-gtk3 && LDFLAGS="-Wl,-z,relro -Wl,-z,now" CPPFLAGS="-Wdate-time" CFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security" ./configure --prefix=/usr --mandir='${prefix}'/share/man --without-local-dir --with-modified-by="pkg-vim-maintainers@lists.alioth.debian.org" --with-compiledby="pkg-vim-maintainers@lists.alioth.debian.org" --enable-fail-if-missing --enable-cscope --enable-gpm --enable-selinux --disable-smack --with-features=huge --enable-multibyte --enable-acl --with-x --enable-xim --enable-gui=gtk3 --enable-gtk3-check --disable-gnome-check --disable-motif-check --disable-athena-check --disable-fontset --enable-luainterp --disable-mzschemeinterp --enable-perlinterp --enable-python3interp --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf --disable-pythoninterp --enable-rubyinterp --enable-tclinterp --with-tclsh=/usr/bin/tclsh
configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... checking whether the C compiler works... configure: creating cache auto/config.cache
yes
checking for gcc... gcc
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
yes
checking for C compiler default output file name... a.out
checking for suffix of executables... checking for suffix of executables... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 

checking whether we are cross compiling... checking whether we are cross compiling... 
checking whether we are cross compiling... 
checking whether we are cross compiling... no
no
checking for suffix of object files... no
checking for suffix of object files... no
checking for suffix of object files... checking for suffix of object files... o
o
o
o
checking whether we are using the GNU C compiler... checking whether we are using the GNU C compiler... checking whether we are using the GNU C compiler... checking whether we are using the GNU C compiler... yes
yes
yes
yes
checking whether gcc accepts -g... checking whether gcc accepts -g... checking whether gcc accepts -g... checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... yes
yes
checking for gcc option to accept ISO C89... checking for gcc option to accept ISO C89... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... none needed
none needed
checking how to run the C preprocessor... checking how to run the C preprocessor... none needed
checking how to run the C preprocessor... gcc -E
gcc -E
gcc -E
gcc -E
checking for grep that handles long lines and -e... checking for grep that handles long lines and -e... checking for grep that handles long lines and -e... checking for grep that handles long lines and -e... /bin/grep
/bin/grep
/bin/grep
/bin/grep
checking for egrep... checking for egrep... checking for egrep... checking for egrep... /bin/grep -E
/bin/grep -E
/bin/grep -E
/bin/grep -E
checking for fgrep... checking for fgrep... checking for fgrep... checking for fgrep... /bin/grep -F
/bin/grep -F
checking for library containing strerror... /bin/grep -F
checking for library containing strerror... /bin/grep -F
checking for library containing strerror... checking for library containing strerror... none required
checking for gawk... no
checking for mawk... mawk
none required
checking for strip... checking for gawk... strip
checking for ANSI C header files... none required
no
checking for mawk... checking for gawk... mawk
none required
checking for strip... no
checking for gawk... checking for mawk... strip
mawk
no
checking for ANSI C header files... checking for mawk... checking for strip... mawk
checking for strip... strip
checking for ANSI C header files... strip
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
yes
checking for sys/wait.h that is POSIX.1 compatible... checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
yes
yes
yes
checking --enable-fail-if-missing argument... yes
checking --enable-fail-if-missing argument... yes
checking --enable-fail-if-missing argument... yes
checking --enable-fail-if-missing argument... yes
checking for recent clang version... checking for recent clang version... checking for recent clang version... checking for recent clang version... no
no
configure: checking for buggy tools...
configure: checking for buggy tools...
no
no
configure: checking for buggy tools...
configure: checking for buggy tools...
checking for BeOS... checking for BeOS... checking for BeOS... checking for BeOS... no
checking for QNX... no
checking for QNX... no
checking for QNX... no
no
checking for QNX... checking for Darwin (Mac OS X)... no
checking for Darwin (Mac OS X)... no
checking for Darwin (Mac OS X)... no
checking for Darwin (Mac OS X)... no
checking AvailabilityMacros.h usability... no
no
checking AvailabilityMacros.h usability... checking AvailabilityMacros.h usability... no
checking AvailabilityMacros.h usability... no
no
checking AvailabilityMacros.h presence... checking AvailabilityMacros.h presence... no
checking AvailabilityMacros.h presence... no
checking AvailabilityMacros.h presence... no
no
no
no
checking for AvailabilityMacros.h... checking for AvailabilityMacros.h... checking for AvailabilityMacros.h... checking for AvailabilityMacros.h... no
no
no
no
checking --with-local-dir argument... checking --with-local-dir argument... checking --with-local-dir argument... checking --with-local-dir argument... no
no
no
no
checking --with-vim-name argument... checking --with-vim-name argument... checking --with-vim-name argument... checking --with-vim-name argument... Defaulting to vim
Defaulting to vim
Defaulting to vim
checking --with-ex-name argument... checking --with-ex-name argument... checking --with-ex-name argument... Defaulting to vim
Defaulting to ex
Defaulting to ex
checking --with-ex-name argument... Defaulting to ex
checking --with-view-name argument... checking --with-view-name argument... checking --with-view-name argument... Defaulting to ex
Defaulting to view
Defaulting to view
Defaulting to view
checking --with-global-runtime argument... checking --with-global-runtime argument... checking --with-view-name argument... no
no
Defaulting to view
checking --with-global-runtime argument... checking --with-modified-by argument... checking --with-modified-by argument... checking --with-global-runtime argument... no
pkg-vim-maintainers@lists.alioth.debian.org
pkg-vim-maintainers@lists.alioth.debian.org
no
checking --with-modified-by argument... checking --with-modified-by argument... pkg-vim-maintainers@lists.alioth.debian.org
pkg-vim-maintainers@lists.alioth.debian.org
checking if character set is EBCDIC... checking if character set is EBCDIC... checking if character set is EBCDIC... checking if character set is EBCDIC... no
checking --disable-smack argument... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... no
checking --disable-smack argument... yes
no
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... checking --disable-smack argument... yes
no
checking --disable-selinux argument... no
checking --disable-smack argument... checking for is_selinux_enabled in -lselinux... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... yes
yes
checking --with-features argument... checking --with-features argument... huge
huge
checking --with-compiledby argument... checking --with-compiledby argument... pkg-vim-maintainers@lists.alioth.debian.org
pkg-vim-maintainers@lists.alioth.debian.org
checking --disable-xsmp argument... checking --disable-xsmp argument... no
no
checking --disable-xsmp-interact argument... checking --disable-xsmp-interact argument... no
no
checking --enable-luainterp argument... checking --enable-luainterp argument... yes
yes
yes
checking --with-features argument... checking --with-lua-prefix argument... huge
no
checking --with-lua-prefix argument... checking LUA_PREFIX environment var... not set, default to /usr
no
checking --with-luajit... checking LUA_PREFIX environment var... yes
no
not set, default to /usr
checking --with-compiledby argument... checking --with-luajit... checking for lua... no
pkg-vim-maintainers@lists.alioth.debian.org
checking --with-features argument... checking for lua... checking --disable-xsmp argument... small
no
checking --disable-xsmp-interact argument... /usr/bin/lua
checking --with-compiledby argument... no
checking Lua version... /usr/bin/lua
checking Lua version... checking --enable-luainterp argument... pkg-vim-maintainers@lists.alioth.debian.org
checking --disable-xsmp argument... no
yes
checking --enable-luainterp argument... no
checking --enable-mzschemeinterp argument... no
checking --enable-mzschemeinterp argument... no
5.2
5.2
checking if lua.h can be found in /usr/include... checking if lua.h can be found in /usr/include... no
no
checking if lua.h can be found in /usr/include/lua5.2... checking if lua.h can be found in /usr/include/lua5.2... yes
yes
checking if link with -L/usr/lib -llua5.2 is sane... checking if link with -L/usr/lib -llua5.2 is sane... checking --enable-perlinterp argument... no
checking --enable-perlinterp argument... no
checking --enable-pythoninterp argument... no
checking --enable-pythoninterp argument... no
checking --enable-python3interp argument... no
checking --enable-python3interp argument... no
checking --enable-tclinterp argument... no
checking --enable-tclinterp argument... no
checking --enable-rubyinterp argument... no
checking --enable-cscope argument... no
checking --enable-workshop argument... no
checking --disable-netbeans argument... yes
checking --disable-channel argument... cannot use channels with tiny or small features
checking --enable-rubyinterp argument... no
checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... no
checking --enable-xim argument... defaulting to auto
checking --enable-fontset argument... no
checking --enable-cscope argument... yes
checking --enable-workshop argument... no
checking --disable-netbeans argument... no
checking --disable-channel argument... no
checking for socket in -lsocket... checking for xmkmf... no
checking for X... no
checking for gethostbyname in -lnsl... yes
yes
checking --enable-mzschemeinterp argument... checking --enable-mzschemeinterp argument... no
no
checking --enable-perlinterp argument... checking --enable-perlinterp argument... yes
yes
checking for perl... checking for perl... /usr/bin/perl
/usr/bin/perl
checking Perl version... checking Perl version... OK
OK
yes
checking whether compiling with process communication is possible... libraries , headers 
checking for gethostbyname... yes
checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... no
checking --enable-xim argument... defaulting to auto
checking --enable-fontset argument... no
defaulting to: don't HAVE_X11
checking --enable-gui argument... no GUI support
checking X11/SM/SMlib.h usability... yes
checking for connect... yes
checking X11/SM/SMlib.h presence... yes
checking for X11/SM/SMlib.h... yes
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... yes
checking for remove... yes
checking for shmat... no
checking whether __DATE__ and __TIME__ work... checking if compile and link flags for Perl are sane... checking if compile and link flags for Perl are sane... yes
checking whether __attribute__((unused)) is allowed... yes
checking for IceConnectionNumber in -lICE... yes
checking elf.h usability... yes
yes
yes
checking --enable-pythoninterp argument... checking --enable-pythoninterp argument... no
no
checking --enable-python3interp argument... checking --enable-python3interp argument... yes
yes
checking for python3... checking for python3... /usr/bin/python3
/usr/bin/python3
checking Python version... checking Python version... checking if X11 header files can be found... yes
checking elf.h presence... 3.5
3.5
checking Python is 3.0 or better... checking Python is 3.0 or better... yes
checking for elf.h... yes
checking for main in -lelf... yep
yep
checking Python's abiflags... checking Python's abiflags... yes
checking for _XdmcpAuthDoIt in -lXdmcp... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... m
checking Python's install prefix... m
checking Python's install prefix... yes
checking for IceOpenConnection in -lICE... /usr
/usr
checking Python's execution prefix... checking Python's execution prefix... none required
checking stdint.h usability... /usr
/usr
yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking stdint.h presence... checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
yes
checking for stdint.h... yes
checking stdlib.h usability... checking Python3's dll name... checking Python3's dll name... libpython3.5m.so.1.0
libpython3.5m.so.1.0
checking if -pthread should be used... checking if -pthread should be used... yes
checking if X11 header files implicitly declare return values... yes
checking stdlib.h presence... yes
checking for stdlib.h... no
yes
checking size of wchar_t is 2 bytes... checking string.h usability... yes
yes
checking if compile and link flags for Python 3 are sane... checking if compile and link flags for Python 3 are sane... yes
checking string.h presence... yes
checking for string.h... yes
checking sys/select.h usability... no
checking --enable-gui argument... yes
yes
no GUI support
checking if -fPIE can be added for Python3... checking if -fPIE can be added for Python3... checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/utsname.h usability... yes
yes
checking --enable-tclinterp argument... yes
checking --enable-tclinterp argument... yes
checking --with-tclsh argument... /usr/bin/tclsh
checking --with-tclsh argument... checking for /usr/bin/tclsh... /usr/bin/tclsh
checking for /usr/bin/tclsh... no
no
checking for tclsh... checking for tclsh... /usr/bin/tclsh
/usr/bin/tclsh
checking Tcl version... checking Tcl version... no
checking whether __DATE__ and __TIME__ work... 8.6 - OK
8.6 - OK
checking for location of Tcl include... /usr/include/tcl8.6/tcl.h
checking for location of tclConfig.sh script... checking for location of Tcl include... /usr/include/tcl8.6/tcl.h
checking for location of tclConfig.sh script... yes
checking sys/utsname.h presence... /usr/lib/tclConfig.sh
/usr/lib/tclConfig.sh
yes
checking for sys/utsname.h... yes
checking termcap.h usability... yes
checking whether __attribute__((unused)) is allowed... yes
checking elf.h usability... no
checking termcap.h presence... no
checking for termcap.h... no
checking fcntl.h usability... checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... checking --enable-rubyinterp argument... yes
/usr/bin/ruby
checking Ruby version... checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... yes
checking elf.h presence... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sgtty.h usability... no
checking for dirent.h that defines DIR... yes
yes
checking sgtty.h presence... checking for library containing opendir... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... OK
checking Ruby rbconfig... OK
checking Ruby rbconfig... none required
checking stdint.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking stdint.h presence... yes
checking for stdint.h... yes
checking stdlib.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/types.h usability... RbConfig
checking Ruby header files... yes
checking stdlib.h presence... RbConfig
checking Ruby header files... yes
checking for stdlib.h... yes
checking string.h usability... yes
checking sys/types.h presence... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking string.h presence... yes
checking for string.h... yes
checking sys/select.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking iconv.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/utsname.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking inttypes.h usability... /usr/include/ruby-2.3.0
yes
checking sys/utsname.h presence... /usr/include/ruby-2.3.0
yes
checking for sys/utsname.h... yes
checking termcap.h usability... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
checking langinfo.h usability... no
checking termcap.h presence... no
checking for termcap.h... no
checking fcntl.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking math.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sgtty.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... yes
checking math.h presence... yes
checking sys/ioctl.h presence... yes
checking for math.h... yes
checking unistd.h usability... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking unistd.h presence... yes
checking for sys/time.h... yes
yes
checking for unistd.h... yes
checking sys/types.h usability... checking stropts.h usability... yes
checking sys/types.h presence... yes
checking stropts.h presence... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking for stropts.h... yes
checking errno.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking iconv.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking sys/resource.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking inttypes.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
checking langinfo.h usability... no
checking sys/systeminfo.h presence... no
checking for sys/systeminfo.h... no
checking locale.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking math.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/stream.h usability... no
checking sys/stream.h presence... yes
checking math.h presence... no
checking for sys/stream.h... no
checking termios.h usability... yes
checking for math.h... yes
checking unistd.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking libc.h usability... yes
checking unistd.h presence... yes
checking for unistd.h... yes
no
checking libc.h presence... checking stropts.h usability... no
checking for libc.h... no
checking sys/statfs.h usability... checking --enable-cscope argument... checking --enable-cscope argument... yes
yes
checking --enable-workshop argument... checking --enable-workshop argument... no
no
checking --disable-netbeans argument... checking --disable-netbeans argument... no
no
checking --disable-channel argument... checking --disable-channel argument... no
no
checking for socket in -lsocket... checking for socket in -lsocket... yes
checking stropts.h presence... yes
checking sys/statfs.h presence... yes
checking for stropts.h... yes
checking errno.h usability... yes
checking for sys/statfs.h... yes
checking poll.h usability... no
checking for gethostbyname in -lnsl... no
checking for gethostbyname in -lnsl... yes
checking errno.h presence... yes
checking poll.h presence... yes
checking for errno.h... yes
checking sys/resource.h usability... yes
checking for poll.h... yes
yes
checking whether compiling with process communication is possible... yes
checking whether compiling with process communication is possible... checking sys/poll.h usability... yes
checking sys/resource.h presence... yes
checking sys/poll.h presence... yes
checking for sys/resource.h... yes
yes
checking for sys/poll.h... yes
checking sys/systeminfo.h usability... checking pwd.h usability... yes
yes
checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... checking --enable-multibyte argument... no
yes
checking --enable-xim argument... checking --enable-hangulinput argument... yes
checking --enable-fontset argument... no
checking --enable-xim argument... no
yes
checking --enable-fontset argument... no
checking for xmkmf... checking for xmkmf... no
checking for X... no
checking for X... no
checking sys/systeminfo.h presence... yes
checking pwd.h presence... no
checking for sys/systeminfo.h... no
checking locale.h usability... yes
checking for pwd.h... yes
checking utime.h usability... yes
checking locale.h presence... yes
checking utime.h presence... yes
checking for locale.h... yes
libraries , headers 
libraries , headers 
checking sys/stream.h usability... yes
checking for utime.h... yes
checking sys/param.h usability... no
checking sys/stream.h presence... checking for gethostbyname... checking for gethostbyname... no
checking for sys/stream.h... no
yes
checking sys/param.h presence... checking termios.h usability... yes
checking for sys/param.h... yes
checking libintl.h usability... yes
checking termios.h presence... yes
checking for connect... yes
checking for connect... yes
checking for termios.h... yes
checking libc.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking libgen.h usability... yes
yes
checking for remove... checking for remove... no
checking libc.h presence... no
checking for libc.h... no
checking sys/statfs.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking util/debug.h usability... yes
checking for shmat... yes
checking for shmat... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking poll.h usability... no
checking util/debug.h presence... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking for IceConnectionNumber in -lICE... yes
checking for IceConnectionNumber in -lICE... yes
checking poll.h presence... yes
checking for poll.h... yes
checking sys/poll.h usability... no
checking util/msg18n.h presence... no
checking for util/msg18n.h... no
yes
yes
checking frame.h usability... checking if X11 header files can be found... checking if X11 header files can be found... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
no
checking frame.h presence... checking pwd.h usability... no
checking for frame.h... no
yes
yes
checking for _XdmcpAuthDoIt in -lXdmcp... checking for _XdmcpAuthDoIt in -lXdmcp... checking sys/acl.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
yes
checking sys/acl.h presence... checking utime.h usability... yes
checking for sys/acl.h... yes
yes
checking for IceOpenConnection in -lICE... yes
checking for IceOpenConnection in -lICE... checking sys/access.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
no
checking sys/access.h presence... checking sys/param.h usability... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking for XpmCreatePixmapFromData in -lXpm... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... yes
checking sys/param.h presence... yes
checking sys/sysinfo.h presence... yes
checking if X11 header files implicitly declare return values... yes
checking if X11 header files implicitly declare return values... yes
checking for sys/sysinfo.h... yes
yes
checking for sys/param.h... yes
checking wchar.h usability... checking libintl.h usability... no
no
checking size of wchar_t is 2 bytes... checking size of wchar_t is 2 bytes... yes
checking libintl.h presence... yes
checking wchar.h presence... yes
checking for libintl.h... yes
yes
checking for wchar.h... yes
checking libgen.h usability... checking wctype.h usability... yes
checking libgen.h presence... yes
checking wctype.h presence... no
checking --enable-gui argument... no
checking --enable-gui argument... GTK+ 2.x GUI support
checking --disable-gtktest argument... GTK+ 3.x GUI support
gtk test enabled
checking for pkg-config... /usr/bin/pkg-config
checking --disable-gtktest argument... gtk test enabled
checking for pkg-config... /usr/bin/pkg-config
yes
checking for libgen.h... yes
yes
checking for wctype.h... yes
checking util/debug.h usability... checking for sys/ptem.h... checking for GTK - version >= 2.2.0... checking for GTK - version >= 3.0.0... no
checking for sys/sysctl.h... no
checking util/debug.h presence... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking for pthread_np.h... no
checking util/msg18n.h presence... no
checking strings.h usability... no
checking for util/msg18n.h... no
checking frame.h usability... yes
checking strings.h presence... no
checking frame.h presence... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... no
checking for frame.h... no
checking sys/acl.h usability... yes
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
checking sys/access.h usability... yes
checking for working volatile... yes
checking for mode_t... no
checking sys/access.h presence... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... yes
checking for off_t... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking for pid_t... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for sys/ptem.h... no
checking for sys/sysctl.h... yes; found version 2.24.31
checking version of Gdk-Pixbuf... OK.
checking for glib-compile-resources... /usr/bin/glib-compile-resources
checking glib-compile-resources... usable.
checking --disable-icon-cache-update argument... not set
checking for gtk-update-icon-cache... /usr/bin/gtk-update-icon-cache
checking --disable-desktop-database-update argument... not set
checking for update-desktop-database... no
not found in PATH.
checking X11/SM/SMlib.h usability... yes
checking for pthread_np.h... yes
checking X11/SM/SMlib.h presence... yes
checking for size_t... yes
checking for X11/SM/SMlib.h... yes
no
checking X11/xpm.h usability... checking strings.h usability... yes
checking strings.h presence... yes
checking X11/xpm.h presence... yes; found version 3.22.16
yes
checking for strings.h... yes
checking version of Gdk-Pixbuf... checking if strings.h can be included after string.h... OK.
checking for glib-compile-resources... /usr/bin/glib-compile-resources
checking glib-compile-resources... usable.
checking --disable-icon-cache-update argument... not set
checking for gtk-update-icon-cache... /usr/bin/gtk-update-icon-cache
checking --disable-desktop-database-update argument... not set
checking for update-desktop-database... no
not found in PATH.
checking X11/SM/SMlib.h usability... yes
checking for X11/xpm.h... yes
checking X11/Sunkeysym.h usability... yes
yes
checking for uid_t in sys/types.h... checking whether gcc needs -traditional... yes
checking for uint32_t... yes
checking X11/SM/SMlib.h presence... no
checking for an ANSI C-conforming const... yes
checking for X11/SM/SMlib.h... yes
yes
checking X11/Sunkeysym.h presence... checking X11/xpm.h usability... yes
checking for X11/Sunkeysym.h... yes
checking for XIMText in X11/Xlib.h... yes
checking for working volatile... yes
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... yes
checking whether time.h and sys/time.h may both be included... yes
checking for mode_t... yes
checking X11/xpm.h presence... yes
checking for ino_t... yes
checking for X11/xpm.h... yes
checking X11/Sunkeysym.h usability... no
checking whether __DATE__ and __TIME__ work... yes
checking X11/Sunkeysym.h presence... yes
checking for X11/Sunkeysym.h... yes
checking for XIMText in X11/Xlib.h... yes
checking whether __attribute__((unused)) is allowed... yes
checking for off_t... yes
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... yes
checking for dev_t... yes
checking elf.h usability... yes
checking elf.h presence... no
checking whether __DATE__ and __TIME__ work... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking for pid_t... yes
checking whether __attribute__((unused)) is allowed... no
checking for dirent.h that defines DIR... yes
checking whether byte ordering is bigendian... yes
checking elf.h usability... yes
checking for library containing opendir... yes
checking elf.h presence... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking for size_t... none required
checking stdint.h usability... no
checking for inline... inline
checking for rlim_t... no
checking for dirent.h that defines DIR... yes
yes
checking stdint.h presence... checking for stack_t... yes
checking for stdint.h... yes
checking stdlib.h usability... yes
checking whether stack_t has an ss_base field... yes
checking for library containing opendir... yes
checking for uid_t in sys/types.h... yes
checking stdlib.h presence... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking for uint32_t... yes
checking for stdlib.h... yes
checking string.h usability... none required
checking stdint.h usability... yes
yes
checking string.h presence... yes
checking whether time.h and sys/time.h may both be included... yes
checking stdint.h presence... yes
checking for string.h... yes
yes
checking for stdint.h... yes
checking stdlib.h usability... checking sys/select.h usability... yes
checking for ino_t... yes
checking stdlib.h presence... yes
checking sys/select.h presence... checking whether we talk terminfo... yes
checking for sys/select.h... yes
yes
checking for stdlib.h... yes
checking sys/utsname.h usability... checking string.h usability... yes
checking string.h presence... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
yes
checking for string.h... yes
yes
checking for dev_t... checking termcap.h usability... checking sys/select.h usability... yes
checking what tgetent() returns for an unknown terminal... no
checking termcap.h presence... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
no
checking for termcap.h... no
checking fcntl.h usability... checking sys/utsname.h usability... zero
checking whether termcap.h contains ospeed... no
checking whether ospeed can be extern... yes
checking fcntl.h presence... yes
checking sys/utsname.h presence... yes
checking whether byte ordering is bigendian... yes
checking for sys/utsname.h... yes
yes
checking for fcntl.h... yes
checking termcap.h usability... checking sgtty.h usability... yes
checking whether termcap.h contains UP, BC and PC... no
checking termcap.h presence... yes
checking sgtty.h presence... no
checking whether UP, BC and PC can be extern... yes
checking for sgtty.h... yes
no
checking for termcap.h... no
checking fcntl.h usability... checking sys/ioctl.h usability... no
checking for inline... inline
checking for rlim_t... yes
checking fcntl.h presence... yes
checking sys/ioctl.h presence... yes
checking whether tputs() uses outfuntype... yes
checking for sys/ioctl.h... yes
yes
checking for fcntl.h... yes
yes
checking for stack_t... checking sys/time.h usability... checking sgtty.h usability... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking whether stack_t has an ss_base field... yes
checking for /dev/ptc... no
checking for SVR4 ptys... yes
yes
checking sgtty.h presence... checking sys/time.h presence... no
checking --with-tlib argument... empty: automatic terminal library selection
yes
checking for sgtty.h... yes
yes
checking for sys/time.h... yes
checking for tgetent in -ltinfo... checking sys/ioctl.h usability... checking sys/types.h usability... yes
yes
checking sys/ioctl.h presence... checking for ptyranges... yes
checking sys/types.h presence... yes
don't know
yes
checking for sys/ioctl.h... yes
checking default tty permissions/group... yes
checking for sys/types.h... yes
checking sys/time.h usability... checking termio.h usability... yes
checking sys/time.h presence... yes
checking termio.h presence... yes
checking for sys/time.h... yes
checking sys/types.h usability... checking whether we talk terminfo... yes
checking for termio.h... yes
checking iconv.h usability... can't determine - assume ptys are world accessible
world
checking return type of signal handlers... yes
checking sys/types.h presence... yes
checking iconv.h presence... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking for iconv.h... yes
void
checking for struct sigcontext... checking inttypes.h usability... yes
checking what tgetent() returns for an unknown terminal... yes
yes
checking termio.h presence... checking getcwd implementation is broken... yes
checking inttypes.h presence... yes
checking for termio.h... yes
yes
checking for inttypes.h... yes
checking iconv.h usability... checking langinfo.h usability... zero
checking whether termcap.h contains ospeed... no
checking whether ospeed can be extern... yes
checking iconv.h presence... no
checking for fchdir... yes
checking langinfo.h presence... yes
checking for iconv.h... yes
checking inttypes.h usability... yes
checking for langinfo.h... yes
checking math.h usability... yes
checking whether termcap.h contains UP, BC and PC... yes
yes
checking inttypes.h presence... checking for fchown... no
checking whether UP, BC and PC can be extern... yes
checking for inttypes.h... yes
checking langinfo.h usability... yes
checking math.h presence... yes
yes
checking whether tputs() uses outfuntype... checking for fsync... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
no
checking whether sys/select.h and sys/time.h may both be included... checking math.h usability... yes
yes
checking for /dev/ptc... checking for math.h... no
checking for SVR4 ptys... yes
checking unistd.h usability... yes
checking for getcwd... yes
checking for ptyranges... yes
checking unistd.h presence... don't know
checking default tty permissions/group... yes
checking math.h presence... yes
checking for unistd.h... yes
yes
checking for getpseudotty... checking stropts.h usability... yes
checking for math.h... yes
checking unistd.h usability... yes
checking stropts.h presence... no
checking for getpwent... yes
checking for stropts.h... yes
checking errno.h usability... can't determine - assume ptys are world accessible
world
checking return type of signal handlers... yes
checking unistd.h presence... void
checking for struct sigcontext... yes
checking for unistd.h... yes
yes
checking errno.h presence... checking stropts.h usability... yes
yes
checking for errno.h... yes
checking for getpwnam... checking sys/resource.h usability... yes
checking getcwd implementation is broken... yes
checking stropts.h presence... yes
checking sys/resource.h presence... yes
checking for stropts.h... yes
yes
checking errno.h usability... checking for getpwuid... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... no
checking for fchdir... yes
checking errno.h presence... yes
no
checking sys/systeminfo.h presence... checking for getrlimit... yes
checking for errno.h... yes
checking sys/resource.h usability... yes
no
checking for sys/systeminfo.h... no
checking locale.h usability... checking for fchown... yes
yes
checking sys/resource.h presence... checking for gettimeofday... yes
checking locale.h presence... yes
checking for sys/resource.h... yes
yes
yes
checking for locale.h... yes
checking for fsync... checking sys/systeminfo.h usability... checking sys/stream.h usability... yes
no
checking sys/systeminfo.h presence... checking for getwd... no
checking sys/stream.h presence... yes
no
checking for sys/systeminfo.h... no
no
checking for sys/stream.h... no
checking for getcwd... checking locale.h usability... checking termios.h usability... yes
checking for lstat... yes
checking locale.h presence... yes
checking termios.h presence... yes
checking for getpseudotty... yes
checking for locale.h... yes
yes
checking for termios.h... yes
checking sys/stream.h usability... checking libc.h usability... yes
checking for memset... no
checking libc.h presence... no
checking sys/stream.h presence... no
checking for getpwent... no
checking for libc.h... no
no
checking for sys/stream.h... no
checking sys/statfs.h usability... checking termios.h usability... yes
yes
checking for mkdtemp... yes
checking sys/statfs.h presence... yes
checking termios.h presence... checking for getpwnam... yes
checking for sys/statfs.h... yes
yes
checking for termios.h... yes
checking poll.h usability... checking libc.h usability... yes
yes
checking for nanosleep... checking for getpwuid... no
checking libc.h presence... yes
checking poll.h presence... yes
checking for poll.h... yes
no
checking for libc.h... no
checking sys/statfs.h usability... checking sys/poll.h usability... yes
yes
checking for getrlimit... checking for opendir... yes
yes
checking sys/poll.h presence... checking sys/statfs.h presence... yes
yes
checking for sys/poll.h... checking for sys/statfs.h... yes
yes
checking pwd.h usability... checking poll.h usability... yes
yes
checking for putenv... checking for gettimeofday... yes
checking poll.h presence... yes
checking pwd.h presence... yes
checking for poll.h... yes
yes
checking for pwd.h... yes
checking sys/poll.h usability... checking utime.h usability... yes
yes
checking for qsort... checking for getwd... yes
checking utime.h presence... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
yes
checking for utime.h... yes
checking pwd.h usability... checking sys/param.h usability... yes
checking for readlink... yes
checking for lstat... yes
checking pwd.h presence... yes
checking sys/param.h presence... yes
checking for pwd.h... yes
checking utime.h usability... yes
checking for sys/param.h... yes
checking libintl.h usability... yes
checking for select... yes
checking for memset... yes
checking utime.h presence... yes
checking for utime.h... yes
yes
checking libintl.h presence... checking sys/param.h usability... yes
checking for libintl.h... yes
yes
checking libgen.h usability... yes
checking for setenv... checking for mkdtemp... yes
checking sys/param.h presence... yes
checking libgen.h presence... yes
checking for libgen.h... yes
yes
checking util/debug.h usability... yes
checking for sys/param.h... yes
yes
checking for setpgid... checking for nanosleep... checking libintl.h usability... no
checking util/debug.h presence... yes
yes
checking libintl.h presence... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking for setsid... yes
checking for libintl.h... yes
checking for opendir... checking libgen.h usability... no
checking util/msg18n.h presence... yes
yes
checking libgen.h presence... no
checking for util/msg18n.h... no
yes
checking for sigaltstack... checking frame.h usability... checking for putenv... yes
checking for libgen.h... yes
checking util/debug.h usability... no
checking frame.h presence... yes
yes
no
checking for frame.h... no
no
checking util/debug.h presence... checking for sigstack... checking sys/acl.h usability... checking for qsort... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking sys/acl.h presence... yes
yes
checking for readlink... no
checking util/msg18n.h presence... yes
checking for sys/acl.h... yes
checking for sigset... checking sys/access.h usability... no
checking for util/msg18n.h... no
checking frame.h usability... yes
no
checking sys/access.h presence... checking for select... yes
no
checking frame.h presence... checking for sigsetjmp... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... no
checking for frame.h... no
checking sys/acl.h usability... yes
checking for setenv... yes
checking sys/sysinfo.h presence... no
yes
checking sys/acl.h presence... checking for sigaction... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... yes
checking for sys/acl.h... yes
checking sys/access.h usability... yes
checking for setpgid... yes
yes
checking wchar.h presence... checking for sigprocmask... no
checking sys/access.h presence... yes
checking for wchar.h... yes
no
checking for sys/access.h... no
checking wctype.h usability... checking sys/sysinfo.h usability... yes
checking for setsid... yes
checking for sigvec... yes
yes
checking wctype.h presence... checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
yes
checking for wctype.h... yes
checking for sys/ptem.h... checking wchar.h usability... no
checking for sys/sysctl.h... yes
checking for sigaltstack... no
checking for strcasecmp... yes
checking wchar.h presence... yes
checking for pthread_np.h... yes
checking for wchar.h... yes
checking wctype.h usability... yes
no
checking strings.h usability... checking for sigstack... yes
checking for strerror... yes
checking wctype.h presence... yes
checking for wctype.h... yes
yes
checking strings.h presence... checking for sys/ptem.h... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... yes
checking for sigset... no
checking for sys/sysctl.h... yes
checking for strftime... yes
checking whether gcc needs -traditional... yes
checking for pthread_np.h... no
checking for an ANSI C-conforming const... yes
checking for sigsetjmp... no
checking strings.h usability... yes
checking for stricmp... yes
checking for working volatile... yes
checking for mode_t... no
yes
checking strings.h presence... checking for sigaction... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... no
checking for strncasecmp... yes
checking whether gcc needs -traditional... yes
checking for sigprocmask... no
checking for an ANSI C-conforming const... yes
checking for strnicmp... yes
checking for working volatile... yes
checking for off_t... yes
yes
checking for mode_t... checking for sigvec... no
checking for strpbrk... no
checking for strcasecmp... yes
checking for pid_t... yes
checking for strtol... yes
checking for off_t... yes
checking for strerror... yes
checking for tgetent... yes
checking for size_t... yes
checking for strftime... yes
checking for pid_t... yes
checking for towlower... yes
checking for stricmp... yes
checking for towupper... yes
checking for uid_t in sys/types.h... yes
checking for uint32_t... yes
checking for size_t... no
checking for strncasecmp... yes
checking for iswupper... yes
checking whether time.h and sys/time.h may both be included... yes
checking for strnicmp... yes
checking for ino_t... yes
checking for usleep... yes
checking for uid_t in sys/types.h... yes
checking for uint32_t... no
checking for strpbrk... yes
checking for utime... yes
checking whether time.h and sys/time.h may both be included... yes
checking for dev_t... yes
checking for strtol... yes
checking for ino_t... yes
checking for utimes... yes
checking for tgetent... yes
checking for _LARGEFILE_SOURCE value needed for large files... yes
checking whether byte ordering is bigendian... yes
yes
checking for dev_t... checking for towlower... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... yes
no
checking for inline... checking for towupper... inline
checking for rlim_t... 64
checking for st_blksize... yes
checking for stack_t... yes
checking whether byte ordering is bigendian... yes
yes
checking whether stack_t has an ss_base field... checking for iswupper... yes
checking whether stat() ignores a trailing slash... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking for usleep... no
checking for inline... inline
checking for rlim_t... no
checking for iconv_open()... yes
yes
checking for stack_t... yes
yes
checking whether stack_t has an ss_base field... checking for utime... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... checking whether we talk terminfo... yes
yes
checking for nl_langinfo(CODESET)... checking for utimes... yes
yes
yes
checking for strtod in -lm... checking for _LARGEFILE_SOURCE value needed for large files... yes
checking what tgetent() returns for an unknown terminal... checking whether we talk terminfo... yes
checking for strtod() and other floating point functions... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... zero
checking whether termcap.h contains ospeed... no
checking whether ospeed can be extern... yes
checking what tgetent() returns for an unknown terminal... 64
checking for st_blksize... yes
checking whether termcap.h contains UP, BC and PC... yes
checking for isinf()... yes
checking whether stat() ignores a trailing slash... no
checking whether UP, BC and PC can be extern... zero
checking whether termcap.h contains ospeed... no
checking whether ospeed can be extern... yes
checking whether tputs() uses outfuntype... no
checking for iconv_open()... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking whether termcap.h contains UP, BC and PC... yes
checking for isnan()... no
checking whether UP, BC and PC can be extern... yes
checking for /dev/ptc... no
checking for SVR4 ptys... yes
checking for nl_langinfo(CODESET)... yes
checking whether tputs() uses outfuntype... yes
checking for ptyranges... don't know
checking default tty permissions/group... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... yes
yes
checking for /dev/ptc... no
checking for strtod in -lm... checking for SVR4 ptys... no
checking for acl_get_file in -lacl... yes
checking for strtod() and other floating point functions... can't determine - assume ptys are world accessible
yes
checking for ptyranges... world
checking return type of signal handlers... don't know
checking default tty permissions/group... yes
checking for fgetxattr in -lattr... void
checking for struct sigcontext... yes
checking getcwd implementation is broken... yes
checking for POSIX ACL support... can't determine - assume ptys are world accessible
world
yes
checking for isinf()... checking return type of signal handlers... void
checking for struct sigcontext... no
checking for fchdir... yes
checking for acl_get in -lsec... yes
checking getcwd implementation is broken... no
checking for Solaris ACL support... yes
checking for fchown... yes
no
checking for isnan()... checking for AIX ACL support... no
checking for fchdir... no
checking --disable-gpm argument... no
checking for gpm... yes
checking for fsync... yes
checking for fchown... yes
checking --disable-sysmouse argument... no
checking for sysmouse... yes
yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... checking for getcwd... no
checking for FD_CLOEXEC... yes
no
checking for acl_get_file in -lacl... yes
checking for rename... checking for fsync... yes
checking for getpseudotty... yes
checking for fgetxattr in -lattr... yes
checking for getcwd... yes
checking for sysctl... no
checking for getpwent... not usable
checking for sysinfo... yes
checking for POSIX ACL support... yes
checking for getpseudotty... yes
checking for sysinfo.mem_unit... yes
checking for getpwnam... yes
checking for sysconf... yes
checking for acl_get in -lsec... no
checking for getpwent... yes
checking for getpwuid... yes
checking size of int... no
checking for Solaris ACL support... no
checking for AIX ACL support... yes
checking for getpwnam... yes
checking for getrlimit... no
checking --disable-gpm argument... yes
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for FD_CLOEXEC... 4
yes
checking size of long... checking for getpwuid... yes
yes
checking for rename... checking for gettimeofday... yes
checking for getrlimit... yes
checking for getwd... yes
checking for sysctl... 4
checking size of time_t... not usable
checking for sysinfo... yes
checking for gettimeofday... yes
checking for lstat... yes
checking for sysinfo.mem_unit... yes
checking for sysconf... yes
checking for getwd... 4
checking size of off_t... yes
checking for memset... yes
checking size of int... yes
checking for lstat... yes
checking for mkdtemp... 8
checking uint32_t is 32 bits... yes
4
checking for memset... checking size of long... yes
checking for nanosleep... ok
checking whether memmove handles overlaps... yes
checking for mkdtemp... yes
checking for opendir... 4
checking size of time_t... yes
yes
checking for _xpg4_setrunelocale in -lxpg4... checking for nanosleep... yes
checking for putenv... no
checking how to create tags... ctags
checking how to run man with a section nr... man
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... yes
checking for opendir... 4
checking size of off_t... yes
checking for qsort... gettext() works
checking for bind_textdomain_codeset... yes
checking for putenv... yes
checking for readlink... 8
checking uint32_t is 32 bits... yes
checking for _nl_msg_cat_cntr... yes
checking for qsort... yes
checking for select... ok
checking whether memmove handles overlaps... yes
checking dlfcn.h usability... yes
checking for readlink... yes
checking for setenv... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... yes
yes
checking whether X_LOCALE needed... checking for select... yes
checking for setpgid... no
checking for dlopen() in -ldl... yes
checking for setenv... yes
checking for setsid... no
checking whether Xutf8SetWMProperties() can be used... yes
checking for dlsym()... yes
checking for setpgid... yes
checking for sigaltstack... yes
checking setjmp.h usability... yes
checking for _xpg4_setrunelocale in -lxpg4... yes
checking for setsid... no
checking how to create tags... yes
checking setjmp.h presence... yes
ctags
checking how to run man with a section nr... checking for sigstack... man
checking --disable-nls argument... yes
checking for setjmp.h... yes
no
checking for msgfmt... msgfmt
checking for NLS... checking for GCC 3 or later... yes
checking whether we need -D_FORTIFY_SOURCE=1... yes
checking linker --as-needed support... yes
yes
checking for sigaltstack... gettext() works
checking dlfcn.h usability... yes
checking for sigset... configure: updating cache auto/config.cache
configure: creating auto/config.status
yes
checking for sigstack... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... yes
checking for sigsetjmp... yes
no
checking for dlopen() in -ldl... checking for sigset... config.status: creating auto/config.mk
no
config.status: creating auto/config.h
checking for sigaction... yes
checking for dlsym()... yes
checking for sigsetjmp... touch configure-stamp-vim-basic
dh_testdir
yes
checking for sigprocmask... yes
checking setjmp.h usability... no
checking for sigaction... yes
checking for sigvec... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking for GCC 3 or later... yes
checking whether we need -D_FORTIFY_SOURCE=1... yes
checking linker --as-needed support... yes
checking for sigprocmask... yes
no
checking for strcasecmp... configure: updating cache auto/config.cache
configure: creating auto/config.status
yes
checking for sigvec... *** DEBIAN *** CONFIGURING VARIANT vim-athena
/usr/bin/make -C src shadow SHADOWDIR=vim-athena
yes
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
mkdir vim-athena
cd vim-athena; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
checking for strerror... mkdir vim-athena/auto
cd vim-athena/auto; ln -s ../../auto/configure .
mkdir vim-athena/po
cd vim-athena/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
cd vim-athena; rm -f auto/link.sed
cp Makefile configure vim-athena
rm -f vim-athena/auto/config.mk vim-athena/config.mk.dist
cp config.mk.dist vim-athena/auto/config.mk
cp config.mk.dist vim-athena
mkdir vim-athena/xxd
cd vim-athena/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
if test -d os_mac_rsrc; then \
	cd vim-athena; \
	ln -s ../infplist.xml .; \
	ln -s ../os_mac_rsrc ../os_mac.rsr.hqx ../dehqx.py .; \
fi
mkdir vim-athena/testdir
cd vim-athena/testdir; ln -s ../../testdir/Makefile \
			 ../../testdir/Make_all.mak \
			 ../../testdir/README.txt \
			 ../../testdir/*.in \
			 ../../testdir/*.vim \
			 ../../testdir/*.py \
			 ../../testdir/python* \
			 ../../testdir/sautest \
			 ../../testdir/samples \
			 ../../testdir/test83-tags? \
			 ../../testdir/*.ok .
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
if test -f src/auto/config.cache; then make distclean; fi
cd src/vim-athena && LDFLAGS="-Wl,-z,relro -Wl,-z,now" CPPFLAGS="-Wdate-time" CFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security" ./configure --prefix=/usr --mandir='${prefix}'/share/man --without-local-dir --with-modified-by="pkg-vim-maintainers@lists.alioth.debian.org" --with-compiledby="pkg-vim-maintainers@lists.alioth.debian.org" --enable-fail-if-missing --enable-cscope --enable-gpm --enable-selinux --disable-smack --with-features=huge --enable-multibyte --enable-acl --with-x --enable-xim --enable-gui=athena --disable-gtk2-check --disable-gtk3-check --disable-gnome-check --disable-motif-check --enable-athena-check --enable-fontset --enable-luainterp --disable-mzschemeinterp --enable-perlinterp --enable-python3interp --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf --disable-pythoninterp --enable-rubyinterp --enable-tclinterp --with-tclsh=/usr/bin/tclsh
config.status: creating auto/config.mk
no
checking for strcasecmp... config.status: creating auto/config.h
yes
checking for strftime... yes
checking for strerror... touch configure-stamp-vim-tiny
dh_testdir
yes
checking for stricmp... yes
checking for strftime... no
checking for strncasecmp... yes
checking for stricmp... configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
yes
checking for gcc... gcc
checking for strnicmp... *** DEBIAN *** CONFIGURING VARIANT vim-nox
/usr/bin/make -C src shadow SHADOWDIR=vim-nox
no
checking for strncasecmp... checking whether the C compiler works... make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
mkdir vim-nox
cd vim-nox; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
mkdir vim-nox/auto
cd vim-nox/auto; ln -s ../../auto/configure .
mkdir vim-nox/po
cd vim-nox/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
cd vim-nox; rm -f auto/link.sed
cp Makefile configure vim-nox
rm -f vim-nox/auto/config.mk vim-nox/config.mk.dist
no
cp config.mk.dist vim-nox/auto/config.mk
cp config.mk.dist vim-nox
mkdir vim-nox/xxd
checking for strpbrk... cd vim-nox/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
if test -d os_mac_rsrc; then \
	cd vim-nox; \
	ln -s ../infplist.xml .; \
	ln -s ../os_mac_rsrc ../os_mac.rsr.hqx ../dehqx.py .; \
fi
mkdir vim-nox/testdir
cd vim-nox/testdir; ln -s ../../testdir/Makefile \
			 ../../testdir/Make_all.mak \
			 ../../testdir/README.txt \
			 ../../testdir/*.in \
			 ../../testdir/*.vim \
			 ../../testdir/*.py \
			 ../../testdir/python* \
			 ../../testdir/sautest \
			 ../../testdir/samples \
			 ../../testdir/test83-tags? \
			 ../../testdir/*.ok .
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
if test -f src/auto/config.cache; then make distclean; fi
cd src/vim-nox && LDFLAGS="-Wl,-z,relro -Wl,-z,now" CPPFLAGS="-Wdate-time" CFLAGS="-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security" ./configure --prefix=/usr --mandir='${prefix}'/share/man --without-local-dir --with-modified-by="pkg-vim-maintainers@lists.alioth.debian.org" --with-compiledby="pkg-vim-maintainers@lists.alioth.debian.org" --enable-fail-if-missing --enable-cscope --enable-gpm --enable-selinux --disable-smack --with-features=huge --enable-multibyte --enable-acl --without-x --enable-gui=no --enable-luainterp --disable-mzschemeinterp --enable-perlinterp --enable-python3interp --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf --disable-pythoninterp --enable-rubyinterp --enable-tclinterp --with-tclsh=/usr/bin/tclsh
yes
checking for C compiler default output file name... a.out
checking for suffix of executables... yes
checking for strnicmp... yes
checking for strtol... 
checking whether we are cross compiling... no
checking for strpbrk... yes
checking for tgetent... no
checking for suffix of object files... yes
o
checking whether we are using the GNU C compiler... checking for strtol... yes
checking for towlower... yes
checking whether gcc accepts -g... configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc option to accept ISO C89... yes
checking for gcc... gcc
yes
checking for tgetent... yes
checking for towupper... checking whether the C compiler works... none needed
checking how to run the C preprocessor... yes
gcc -E
checking for towlower... checking for grep that handles long lines and -e... yes
/bin/grep
checking for egrep... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... /bin/grep -E
checking for iswupper... checking for fgrep... /bin/grep -F
checking for library containing strerror... yes

checking for towupper... checking whether we are cross compiling... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... yes
checking for usleep... yes
no
checking for suffix of object files... checking for iswupper... yes
checking for utime... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for usleep... yes
checking for gcc option to accept ISO C89... yes
checking for utimes... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
none needed
checking how to run the C preprocessor... checking for utime... yes
yes
checking for _LARGEFILE_SOURCE value needed for large files... checking --enable-fail-if-missing argument... yes
checking for recent clang version... no
gcc -E
configure: checking for buggy tools...
checking for BeOS... no
checking for QNX... no
checking for Darwin (Mac OS X)... no
checking AvailabilityMacros.h usability... checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for library containing strerror... yes
checking for utimes... no
checking AvailabilityMacros.h presence... no
checking for AvailabilityMacros.h... no
checking --with-local-dir argument... no
checking --with-vim-name argument... Defaulting to vim
checking --with-ex-name argument... Defaulting to ex
checking --with-view-name argument... Defaulting to view
checking --with-global-runtime argument... no
checking --with-modified-by argument... pkg-vim-maintainers@lists.alioth.debian.org
checking if character set is EBCDIC... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking --disable-smack argument... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... yes
checking for _LARGEFILE_SOURCE value needed for large files... 64
checking for st_blksize... yes
checking --with-features argument... huge
checking --with-compiledby argument... pkg-vim-maintainers@lists.alioth.debian.org
checking --disable-xsmp argument... no
checking --disable-xsmp-interact argument... no
checking --enable-luainterp argument... yes
checking --with-lua-prefix argument... no
checking LUA_PREFIX environment var... not set, default to /usr
checking --with-luajit... no
checking for lua... /usr/bin/lua
checking Lua version... 5.2
checking if lua.h can be found in /usr/include... no
checking if lua.h can be found in /usr/include/lua5.2... yes
checking if link with -L/usr/lib -llua5.2 is sane... yes
checking whether stat() ignores a trailing slash... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... yes
checking --enable-mzschemeinterp argument... no
checking --enable-perlinterp argument... yes
checking for perl... /usr/bin/perl
checking Perl version... OK
64
checking for st_blksize... yes
checking for sys/wait.h that is POSIX.1 compatible... no
checking for iconv_open()... yes
checking whether stat() ignores a trailing slash... yes
checking --enable-fail-if-missing argument... yes
checking for recent clang version... no
configure: checking for buggy tools...
checking for BeOS... no
checking for QNX... no
checking for Darwin (Mac OS X)... no
checking AvailabilityMacros.h usability... no
checking AvailabilityMacros.h presence... yes
no
checking for AvailabilityMacros.h... no
checking for nl_langinfo(CODESET)... checking --with-local-dir argument... no
checking --with-vim-name argument... Defaulting to vim
checking --with-ex-name argument... Defaulting to ex
checking --with-view-name argument... Defaulting to view
checking --with-global-runtime argument... no
checking --with-modified-by argument... pkg-vim-maintainers@lists.alioth.debian.org
checking if character set is EBCDIC... no
checking for iconv_open()... no
checking --disable-smack argument... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... yes
checking for strtod in -lm... yes
checking --with-features argument... huge
checking --with-compiledby argument... pkg-vim-maintainers@lists.alioth.debian.org
checking --disable-xsmp argument... no
checking --disable-xsmp-interact argument... no
checking --enable-luainterp argument... yes
checking --with-lua-prefix argument... no
checking LUA_PREFIX environment var... not set, default to /usr
checking --with-luajit... no
checking for lua... /usr/bin/lua
checking Lua version... 5.2
checking if lua.h can be found in /usr/include... no
checking if lua.h can be found in /usr/include/lua5.2... yes
checking if link with -L/usr/lib -llua5.2 is sane... yes
checking for nl_langinfo(CODESET)... yes
checking for strtod() and other floating point functions... yes
checking --enable-mzschemeinterp argument... no
checking --enable-perlinterp argument... yes
checking for perl... /usr/bin/perl
checking Perl version... checking if compile and link flags for Perl are sane... yes
checking for strtod in -lm... OK
yes
checking --enable-pythoninterp argument... no
checking --enable-python3interp argument... yes
checking for python3... /usr/bin/python3
checking Python version... yes
checking for strtod() and other floating point functions... yes
checking for isinf()... 3.5
checking Python is 3.0 or better... yep
checking Python's abiflags... m
checking Python's install prefix... yes
checking for isinf()... yes
checking for isnan()... /usr
checking Python's execution prefix... /usr
checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
checking if compile and link flags for Perl are sane... checking Python3's dll name... libpython3.5m.so.1.0
checking if -pthread should be used... yes
checking for isnan()... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... yes
checking if compile and link flags for Python 3 are sane... no
checking for acl_get_file in -lacl... yes
checking --enable-pythoninterp argument... no
checking --enable-python3interp argument... yes
checking for python3... /usr/bin/python3
checking Python version... 3.5
checking Python is 3.0 or better... yes
checking for fgetxattr in -lattr... yep
checking Python's abiflags... yes
checking --disable-acl argument... yes
no
checking for acl_get_file in -lposix1e... checking if -fPIE can be added for Python3... no
checking for acl_get_file in -lacl... m
checking Python's install prefix... yes
checking for POSIX ACL support... yes
checking --enable-tclinterp argument... yes
checking --with-tclsh argument... /usr/bin/tclsh
checking for /usr/bin/tclsh... no
checking for tclsh... /usr/bin/tclsh
checking Tcl version... /usr
checking Python's execution prefix... 8.6 - OK
yes
checking for location of Tcl include... checking for fgetxattr in -lattr... /usr/include/tcl8.6/tcl.h
checking for location of tclConfig.sh script... /usr/lib/tclConfig.sh
/usr
yes
checking for acl_get in -lsec... checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
yes
checking for POSIX ACL support... no
checking for Solaris ACL support... checking Python3's dll name... libpython3.5m.so.1.0
checking if -pthread should be used... checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... no
checking for AIX ACL support... yes
checking for acl_get in -lsec... no
checking for pango_shape_full... yes
checking if compile and link flags for Python 3 are sane... no
checking for Solaris ACL support... no
checking for AIX ACL support... yes
checking if -fPIE can be added for Python3... OK
checking Ruby rbconfig... no
checking for pango_shape_full... yes
checking --enable-tclinterp argument... yes
checking --with-tclsh argument... /usr/bin/tclsh
checking for /usr/bin/tclsh... no
checking for tclsh... /usr/bin/tclsh
checking Tcl version... 8.6 - OK
checking for location of Tcl include... /usr/include/tcl8.6/tcl.h
checking for location of tclConfig.sh script... /usr/lib/tclConfig.sh
RbConfig
checking Ruby header files... checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... OK
checking Ruby rbconfig... /usr/include/ruby-2.3.0
yes
checking --disable-gpm argument... no
checking for gpm... RbConfig
checking Ruby header files... yes
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for FD_CLOEXEC... yes
checking for rename... yes
checking for sysctl... not usable
checking for sysinfo... /usr/include/ruby-2.3.0
yes
checking --disable-gpm argument... no
checking for gpm... yes
checking for sysinfo.mem_unit... yes
checking for sysconf... yes
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for FD_CLOEXEC... yes
checking size of int... yes
checking for rename... yes
checking for sysctl... 4
checking size of long... not usable
checking for sysinfo... yes
checking for sysinfo.mem_unit... yes
checking for sysconf... 4
checking size of time_t... yes
checking size of int... 4
checking size of off_t... 4
checking size of long... 8
checking uint32_t is 32 bits... 4
checking size of time_t... ok
checking whether memmove handles overlaps... checking --enable-cscope argument... yes
checking --enable-workshop argument... no
checking --disable-netbeans argument... no
checking --disable-channel argument... no
checking for socket in -lsocket... no
checking for gethostbyname in -lnsl... 4
checking size of off_t... yes
checking whether X_LOCALE needed... yes
checking whether compiling with process communication is possible... 8
checking uint32_t is 32 bits... yes
checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... no
checking --enable-xim argument... yes
checking --enable-fontset argument... yes
checking for xmkmf... no
no
checking for X... checking whether Xutf8SetWMProperties() can be used... ok
checking whether memmove handles overlaps... yes
checking for _xpg4_setrunelocale in -lxpg4... checking --enable-cscope argument... yes
checking --enable-workshop argument... no
checking --disable-netbeans argument... no
checking --disable-channel argument... no
checking for socket in -lsocket... libraries , headers 
no
checking how to create tags... no
checking for gethostbyname in -lnsl... ctags
checking how to run man with a section nr... man
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... yes
checking whether X_LOCALE needed... checking for gethostbyname... yes
checking whether compiling with process communication is possible... gettext() works
checking for bind_textdomain_codeset... yes
checking for connect... no
checking whether Xutf8SetWMProperties() can be used... yes
checking for _nl_msg_cat_cntr... yes
checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... no
checking --enable-xim argument... defaulting to auto
checking --enable-fontset argument... no
defaulting to: don't HAVE_X11
checking --enable-gui argument... yes
checking for remove... no GUI support
checking X11/SM/SMlib.h usability... yes
checking for _xpg4_setrunelocale in -lxpg4... yes
checking dlfcn.h usability... yes
checking X11/SM/SMlib.h presence... yes
checking for shmat... yes
checking for X11/SM/SMlib.h... yes
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... no
checking how to create tags... ctags
checking how to run man with a section nr... man
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... yes
checking for IceConnectionNumber in -lICE... no
checking whether __DATE__ and __TIME__ work... gettext() works
checking for bind_textdomain_codeset... no
checking for dlopen() in -ldl... yes
checking if X11 header files can be found... yes
checking whether __attribute__((unused)) is allowed... yes
checking for _nl_msg_cat_cntr... yes
checking elf.h usability... yes
checking for dlsym()... yes
checking for _XdmcpAuthDoIt in -lXdmcp... yes
checking elf.h presence... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking dlfcn.h usability... yes
checking setjmp.h usability... yes
checking for IceOpenConnection in -lICE... no
checking for dirent.h that defines DIR... yes
checking dlfcn.h presence... yes
checking setjmp.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... yes
checking for setjmp.h... yes
yes
checking for GCC 3 or later... yes
checking whether we need -D_FORTIFY_SOURCE=1... checking for library containing opendir... yes
checking linker --as-needed support... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
no
checking for dlopen() in -ldl... none required
checking stdint.h usability... configure: updating cache auto/config.cache
configure: creating auto/config.status
yes
checking if X11 header files implicitly declare return values... yes
checking stdint.h presence... yes
yes
checking for stdint.h... checking for dlsym()... yes
checking stdlib.h usability... no
checking size of wchar_t is 2 bytes... config.status: creating auto/config.mk
yes
checking stdlib.h presence... config.status: creating auto/config.h
yes
checking setjmp.h usability... yes
checking for stdlib.h... yes
checking string.h usability... no
checking --enable-gui argument... Athena GUI support
checking if Athena header files can be found... yes
checking string.h presence... yes
checking setjmp.h presence... touch configure-stamp-vim-gtk
dh_testdir
yes
checking for setjmp.h... yes
checking for GCC 3 or later... yes
checking for string.h... yes
yes
checking whether we need -D_FORTIFY_SOURCE=1... yes
checking linker --as-needed support... checking sys/select.h usability... yes
yes
checking for XShapeQueryExtension in -lXext... yes
checking sys/select.h presence... configure: updating cache auto/config.cache
configure: creating auto/config.status
yes
checking for sys/select.h... yes
checking sys/utsname.h usability... yes
checking for wslen in -lw... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking termcap.h usability... no
checking for dlsym in -ldl... config.status: creating auto/config.mk
config.status: creating auto/config.h
no
checking termcap.h presence... no
checking for termcap.h... no
checking fcntl.h usability... dh_prep -p vim
yes
checking for XmuCreateStippledPixmap in -lXmu... touch configure-stamp-vim-gtk3
dh_testdir
yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sgtty.h usability... yes
checking for extra X11 defines... no
checking X11/SM/SMlib.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
yes
checking X11/SM/SMlib.h presence... checking sys/ioctl.h usability... yes
checking for X11/SM/SMlib.h... yes
checking X11/xpm.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking X11/xpm.h presence... *** DEBIAN *** BUILDING VARIANT vim-basic
/usr/bin/make -C src/vim-basic
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic'
mkdir -p objects
touch objects/.dirstamp
CC="gcc -Iproto -DHAVE_CONFIG_H   -Wdate-time    " srcdir=. sh ./osdef.sh
yes
checking for X11/xpm.h... yes
dh_prep -p vim-tiny
checking X11/Sunkeysym.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/types.h usability... yes
checking X11/Sunkeysym.h presence... yes
checking for X11/Sunkeysym.h... yes
*** DEBIAN *** BUILDING VARIANT vim-tiny
/usr/bin/make -C src/vim-tiny
checking for XIMText in X11/Xlib.h... make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-tiny'
mkdir -p objects
touch objects/.dirstamp
yes
checking sys/types.h presence... CC="gcc -Iproto -DHAVE_CONFIG_H   -Wdate-time    " srcdir=. sh ./osdef.sh
yes
checking for X11/Xmu/Editres.h... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking termio.h presence... yes
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... yes
checking for termio.h... yes
checking iconv.h usability... creating auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/popupmnu.o popupmnu.c
yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking inttypes.h usability... no
checking whether __DATE__ and __TIME__ work... yes
checking whether __attribute__((unused)) is allowed... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
checking langinfo.h usability... yes
checking elf.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
yes
checking elf.h presence... checking math.h usability... yes
checking for elf.h... yes
checking for main in -lelf... creating auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/popupmnu.o popupmnu.c
no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... yes
checking math.h presence... none required
yes
checking for math.h... yes
checking stdint.h usability... checking unistd.h usability... yes
checking stdint.h presence... gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/quickfix.o quickfix.c
yes
checking for stdint.h... yes
yes
checking unistd.h presence... checking stdlib.h usability... yes
checking for unistd.h... yes
checking stropts.h usability... yes
checking stdlib.h presence... yes
checking for stdlib.h... yes
checking string.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking errno.h usability... yes
checking string.h presence... yes
checking for string.h... yes
checking sys/select.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/regexp.o regexp.c
checking sys/resource.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/utsname.h usability... gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/quickfix.o quickfix.c
yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking termcap.h usability... no
checking sys/systeminfo.h presence... no
checking for sys/systeminfo.h... no
no
checking termcap.h presence... checking locale.h usability... no
checking for termcap.h... no
checking fcntl.h usability... yes
checking locale.h presence... yes
checking fcntl.h presence... yes
checking for locale.h... yes
checking sys/stream.h usability... yes
checking for fcntl.h... yes
checking sgtty.h usability... no
checking sys/stream.h presence... yes
checking sgtty.h presence... no
checking for sys/stream.h... no
checking termios.h usability... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking termios.h presence... yes
checking for sys/ioctl.h... yes
yes
checking for termios.h... yes
checking sys/time.h usability... checking libc.h usability... yes
checking sys/time.h presence... no
checking libc.h presence... yes
checking for sys/time.h... yes
no
checking for libc.h... no
checking sys/types.h usability... checking sys/statfs.h usability... yes
checking sys/types.h presence... yes
checking sys/statfs.h presence... yes
checking for sys/types.h... yes
yes
checking for sys/statfs.h... yes
checking termio.h usability... checking poll.h usability... yes
checking termio.h presence... yes
checking poll.h presence... yes
checking for termio.h... yes
yes
checking for poll.h... yes
checking iconv.h usability... checking sys/poll.h usability... yes
checking iconv.h presence... yes
checking sys/poll.h presence... yes
checking for iconv.h... yes
checking inttypes.h usability... yes
checking for sys/poll.h... yes
checking pwd.h usability... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
yes
checking pwd.h presence... checking langinfo.h usability... yes
checking for pwd.h... yes
checking utime.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking math.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
yes
checking math.h presence... checking for sys/param.h... yes
checking libintl.h usability... yes
checking for math.h... yes
yes
checking unistd.h usability... checking libintl.h presence... yes
checking for libintl.h... yes
checking libgen.h usability... yes
checking unistd.h presence... yes
checking for unistd.h... yes
yes
checking libgen.h presence... checking stropts.h usability... yes
checking for libgen.h... yes
checking util/debug.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
no
checking util/debug.h presence... checking errno.h usability... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking errno.h presence... no
checking util/msg18n.h presence... yes
checking for errno.h... yes
checking sys/resource.h usability... no
checking for util/msg18n.h... no
checking frame.h usability... yes
checking sys/resource.h presence... no
checking frame.h presence... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... no
checking for frame.h... no
checking sys/acl.h usability... no
checking sys/systeminfo.h presence... yes
checking sys/acl.h presence... no
checking for sys/systeminfo.h... no
checking locale.h usability... yes
checking for sys/acl.h... yes
checking sys/access.h usability... yes
checking locale.h presence... no
checking sys/access.h presence... yes
checking for locale.h... yes
checking sys/stream.h usability... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... no
checking sys/stream.h presence... yes
checking sys/sysinfo.h presence... no
checking for sys/stream.h... no
yes
checking for sys/sysinfo.h... yes
checking termios.h usability... checking wchar.h usability... yes
checking termios.h presence... yes
checking wchar.h presence... yes
checking for termios.h... yes
checking libc.h usability... yes
checking for wchar.h... yes
checking wctype.h usability... no
checking libc.h presence... yes
checking wctype.h presence... no
checking for libc.h... no
checking sys/statfs.h usability... yes
checking for wctype.h... yes
checking for sys/ptem.h... no
checking for sys/sysctl.h... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking poll.h usability... yes
checking for pthread_np.h... no
checking strings.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking sys/poll.h usability... yes
checking strings.h presence... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking pwd.h usability... yes
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking pwd.h presence... yes
checking for working volatile... yes
checking for pwd.h... yes
checking utime.h usability... yes
checking for mode_t... yes
checking utime.h presence... yes
checking for utime.h... yes
checking sys/param.h usability... yes
checking for off_t... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking libgen.h usability... yes
checking for pid_t... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking util/debug.h usability... no
checking util/debug.h presence... yes
checking for size_t... no
checking for util/debug.h... no
checking util/msg18n.h usability... no
checking util/msg18n.h presence... no
checking for util/msg18n.h... no
checking frame.h usability... yes
checking for uid_t in sys/types.h... no
checking frame.h presence... yes
checking for uint32_t... no
checking for frame.h... no
checking sys/acl.h usability... yes
checking whether time.h and sys/time.h may both be included... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
checking sys/access.h usability... yes
checking for ino_t... no
checking sys/access.h presence... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... yes
checking for dev_t... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking whether byte ordering is bigendian... gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/regexp.o regexp.c
yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for sys/ptem.h... no
checking for sys/sysctl.h... no
checking for inline... yes
inline
checking for rlim_t... checking for pthread_np.h... yes
checking for stack_t... no
checking strings.h usability... yes
checking whether stack_t has an ss_base field... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking strings.h presence... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... yes
checking whether gcc needs -traditional... yes
no
checking for an ANSI C-conforming const... yes
checking for working volatile... yes
checking for mode_t... checking whether we talk terminfo... yes
checking what tgetent() returns for an unknown terminal... yes
checking for off_t... zero
checking whether termcap.h contains ospeed... no
checking whether ospeed can be extern... yes
checking for pid_t... yes
checking whether termcap.h contains UP, BC and PC... no
checking whether UP, BC and PC can be extern... yes
checking for size_t... yes
checking whether tputs() uses outfuntype... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking for /dev/ptc... no
checking for SVR4 ptys... yes
checking for uid_t in sys/types.h... yes
checking for uint32_t... yes
checking for ptyranges... don't know
checking default tty permissions/group... yes
checking whether time.h and sys/time.h may both be included... yes
checking for ino_t... can't determine - assume ptys are world accessible
world
checking return type of signal handlers... void
checking for struct sigcontext... yes
checking getcwd implementation is broken... yes
checking for dev_t... no
checking for fchdir... yes
checking whether byte ordering is bigendian... yes
checking for fchown... yes
checking for fsync... no
checking for inline... inline
checking for rlim_t... yes
checking for stack_t... yes
checking for getcwd... yes
checking whether stack_t has an ss_base field... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking for getpseudotty... yes
no
checking for getpwent... checking whether we talk terminfo... yes
checking for getpwnam... yes
checking for getpwuid... yes
checking what tgetent() returns for an unknown terminal... yes
checking for getrlimit... zero
checking whether termcap.h contains ospeed... no
checking whether ospeed can be extern... yes
checking for gettimeofday... yes
checking whether termcap.h contains UP, BC and PC... no
checking whether UP, BC and PC can be extern... yes
checking for getwd... yes
checking whether tputs() uses outfuntype... yes
no
checking whether sys/select.h and sys/time.h may both be included... checking for lstat... yes
checking for /dev/ptc... no
checking for SVR4 ptys... yes
checking for memset... yes
checking for ptyranges... don't know
checking default tty permissions/group... yes
checking for mkdtemp... yes
checking for nanosleep... can't determine - assume ptys are world accessible
world
checking return type of signal handlers... void
checking for struct sigcontext... yes
checking for opendir... yes
checking getcwd implementation is broken... yes
checking for putenv... no
checking for fchdir... yes
checking for qsort... yes
checking for fchown... yes
checking for readlink... yes
checking for fsync... yes
checking for select... yes
checking for getcwd... yes
checking for setenv... yes
checking for getpseudotty... yes
checking for setpgid... no
checking for getpwent... yes
checking for setsid... yes
checking for getpwnam... yes
checking for sigaltstack... yes
checking for getpwuid... yes
checking for sigstack... yes
checking for getrlimit... yes
checking for sigset... yes
checking for gettimeofday... yes
checking for sigsetjmp... yes
checking for getwd... no
checking for sigaction... yes
checking for lstat... yes
checking for sigprocmask... yes
checking for memset... yes
checking for sigvec... yes
checking for mkdtemp... no
checking for strcasecmp... yes
checking for nanosleep... yes
checking for strerror... yes
checking for opendir... yes
checking for strftime... yes
checking for putenv... yes
checking for stricmp... yes
checking for qsort... no
checking for strncasecmp... yes
checking for readlink... yes
checking for strnicmp... yes
checking for select... no
checking for strpbrk... yes
checking for setenv... yes
checking for strtol... yes
checking for setpgid... yes
checking for tgetent... yes
checking for setsid... yes
checking for towlower... yes
checking for sigaltstack... yes
checking for towupper... yes
checking for sigstack... yes
checking for iswupper... yes
checking for sigset... yes
checking for usleep... yes
checking for sigsetjmp... yes
checking for utime... no
checking for sigaction... yes
yes
checking for utimes... checking for sigprocmask... yes
checking for _LARGEFILE_SOURCE value needed for large files... yes
checking for sigvec... no
no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... checking for strcasecmp... 64
checking for st_blksize... yes
checking for strerror... yes
checking whether stat() ignores a trailing slash... yes
checking for strftime... no
checking for iconv_open()... yes
checking for stricmp... no
checking for strncasecmp... yes
checking for nl_langinfo(CODESET)... yes
checking for strnicmp... yes
checking for strtod in -lm... no
checking for strpbrk... yes
checking for strtod() and other floating point functions... yes
checking for strtol... yes
checking for tgetent... yes
checking for isinf()... yes
checking for towlower... yes
checking for isnan()... yes
checking for towupper... yes
checking for iswupper... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... no
checking for acl_get_file in -lacl... yes
checking for usleep... yes
checking for fgetxattr in -lattr... yes
checking for utime... yes
checking for POSIX ACL support... yes
checking for utimes... yes
checking for acl_get in -lsec... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for Solaris ACL support... no
checking for AIX ACL support... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking --disable-gpm argument... no
checking for gpm... 64
checking for st_blksize... yes
checking --disable-sysmouse argument... no
checking for sysmouse... yes
checking whether stat() ignores a trailing slash... no
checking for FD_CLOEXEC... yes
checking for rename... no
checking for iconv_open()... yes
checking for sysctl... not usable
checking for sysinfo... yes
checking for nl_langinfo(CODESET)... yes
checking for sysinfo.mem_unit... yes
checking for sysconf... yes
checking for strtod in -lm... yes
checking size of int... yes
checking for strtod() and other floating point functions... 4
checking size of long... yes
checking for isinf()... 4
checking size of time_t... yes
checking for isnan()... 4
checking size of off_t... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... 8
checking uint32_t is 32 bits... no
checking for acl_get_file in -lacl... ok
checking whether memmove handles overlaps... yes
checking for fgetxattr in -lattr... yes
checking for POSIX ACL support... yes
checking for _xpg4_setrunelocale in -lxpg4... no
checking how to create tags... ctags
checking how to run man with a section nr... man
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... yes
checking for acl_get in -lsec... no
checking for Solaris ACL support... gettext() works
checking for bind_textdomain_codeset... no
checking for AIX ACL support... no
checking --disable-gpm argument... no
checking for gpm... yes
checking for _nl_msg_cat_cntr... yes
checking --disable-sysmouse argument... no
checking for sysmouse... yes
checking dlfcn.h usability... no
checking for FD_CLOEXEC... yes
checking for rename... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... no
checking for dlopen() in -ldl... yes
checking for sysctl... not usable
checking for sysinfo... yes
checking for dlsym()... yes
checking for sysinfo.mem_unit... yes
checking for sysconf... yes
checking setjmp.h usability... yes
checking size of int... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking for GCC 3 or later... yes
checking whether we need -D_FORTIFY_SOURCE=1... yes
checking linker --as-needed support... yes
configure: updating cache auto/config.cache
configure: creating auto/config.status
4
checking size of long... config.status: creating auto/config.mk
config.status: creating auto/config.h
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/screen.o screen.c
4
checking size of time_t... touch configure-stamp-vim-nox
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/search.o search.c
4
checking size of off_t... 8
checking uint32_t is 32 bits... ok
checking whether memmove handles overlaps... yes
checking whether X_LOCALE needed... no
checking whether Xutf8SetWMProperties() can be used... yes
checking for _xpg4_setrunelocale in -lxpg4... no
checking how to create tags... ctags
checking how to run man with a section nr... man
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... gettext() works
checking for bind_textdomain_codeset... yes
checking for _nl_msg_cat_cntr... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... no
checking for dlopen() in -ldl... yes
checking for dlsym()... yes
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking for GCC 3 or later... yes
checking whether we need -D_FORTIFY_SOURCE=1... yes
checking linker --as-needed support... yes
configure: updating cache auto/config.cache
configure: creating auto/config.status
config.status: creating auto/config.mk
config.status: creating auto/config.h
touch configure-stamp-vim-athena
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/sha256.o sha256.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/screen.o screen.c
dh_testdir
dh_prep -p vim-gtk
*** DEBIAN *** BUILDING VARIANT vim-gtk
/usr/bin/make -C src/vim-gtk
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk'
mkdir -p objects
touch objects/.dirstamp
CC="gcc -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time    " srcdir=. sh ./osdef.sh
creating auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/popupmnu.o popupmnu.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/quickfix.o quickfix.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spell.o spell.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/regexp.o regexp.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spellfile.o spellfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/syntax.o syntax.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/tag.o tag.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/term.o term.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ui.o ui.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/undo.o undo.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/userfunc.o userfunc.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/search.o search.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/window.o window.c
dh_testdir
dh_prep -p vim-gtk3
*** DEBIAN *** BUILDING VARIANT vim-gtk3
/usr/bin/make -C src/vim-gtk3
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3'
mkdir -p objects
touch objects/.dirstamp
CC="gcc -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time    " srcdir=. sh ./osdef.sh
creating auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/popupmnu.o popupmnu.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/quickfix.o quickfix.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json.o json.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/main.o main.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/sha256.o sha256.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile.o memfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spell.o spell.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message.o message.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/regexp.o regexp.c
cd xxd; CC="gcc" CFLAGS="-Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" LDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" \
	/usr/bin/make -f Makefile
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-tiny/xxd'
gcc -Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -DUNIX -o xxd xxd.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-tiny/xxd'
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/arabic.o arabic.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/buffer.o buffer.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/screen.o screen.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/blowfish.o blowfish.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/charset.o charset.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt.o crypt.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spellfile.o spellfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt_zip.o crypt_zip.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/dict.o dict.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/diff.o diff.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/digraph.o digraph.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/edit.o edit.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/eval.o eval.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/evalfunc.o evalfunc.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds.o ex_cmds.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/syntax.o syntax.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/search.o search.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds2.o ex_cmds2.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_docmd.o ex_docmd.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/screen.o screen.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/tag.o tag.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/sha256.o sha256.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_eval.o ex_eval.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_getln.o ex_getln.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spell.o spell.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/term.o term.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/farsi.o farsi.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fileio.o fileio.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ui.o ui.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/undo.o undo.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/search.o search.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fold.o fold.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/userfunc.o userfunc.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/getchar.o getchar.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spellfile.o spellfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hardcopy.o hardcopy.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/window.o window.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hashtab.o hashtab.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_cscope.o if_cscope.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/sha256.o sha256.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_xcmdsrv.o if_xcmdsrv.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/list.o list.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mark.o mark.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memline.o memline.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spell.o spell.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/syntax.o syntax.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/netbeans.o netbeans.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/menu.o menu.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc1.o misc1.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/channel.o channel.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc2.o misc2.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/tag.o tag.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/move.o move.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spellfile.o spellfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json.o json.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mbyte.o mbyte.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/main.o main.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/term.o term.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile.o memfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/normal.o normal.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message.o message.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/syntax.o syntax.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ui.o ui.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ops.o ops.c
cd xxd; CC="gcc" CFLAGS="-Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" LDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,--as-needed" \
	/usr/bin/make -f Makefile
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic/xxd'
gcc -Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -DUNIX -o xxd xxd.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic/xxd'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic/po'
OLD_PO_FILE_INPUT=yes msgfmt -v -o af.mo af.po
1423 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ca.mo ca.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.mo cs.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o de.mo de.po
1701 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o en_GB.mo en_GB.po
78 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o eo.mo eo.po
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o es.mo es.po
1733 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fi.mo fi.po
1902 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fr.mo fr.po
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ga.mo ga.po
1914 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o it.mo it.po
1897 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.mo ja.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.mo ko.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.UTF-8.mo ko.UTF-8.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nb.mo nb.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nl.mo nl.po
1213 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o no.mo no.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.mo pl.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pt_BR.mo pt_BR.po
1735 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.mo ru.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.mo sk.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sv.mo sv.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.mo uk.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o vi.mo vi.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.UTF-8.mo zh_CN.UTF-8.po
1634 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.mo zh_CN.po
1633 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.UTF-8.mo zh_TW.UTF-8.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.mo zh_TW.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.cp1250.mo cs.cp1250.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.sjis.mo ja.sjis.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.euc-jp.mo ja.euc-jp.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.cp1250.mo pl.cp1250.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/undo.o undo.c
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.UTF-8.mo pl.UTF-8.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.cp1251.mo ru.cp1251.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.cp1250.mo sk.cp1250.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.cp1251.mo uk.cp1251.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.cp936.mo zh_CN.cp936.po
1633 translated messages, 3 fuzzy translations.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic/po'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic/po'
make[2]: Nothing to be done for 'converted'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic/po'
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/arabic.o arabic.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1              -o objects/option.o option.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/buffer.o buffer.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/userfunc.o userfunc.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/tag.o tag.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/os_unix.o os_unix.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/blowfish.o blowfish.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pathdef.o auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/charset.o charset.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o vim objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o              objects/json.o objects/main.o objects/memfile.o objects/message.o    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo  -lselinux -lacl -lattr -ldl           
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/window.o window.c
link.sh: Linked fine
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-tiny'
# Ensure ERM is set to a sane value for testing
[ yes != "yes" ] || flock debian env TERM=xterm /usr/bin/make -j1 -C src/vim-tiny test
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-tiny'
/usr/bin/make -f Makefile vim
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-tiny'
make[2]: 'vim' is up to date.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-tiny'
if test -n "" -a -f po/Makefile; then \
	cd po; /usr/bin/make -f Makefile check VIM=../vim; \
fi
if test vim != vim -a ! -r vim; then \
	ln -s vim vim; \
fi
cd testdir; /usr/bin/make -f Makefile  VIMPROG=../vim  SCRIPTSOURCE=../../runtime
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-tiny/testdir'
rm -f test.log messages
rm -rf test1.failed test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out wrongtermsize
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test1.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test1.in" 57 lines, 2069 charactersFirst a simple test to check if the test script works.



If Vim was not compiled with the +eval feature, the small.vim script will be

set to copy the test.ok file to test.out, so that it looks like the test

succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by

tests that require the +eval feature or other features that are missing in the

small version.



If Vim was not compiled with the +windows feature, the tiny.vim script will be

set like small.vim above.  tiny.vim is sourced by tests that require the

+windows feature or other features that are missing in the tiny version.



If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will

be set like small.vim above.  mbyte.vim is sourced by tests that require the

+multi_byte feature.

Similar logic is applied to the +mzscheme feature, using mzscheme.vim.

Similar logic is applied to the +lua feature, using lua.vim.



STARTTEST

:" If columns or lines are too small, create wrongtermsize.

:" (Some tests will fail. When columns and/or lines are small)

:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 1133 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST:w! mzscheme.vim

:w! lua.vim

:"

:" If +multi_byte feature supported, make mbyte.vim empty.

:if has("multi_byte") | sp another | w! mbyte.vim | q | endif

:"

:" If +mzscheme feature supported, make mzscheme.vim empty.

:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif

:"

:" If +lua feature supported, make lua.vim empty.

:if has("lua") | sp another | w! lua.vim | q | endif

:"

:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.

:" Otherwise write small.vim to skip the test.

:if 1 | q! | endif

:w! small.vim

:" If +windows feature not supported :sp will fail and tiny.vim will be

:" written to skip the test.

:sp another

:wq! tiny.vim

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[?12l[?25h[?25l:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[?12l[?25h[?25l:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lthis is a test[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 15 characters written[?12l[?25h[?25l:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[?12l[?25h
[?25l[?12l[?25h[?25l:[?12l[?25hw! small.vim
[?25l"small.vim" [New File] 1 line, 1 character written[?12l[?25h[?25l:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [New File] 1 line, 1 character written[?12l[?25h[?25le! test.ok

w! test.outqa![?12l[?25h[?25l:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! lua.vim
[?25l"lua.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[?12l[?25h[?25l:[?12l[?25hif 1 | q! | endif
[?25l[?12l[?25h[?25l:[?12l[?25hw! small.vim
[?25l"small.vim" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/term.o term.c
4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h" If +windows feature not supported :sp will fail and tiny.vim will be
[?25l[?12l[?25h[?25l:[?12l[?25h" written to skip the test.
[?25l[?12l[?25h[?25l:[?12l[?25hsp another
[?25l"another" [New File]~                                                                               ~                                                                               ~                                                                               another                                                                         qa!test1.in                                                                        [?12l[?25h[?25l:[?12l[?25hwq! tiny.vim
[?25l"tiny.vim" 0 lines, 0 characters writtene! test.ok

w! test.outqa!~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049lrm -rf X* viminfo
rm -rf test3.failed test.ok test.out X* viminfo
cp test3.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test3.in" 2342 lines, 23089 characters/* vim: set cin ts=4 sw=4 : */



Test for 'cindent'



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo modeline

:edit" read modeline

/start of AUTO

=/end of AUTO

ENDTEST



/* start of AUTO matically checked vim: set ts=4 : */

{if (test)cmd1;cmd2;

}



{if (test)cmd1;else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l/* vim: set cin ts=4 sw=4 : */[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 2096 lines, 20188 characters


"test.out" [New File] 2096 lines, 20188 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test3 = test61; then \
#	  if diff test.out test3.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test3.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test4.failed test.ok test.out X* viminfo
cp test4.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test4.in" 34 lines, 960 charactersTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew

/start of

:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx" split to Xxx, autocmd will do :brew

G?this is a

othis should be auto-indented^[

:" Append text with autoindent to this file

:au! BufEnter Xxx

:buf Xxx" go to Xxx, no autocmd anymore

G?this is a

othis should be in column 1^[:wq " append text without autoindent to Xxx

G:r Xxx" include Xxx in the current file

:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is sset

Go# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes current buffer on BufEnter event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 20 lines, 678 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:?startstart?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 20 lines, 330 characters


"test.out" [New File] 20 lines, 330 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test4 = test61; then \
#	  if diff test.out test4.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test4.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test5.failed test.ok test.out X* viminfo
cp test5.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test5.in" 29 lines, 949 charactersTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.



STARTTEST

:so small.vim

:au BufLeave Xxx bwipe

/start of

:.,/end of/w! Xxx" write test file Xxx

:sp Xxx" split to Xxx

:bwipe" delete buffer Xxx, now we're back here

G?this is a

othis is some more text^[

:" Append some text to this file

:?start?,$w! test.out" Write current file contents

:bwipe test.out" delete alternate buffer

:au bufleave test5.in bwipe

:bwipe!" delete current buffer, get an empty one

ithis is another test line^[:w >>test.out

:" append an extra line to the output file

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that deletes the current buffer on BufLeave event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 664 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 9 lines, 173 characters


"test.out" [New File] 9 lines, 173 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test5 = test61; then \
#	  if diff test.out test5.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test5.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test7.failed test.ok test.out X* viminfo
cp test7.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt.o crypt.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test7.in" 26 lines, 675 charactersTest for autocommand that changes the buffer list, when doing ":ball".



STARTTEST

:so small.vim

/^start of

A1^[:.,/end of/w! Xxx1   " write test file Xxx1

:sp Xxx1

:close

$r2:.,/end of/w! Xxx2    " write test file Xxx2

:sp Xxx2

:close

$r3:.,/end of/w! Xxx3    " write test file Xxx3

:sp Xxx3

:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes the buffer list, when doing ":ball".[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 508 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 12 lines, 231 characters


"test.out" [New File] 12 lines, 231 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test7 = test61; then \
#	  if diff test.out test7.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test7.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test8.failed test.ok test.out X* viminfo
cp test8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test8.in" 46 lines, 1236 charactersTest for BufWritePre autocommand that deletes or unloads the buffer.

Test for BufUnload autocommand that unloads all other buffers.



STARTTEST

:so small.vim

:au BufWritePre Xxx1 bunload

:au BufWritePre Xxx2 bwipe

/^start of

A1^[:.,/end of/w! Xxx1  " write test file Xxx1

$r2:.,/end of/w! Xxx2   " write test file Xxx2

:e! Xxx2" edit Xxx2

:bdel test8.in" delete this file from the buffer list

:e Xxx1" edit Xxx1

:w" write it, will unload it and give an error msg

:w! test.out" Write contents of this file

:e! Xxx2" start editing Xxx2

:bwipe test.out" remove test.out from the buffer list

:w" write it, will delete the buffer and give an error msg:w >>test.out" Append contents of this file

:au! BufWritePre

:func CloseAll()

  let i = 0

  while i <= bufnr('$')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for BufWritePre autocommand that deletes or unloads the buffer.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1054 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTif i != bufnr('%') && bufloaded(i)exe  i . "bunload"

    endif

    let i += 1

  endwhile

endfunc

:func WriteToOut()

  edit! test.out

  $put ='VimLeave done'

  write

endfunc

:set viminfo='100,nviminfo

:au BufUnload * call CloseAll()

:au VimLeave * call WriteToOut()

:e small.vim

:sp mbyte.vim

:q

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 7 lines, 76 characters


"test.out" [New File] 7 lines, 76 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test8 = test61; then \
#	  if diff test.out test8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test9.failed test.ok test.out X* viminfo
cp test9.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test9.in" 12 lines, 255 charactersTest for Bufleave autocommand that deletes the buffer we are about to edit.



STARTTEST

:so small.vim

:au BufLeave test9.in bwipe yy

:e yy

:/^start of/,$w! test.out      " Write contents of this file

:qa!

ENDTEST



start of test file xx

end of test file xx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Bufleave autocommand that deletes the buffer we are about to edit.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 117 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 2 lines, 42 characters


"test.out" [New File] 2 lines, 42 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test9 = test61; then \
#	  if diff test.out test9.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test9.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test14.failed test.ok test.out X* viminfo
cp test14.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test14.in" 99 lines, 1606 charactersTests for "vaBiB", end could be wrong.

Also test ":s/pat/sub/" with different ~s in sub.

Also test for ^Vxff and ^Vo123 in Insert mode.

Also test "[m", "]m", "[M" and "]M"

Also test search()



STARTTEST

:so small.vim

/Start cursor here

vaBiBD:?Bug?,/Piece/-2w! test.out

/^- Bug

:s/u/~u~/

:s/i/~u~/

:s/o/~~~/

:.w >>test.out

:if has("ebcdic")

: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"

:else

: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"

:endif

:exe "normal " . tt

:unlet tt

:.w >>test.out[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "vaBiB", end could be wrong.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt_zip.o crypt_zip.c
[New File] 56 lines, 1141 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute

Y:$put =@0

/bar /e

:$put =@0

-:keeppatterns /xyz

0dn:/^search()/,$w >>test.out

:qa!

ENDTEST



- Bug in "vPPPP" on this text (Webb):{cmd;{cmd;    /* <-- Start cursor here */{}}}[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 26 lines, 252 characters


"test.out" [New File] 26 lines, 252 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test14 = test61; then \
#	  if diff test.out test14.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test14.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test15.failed test.ok test.out X* viminfo
cp test15.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test15.in" 136 lines, 2246 charactersTests for :right on text with embedded TAB.

Also test formatting a paragraph.

Also test undo after ":%s" and formatting.



STARTTEST

:so small.vim

:set tw=65



:/^\s*test for :left/,/^\s*test for :center/ left

:/^\s*test for :center/,/^\s*test for :right/ center

:/^\s*test for :right/,/^xxx/-1 right

:set fo+=tcroql tw=72

/xxxxxxxx$

0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :right on text with embedded TAB.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 401 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 111 lines, 2304 characters


"test.out" [New File] 111 lines, 2304 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test15 = test61; then \
#	  if diff test.out test15.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test15.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test19.failed test.ok test.out X* viminfo
cp test19.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test19.in" 33 lines, 692 charactersTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.

Also test that dv_ works correctly



STARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/dict.o dict.c
[New File] 19 lines, 447 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 10 lines, 121 characters


"test.out" [New File] 10 lines, 121 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test19 = test61; then \
#	  if diff test.out test19.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test19.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test20.failed test.ok test.out X* viminfo
cp test20.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test20.in" 28 lines, 398 charactersTests Blockwise Visual when there are TABs before the text.

First test for undo working properly when executing commands from a register.

Also test this in an empty buffer.



STARTTEST

:so tiny.vim

G0"ay$k@au

:new

@auY:quit!

GP

/start here$

"by$^Vjjlld

/456$

^Vjj"bP

:/56$/,$-1w! test.out

:qa!

ENDTEST



123456

234567

345678



test text test tex start here[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests Blockwise Visual when there are TABs before the text.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 107 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso tiny.vim
[?25l[?12l[?25h[?25lsome texttest text

test text



Ox^[jAy^[kdd[?12l[?25h[?25lx[?12l[?25h

[?25ly[?12l[?25h[?25ly

Ox^[jAy^[kdd[?12l[?25h[?25l



2 changes; before #1  0 seconds ago[?12l[?25h

[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       123456

234567

345678test text test tex start here

                some texttest

test textOx^[jAy^[kdd

test20.in                                                                       [?12l[?25h[?25lx[+][?12l[?25h

[?25ly[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l1 line less; before #1  0 seconds ago    [?12l[?25h[?25l:[?12l[?25hquit!
[?25l:so tiny.vim

G0"ay$k@au:new@auY:quit!GP/start here$"by$^Vjjlld/456$^Vjj"bP:/56$/,$-1w! test.out:qa!ENDTEST123456

234567

345678test text test tex start heresome

         test text

test textOx^[jAy^[kdd[?12l[?25h[?25l[?12l[?25h[?25l

Ox^[jAy^[kdd[?12l[?25h[?25l

/[?12l[?25hstart here$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25ls[?12l[?25h[?25le[?12l[?25h[?25lt t[?12l[?25h[?25lat [?12l[?25h[?25lrt hereextex[?12l[?25h[?25l/[?12l[?25h456$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25l4

234[?12l[?25h[?25l5

345[?12l[?25h[?25l[?12l[?25h[?25lstart here56

234start here67

345start here78[?12l[?25h[?25l:[?12l[?25h/56$/,$-1w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 10 lines, 106 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test20 = test61; then \
#	  if diff test.out test20.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test20.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test22.failed test.ok test.out X* viminfo
cp test22.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test22.in" 13 lines, 197 charactersTests for file with some lines ending in CTRL-M, some not^M

^M

STARTTEST

:set ta tx

:e!

:$-3,$w! test.out

:qa!

ENDTEST



this lines ends in a^M

this one doesn't

this one does^M

and the last one doesn't

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for file with some lines ending in CTRL-M, some not^M[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset ta tx
[?25l[?12l[?25h[?25l:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[?12l[?25h[?25l:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [New File] 4 lines, 79 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test22 = test61; then \
#	  if diff test.out test22.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test22.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test23.failed test.ok test.out X* viminfo
cp test23.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test23.in" 15 lines, 282 charactersTests for complicated + argument to :edit command



STARTTEST

:$-1w! Xfile1

:$w! Xfile2

:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w

:w! test.out

:e Xfile1

:w >> test.out

:qa!

ENDTEST



The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"

foo|bar

foo/bar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for complicated + argument to :edit command[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" 1 line, 8 characters


foo|bar


"Xfile1" 1 line, 11 characters written


"Xfile2" 1 line, 8 characters


foo/bar


"Xfile2" 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 charactersfooPIPEbar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xfile1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hw >> test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test23 = test61; then \
#	  if diff test.out test23.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test23.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/diff.o diff.c
rm -rf X* test.ok viminfo
rm -rf test24.failed test.ok test.out X* viminfo
cp test24.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test24.in" 89 lines, 1301 charactersTests for regexp with backslash and other special characters inside []

Also test backslash for hex/octal numbered character.



STARTTEST

:set nocompatible viminfo+=nviminfo

/[\x]

x/[\t\]]

x/[]y]

x/[\]]

x/[y^]

x/[$y]

x/[\x61]

x/[\x60-\x64]

xj0/[\x785]

x/[\o143]

x/[\o140-\o144]

x/[\o417]

x/\%x42

x/\%o103

x/[\x00]

x

:s/[\x00-\x10]//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with backslash and other special characters inside [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 51 lines, 519 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/



:s/aaa/xyz/



:s/~/bcd/



:s/~\+/BB/

:"

:?start?,$w! test.out

:qa!

ENDTEST



start

test \text test text

test    text test text

test text ]test text

test ]text test text

test text te^st text

test te$xt test text

test taext test text  x61

test tbext test text  x60-x64

test 5text test text  x78 5[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h[\x]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[\t\]]
[?25l[?12l[?25h[?25ltext test tex[?12l[?25h[?25l/[?12l[?25h[]y]
[?25l[?12l[?25h[?25ltest text[?12l[?25h[?25l/[?12l[?25h[\]]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[y^]
[?25l[?12l[?25h[?25lst text[?12l[?25h[?25l/[?12l[?25h[$y]
[?25l[?12l[?25h[?25lxt test text[?12l[?25h[?25l/[?12l[?25h[\x61]
[?25l[?12l[?25h[?25lext test text  x61[?12l[?25h[?25l/[?12l[?25h[\x60-\x64]
[?25l[?12l[?25h[?25lext test text  x60-x64[?12l[?25h
[?25l/[?12l[?25h[\x785]
[?25l[?12l[?25h[?25ltext test text  x78 5[?12l[?25h[?25l/[?12l[?25h[\o143]
[?25l

testc text test text  o143[?12l[?25h[?25l text test text  o143[?12l[?25h[?25l

/[?12l[?25h[\o140-\o144]
[?25l

tesdt text test text  o140-o144[?12l[?25h[?25lt text test text  o140-o14[?12l[?25h[?25l

/[?12l[?25h[\o417]
[?25l

test7 text test text  o41 7[?12l[?25h[?25l text test text  o41 7[?12l[?25h[?25l

/[?12l[?25h\%x42
[?25l

test text tBest text  \%x42[?12l[?25h[?25lest text  \%x42[?12l[?25h[?25l

/[?12l[?25h\%o103
[?25l

test text teCst text  \%o103[?12l[?25h[?25lst text  \%o103[?12l[?25h[?25l

/[?12l[?25h[\x00]
[?25l

test text ^@test text  [\x00][?12l[?25h[?25ltest text  [\x00][?12l[?25h[?25l

test te^@xt t^Dest t^Pext  [\x00-\x10][?12l[?25h[?25l

:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 linext test text  [\x00-\x10][?12l[?25h[?25l

test \xyztext test text  [\x-z][?12l[?25h[?25l

:[?12l[?25hs/[\x-z]\+//
[?25ltext test text  [\x-z][?12l[?25h[?25l

test text tev\uyst text  [\u-z][?12l[?25h[?25l

:[?12l[?25hs/[\u-z]\{2,}//
[?25lst text  [\u-z][?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\+//
[?25l xx [?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)\+//
[?25l[?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)*//
[?25l[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{2,3}/A/
[?25lAaa xx[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25lAaaa x[?12l[?25h[?25l

xx aaa12aa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25lAaa xx[?12l[?25h[?25l

xx foobar xbar xx[?12l[?25h[?25l

:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25lA xx[?12l[?25h[?25l

xx an file xx[?12l[?25h[?25l

:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25lA xx[?12l[?25h[?25l

x= 9;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25lXX
[?12l[?25h[?25l

hh= 77;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25lYY 77;[?12l[?25h[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hs/aaa/xyz/
[?25lxyz
 [?12l[?25h[?25l

xyz[?12l[?25h[?25l

:[?12l[?25hs/~/bcd/
[?25lbcd
 [?12l[?25h[?25l

bcdbcdbcd[?12l[?25h[?25l

:[?12l[?25hs/~\+/BB/
[?25lBB[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [New] 32L, 586C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test24 = test61; then \
#	  if diff test.out test24.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test24.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test26.failed test.ok test.out X* viminfo
cp test26.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test26.in" 44 lines, 750 charactersTest for :execute, :while and :if



STARTTEST

:so small.vim

mt:let i = 0

:while i < 12

:  let i = i + 1

:  if has("ebcdic")

:    execute "normal o" . i . "\047"

:  else

:    execute "normal o" . i . "\033"

:  endif

:  if i % 2

:    normal Ax^V^[

:    if i == 9

:      break

:    endif

:    if i == 5

:      continue

:    else

:      let j = 9

:      while j > 0

:if has("ebcdic")[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for :execute, :while and :if[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 39 lines, 696 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:      let j = 9

:      while j > 0

:if has("ebcdic")

:execute "normal" j . "a" . j . "\x27"

:else

:execute "normal" j . "a" . j . "\x1b"

:endif

:let j = j - 1

:      endwhile

:    endif

:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 10 lines, 159 characters


"test.out" [New File] 10 lines, 159 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test26 = test61; then \
#	  if diff test.out test26.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test26.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test28.failed test.ok test.out X* viminfo
cp test28.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test28.in" 23 lines, 364 charactersTest for sourcing a file with CTRL-V's at the end of the line



STARTTEST

:/firstline/+1,/lastline/-1w! Xtestfile

:so Xtestfile

Gmm__1^[^[__2^[__3^[^[__4^[__5^[:'m,$s/^@/0/g

:'m,$w! test.out

:qa!

ENDTEST



firstline

map __1 afirst

map __2 asecond

map __3 athird

map __4 afourth

map __5 afifth

map __1 asd^V

map __2 asd^V^V

map __3 asd^V^V

map __4 asd^V^V^V

map __5 asd^V^V^V

lastline[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for sourcing a file with CTRL-V's at the end of the line[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [New File] 10 lines, 148 characters written[?12l[?25h[?25l:[?12l[?25hso Xtestfile
[?25l[?12l[?25h[?25l

sd

map __2 asd^[[?12l[?25h[?25lsecond[?12l[?25h[?25ldsd^[[?12l[?25h[?25lsd^@map __5 asd^@[?12l[?25h[?25lfifth[?12l[?25h[?25l

:[?12l[?25h'm,$s/^@/0/g
[?25l0map __5 asd0fifth[?12l[?25h[?25l:[?12l[?25h'm,$w! test.out
[?25l"test.out" [New File] 2 lines, 45 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test28 = test61; then \
#	  if diff test.out test28.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test28.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test29.failed test.ok test.out X* viminfo
cp test29.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test29.in" 230 lines, 4261 charactersTest for joining lines and marks in them

 in compatible and nocompatible modes

 and with 'joinspaces' set or not

 and with 'cpoptions' flag 'j' set or not



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set nojoinspaces

:set cpoptions-=j

/firstline/

j"td/^STARTTEST/-1

PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=jj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss+=j

j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2

ENDTEST



firstline

asdfasdf.

asdf[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for joining lines and marks in them[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 478 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 97 lines, 3018 characters


"test.out" [New File] 97 lines, 3018 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test29 = test61; then \
#	  if diff test.out test29.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test29.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test31.failed test.ok test.out X* viminfo
cp test31.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test31.in" 95 lines, 1832 charactersTest for commands that close windows and/or buffers:

:quit

:close

:hide

:only

:sall

:all

:ball

:buf

:edit



STARTTEST

:so small.vim

GA 1^[:$w! Xtest1

$r2:$w! Xtest2

$r3:$w! Xtest3

:n! Xtest1 Xtest2

A 1^[:set hidden

:" test for working :n when hidden set; write "testtext 2"

:n

:w! test.out

:" test for failing :rew when hidden not set; write "testtext 2 2"

:set nohidden[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for commands that close windows and/or buffers:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 80 lines, 1697 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" test ":q!" and hidden buffer.

:bw! Xtest1 Xtest2 Xtest3 Xtest4

:sp Xtest1

:wincmd w

:bw!

:set modified

:bot sp Xtest2

:set modified

:bot sp Xtest3

:set modified

:wincmd t

:hide

:q!

:w >>test.out

:q!

:w >>test.out

:q!

:call append(line('$'), "Oh, Not finished yet.")

:w >>test.out

:qa!

ENDTEST



testtext[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 14 lines, 176 characters


"test.out" [New File] 14 lines, 176 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test31 = test61; then \
#	  if diff test.out test31.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test31.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test33.failed test.ok test.out X* viminfo
cp test33.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ui.o ui.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test33.in" 34 lines, 616 charactersTest for 'lisp'

If the lisp feature is not enabled, this will fail!



STARTTEST

:so small.vim

:set lisp

/^(defun

=G:/^(defun/,$w! test.out

:q!

ENDTEST



(defun html-file (base)

(format nil "~(~A~).html" base))



(defmacro page (name title &rest body)

(let ((ti (gensym)))

`(with-open-file (*standard-output*

(html-file ,name)

:direction :output

:if-exists :supersede)

(let ((,ti ,title))

(as title ,ti)

(with center[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'lisp'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 63 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 23 lines, 544 characters


"test.out" [New File] 23 lines, 544 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test33 = test61; then \
#	  if diff test.out test33.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test33.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test34.failed test.ok test.out X* viminfo
cp test34.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test34.in" 87 lines, 1833 charactersTest for user functions.

Also test an <expr> mapping calling a function.

Also test that a builtin function cannot be replaced.

Also test for regression when calling arbitrary expression.



STARTTEST

:so small.vim

:function Table(title, ...)

:  let ret = a:title

:  let idx = 1

:  while idx <= a:0

:    exe "let ret = ret . a:" . idx

:    let idx = idx + 1

:  endwhile

:  return ret

:endfunction

:function Compute(n1, n2, divname)

:  if a:n2 == 0

:    return "fail"

:  endif

:  exe "let g:" . a:divname . " = ". a:n1 / a:n2

:  return "ok"

:endfunction[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for user functions.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 78 lines, 1621 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'

:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!

ENDTEST



here[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 10 lines, 81 characters


"test.out" [New File] 10 lines, 81 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test34 = test61; then \
#	  if diff test.out test34.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test34.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test36.failed test.ok test.out X* viminfo
cp test36.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test36.in" 108 lines, 2025 charactersTest character classes in regexp using regexpengine 0, 1, 2.



STARTTEST

/^start-here/+1

Y:s/\%#=0\d//g

p:s/\%#=1\d//g

p:s/\%#=2\d//g

p:s/\%#=0[0-9]//g

p:s/\%#=1[0-9]//g

p:s/\%#=2[0-9]//g

p:s/\%#=0\D//g

p:s/\%#=1\D//g

p:s/\%#=2\D//g

p:s/\%#=0[^0-9]//g

p:s/\%#=1[^0-9]//g

p:s/\%#=2[^0-9]//g

p:s/\%#=0\o//g

p:s/\%#=1\o//g

p:s/\%#=2\o//g

p:s/\%#=0[0-7]//g

p:s/\%#=1[0-7]//g

p:s/\%#=2[0-7]//g

p:s/\%#=0\O//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest character classes in regexp using regexpengine 0, 1, 2.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 101 lines, 1850 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTp:s/\%#=1[^a-z]//g

p:s/\%#=2[^a-z]//g

p:s/\%#=0\u//g

p:s/\%#=1\u//g

p:s/\%#=2\u//g

p:s/\%#=0[A-Z]//g

p:s/\%#=1[A-Z]//g

p:s/\%#=2[A-Z]//g

p:s/\%#=0\U//g

p:s/\%#=1\U//g

p:s/\%#=2\U//g

p:s/\%#=0[^A-Z]//g

p:s/\%#=1[^A-Z]//g

p:s/\%#=2[^A-Z]//g

p:s/\%#=0\%204l^\t...//g

p:s/\%#=1\%205l^\t...//g

p:s/\%#=2\%206l^\t...//g

:/^start-here/+1,$wq! test.out

ENDTEST




[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^start-here/+1
[?25l[?12l[?25h[?25l:[?12l[?25hs/\%#=0\d//g



:[?12l[?25hs/\%#=1\d//g



:[?12l[?25hs/\%#=2\d//g



:[?12l[?25hs/\%#=0[0-9]//g



:[?12l[?25hs/\%#=1[0-9]//g



:[?12l[?25hs/\%#=2[0-9]//g



:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\o//g



:[?12l[?25hs/\%#=1\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l

[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\x//g




:[?12l[?25hs/\%#=1\x//g




:[?12l[?25hs/\%#=2\x//g




:[?12l[?25hs/\%#=0[0-9A-Fa-f]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-9A-Fa-f]//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\w//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\w//g





:[?12l[?25hs/\%#=1[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=2[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\h//g




:[?12l[?25hs/\%#=1\h//g




:[?12l[?25hs/\%#=2\h//g




:[?12l[?25hs/\%#=0[A-Za-z_]//g




:[?12l[?25hs/\%#=1[A-Za-z_]//g




:[?12l[?25hs/\%#=2[A-Za-z_]//g




:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\a//g




:[?12l[?25hs/\%#=1\a//g




:[?12l[?25hs/\%#=2\a//g




:[?12l[?25hs/\%#=0[A-Za-z]//g




:[?12l[?25hs/\%#=1[A-Za-z]//g




:[?12l[?25hs/\%#=2[A-Za-z]//g




:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\l//g



:[?12l[?25hs/\%#=1\l//g



:[?12l[?25hs/\%#=2\l//g



:[?12l[?25hs/\%#=0[a-z]//g



:[?12l[?25hs/\%#=1[a-z]//g



:[?12l[?25hs/\%#=2[a-z]//g



:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\u//g



:[?12l[?25hs/\%#=1\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l

[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\%204l^\t...//g



:[?12l[?25hs/\%#=1\%205l^\t...//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\%206l^\t...//g
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 99 lines, 4269 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test36 = test61; then \
#	  if diff test.out test36.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test36.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test37.failed test.ok test.out X* viminfo
cp test37.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test37.in" 116 lines, 3262 charactersTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vim

:set noscrollbind

:set scrollopt=ver,jump

:set scrolloff=2

:set nowrap

:set noequalalways

:set splitbelow

:" TEST using two windows open to one buffer, one extra empty window

:split

:new

^Wt:

:resize 8

/^start of window 1$/

zt:

:set scrollbind

^Wj:

:resize 7

/^start of window 2$/

zt:

:set scrollbind

:" -- start of tests --[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below![?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 1498 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTHk^WtH^WjHyy^Wbp^Wtyy^Wbp:

^Wt:set noscb

ggL^Wj:set noscb

ggL:set scb

^Wt:set scb

^WtG^WjG^Wt:syncbind

Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out" Write contents of this file

:qa!

ENDTEST





start of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 33 lines, 1329 characters


"test.out" [New File] 33 lines, 1329 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test37 = test61; then \
#	  if diff test.out test37.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test37.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test38.failed test.ok test.out X* viminfo
cp test38.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/digraph.o digraph.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test38.in" 35 lines, 455 charactersTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 407 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTopq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 13 lines, 107 characters


"test.out"gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui.o gui.c
 [New File] 13 lines, 107 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test38 = test61; then \
#	  if diff test.out test38.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test38.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test39.failed test.ok test.out X* viminfo
cp test39.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test39.in" 118 lines, 2435 charactersTest Visual block mode commands

And test "U" in Visual mode, also on German sharp S.



#define BO_ALL      0x0001

#define BO_BS0x0002

#define BO_CRSR     0x0004



STARTTEST

:so small.vim

:so mbyte.vim

:" This only works when 'encoding' is "latin1", don't depend on the environment

:set enc=latin1

/^abcde

:" Test shift-right of a block

jllll^Vjj>wll^Vjlll>

:" Test shift-left of a block

G$hhhh^Vkk<

:" Test block-insert

Gkl^VkkkIxyz^[

:" Test block-replace

Gllll^Vkkklllrq

:" Test block-change[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 75 lines, 2061 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 63 lines, 662 characters


"test.out" [New File] 63 lines, 662 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test39 = test61; then \
#	  if diff test.out test39.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test39.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test40.failed test.ok test.out X* viminfo
cp test40.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test40.in" 63 lines, 1536 charactersTest for "*Cmd" autocommands



STARTTEST

:so small.vim

:/^start/,$w! Xxx" write lines below to Xxx

:au BufReadCmd XtestA 0r Xxx|$del

:e XtestA" will read text of Xxd instead

:au BufWriteCmd XtestA call append(line("$"), "write")

:w" will append a line to the file

:r XtestA" should not read anything

:" now we have:

:" 1     start of Xxx

:" 2test40

:" 3     end of Xxx

:" 4     write

:au FileReadCmd XtestB '[r Xxx

:2r XtestB" will read Xxx below line 2 instead

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test40

:" 5     end of Xxx

:" 6     end of Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for "*Cmd" autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1455 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$w >>test.out" append "end of Xxx" to test.out

:au BufReadCmd XtestE 0r test.out|$del

:sp XtestE" split window with test.out

5Goasdf^[^W^W:"

:au BufWriteCmd XtestE w! test.out

:wall" will write other window to test.out

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test401

:" 5     end of Xxx

:" 6     asdf

:" 7     end of Xxx

:" 8     write

:" 9test401

:" 10    end of Xxx

:" 11    end of Xxx

:qa!

ENDTEST



start of Xxxtest40

end of Xxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 11 lines, 107 characters


"test.out" [New File] 11 lines, 107 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test40 = test61; then \
#	  if diff test.out test40.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test40.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test41.failed test.ok test.out X* viminfo
cp test41.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test41.in" 24 lines, 421 charactersTest for writing and reading a file of over 100 Kbyte



1 line: "This is the start"

3001 lines: "This is the leader"

1 line: "This is the middle"

3001 lines: "This is the trailer"

1 line: "This is the end"



STARTTEST

:%d

aThis is the start

This is the leader

This is the middle

This is the trailer

This is the end^[kY3000p2GY3000p

:w! Xtest

:%d

:e! Xtest

:.w! test.out

3003G:.w >>test.out

6005G:.w >>test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file of over 100 Kbyte[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/edit.o edit.c
[New File] 13 lines, 196 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lThis is the start

This is the leaderThis is the middleThis is the trailerThis is the end[?12l[?25h[?25l3000 more linestrailer

This is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailer[?12l[?25h[?25lleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleader[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 6005 lines, 117092 characters written[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" 6005 lines, 117092 charactersThis is the start

This is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leader[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 18 characters written[?12l[?25h[?25lThis is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the middle

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 19 characters appended[?12l[?25h[?25lThis is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the end
[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 16 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test41 = test61; then \
#	  if diff test.out test41.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test41.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test42.failed test.ok test.out X* viminfo
cp test42.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test42.in" 130 lines, 2368 charactersTest for writing and reading a file starting with a BOM



STARTTEST

:so mbyte.vim

:set encoding=utf-8

:set fileencodings=ucs-bom,latin-1

:set ff=unix ffs=unix" This changes the file for DOS and MAC

:" --- Write the test files

:/^latin-1$/+1w! Xtest0

:/^utf-8$/+1w! Xtest1

:/^utf-8-err$/+1w! Xtest2

:/^ucs-2$/+1w! Xtest3

:/^ucs-2le$/+1w! Xtest4

:" Need to add a NUL byte after the NL byte

:set bin

:e! Xtest4" Ignore change from setting 'ff'

o^V^@^[:set noeol

:w

:set ffs& nobinary" Allow default test42.in format

:e #

:set ff=unix" Format for files to write

:/^ucs-4$/+1w! Xtest5

:/^ucs-4le$/+1w! Xtest6[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file starting with a BOM[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2116 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1


utf-8

utf-8

utf-8-err

utf-8~@err

ucs-2


ucs-2le


[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l"test.ok" 44 lines, 409 characters


"test.out" [New File] 44 lines, 409 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test42 = test61; then \
#	  if diff test.out test42.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test42.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test43.failed test.ok test.out X* viminfo
cp test43.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test43.in" 34 lines, 473 charactersTests for regexp with various magic settings.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:$

:set undolevels=100

dv?bar?

Yup:"

:?^1?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 268 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 11 lines, 137 characters


"test.out" [New File] 11 lines, 137 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test43 = test61; then \
#	  if diff test.out test43.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test43.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test44.failed test.ok test.out X* viminfo
cp test44.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test44.in" 81 lines, 1492 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test99 for exactly the same test with re=2.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=1

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1023 characters written[?12l[?25h[?25l:set ff& cpo+=A



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l"test.ok" 25 lines, 271 characters


"test.out" [New File] 25 lines, 271 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test44 = test61; then \
#	  if diff test.out test44.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test44.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test45.failed test.ok test.out X* viminfo
cp test45.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test45.in" 90 lines, 1953 charactersTests for folding. vim: set ft=vim :



STARTTEST

:so small.vim

:" We also need the +syntax feature here.

:if !has("syntax")

   e! test.ok

   w! test.out

   qa!

:endif

:" basic test if a fold can be created, opened, moving to the end and closed

/^1

zf2j:call append("$", "manual " . getline(foldclosed(".")))

zo:call append("$", foldclosed("."))

]z:call append("$", getline("."))

zc:call append("$", getline(foldclosed(".")))

:" test folding with markers.

:set fdm=marker fdl=1 fdc=3

/^5

:call append("$", "marker " . foldlevel("."))

[z:call append("$", foldlevel("."))

jo{{ ^[r{jj:call append("$", foldlevel("."))

kYpj:call append("$", foldlevel("."))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for folding. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 73 lines, 1820 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:new

iTest fdm=indent and :move bug END

line2Test fdm=indent STARTline3line4^[

:set fdm=indent

:1m1

2jzc:m0

:%w >> test.out

:qa!

ENDTEST



1 aa

2 bb

3 cc

4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 23 lines, 173 characters


"test.out" [New File] 23 lines, 173 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test45 = test61; then \
#	  if diff test.out test45.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test45.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test48.failed test.ok test.out X* viminfo
cp test48.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test48.in" 83 lines, 1658 charactersThis is a test of 'virtualedit'.



STARTTEST

:so small.vim

:set noswf

:set ve=all

-dgg

:"

:"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".

:"    Repeating CTRL-N fixes it. (Mary Ellen Foster)

2/w

C^N^[

:"

:"   Using "C" then then <CR> moves the last remaining character to the next

:"    line.  (Mary Ellen Foster)

j^/are

C^Mare belong to vim^[

:"

:"   When past the end of a line that ends in a single character "b" skips

:"    that word.

^$15lbC7^[

:"

:"   Make sure 'i' works[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of 'virtualedit'.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 61 lines, 1442 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set display=

:"

:"   Test for ^Y/^E due to bad w_virtcol value, reported by

:"   Roy <royl@netropolis.net>.

^O^[3li^E^[4li^E^[4li^E   <-- should show the name of a noted text editor^[

^o^[4li^Y^[4li^Y^[4li^Y   <-- and its version number^[-dd

:"

:" Test for yanking and pasting using the small delete register

gg/^foo

dewve"-p

:wq! test.out

ENDTEST

foo, bar

keyword keyw

all your base are belong to us

1 2 3 4 5 6

'i'

'C'

'a'

'A'

'D'

this is a test

this is a test[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 23 lines, 479 characters


"test.out" [New File] 23 lines, 479 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test48 = test61; then \
#	  if diff test.out test48.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test48.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test51.failed test.ok test.out X* viminfo
cp test51.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/undo.o undo.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test51.in" 36 lines, 809 charactersTests for ":highlight". vim: set ft=vim :



STARTTEST

:so small.vim

:" basic test if ":highlight" doesn't crash

:highlight

:hi Search

:" test setting colors.

:" test clearing one color and all doesn't generate error or warning

:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#000ff00 guibg=Cyan

:hi Group2 term= cterm=

:hi Group3 term=underline cterm=bold

:redir! >test.out

:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for ":highlight". vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 31 lines, 747 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 20 lines, 271 characters


"test.out" [New File] 20 lines, 271 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test51 = test61; then \
#	  if diff test.out test51.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test51.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test53.failed test.ok test.out X* viminfo
cp test53.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test53.in" 75 lines, 1763 charactersTests for string and html text objects. vim: set ft=vim :



Note that the end-of-line moves the cursor to the next test line.



Also test match() and matchstr()



STARTTEST

:so small.vim

/^start:/

da"

0va'a'rx

02f`da`

0fXdi"

03f'vi'ry

:set quoteescape=+*-

di`

$F"va"oha"i"rz

:"

/^<begin

jfXdit

0fXdit

fXdat

0fXdat[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for string and html text objects. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1237 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =match('abc', '$', 4, 1) " -1

:put =match('abc', '\zs', 0, 1) " 0

:put =match('abc', '\zs', 0, 2) " 1

:put =match('abc', '\zs', 0, 3) " 2

:put =match('abc', '\zs', 0, 4) " 3

:put =match('abc', '\zs', 0, 5) " -1

:put =match('abc', '\zs', 1, 1) " 1

:put =match('abc', '\zs', 2, 1) " 2

:put =match('abc', '\zs', 3, 1) " 3

:put =match('abc', '\zs', 4, 1) " -1

:/^start:/,/^end:/wq! test.out

ENDTEST



start: "wo\"rd\\" foo

'foo' 'bar' 'piep'

bla bla `quote` blah

out " in "noXno"

"'" 'blah' rep 'buh'

bla `s*`d-`+++`l**` b`la

voo "nah" sdf " asdf" sdf " sdf" sd



<begin>

-<b>asdf<i>Xasdf</i>asdf</b>-[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 45 lines, 284 characters


"test.out" [New File] 45 lines, 284 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test53 = test61; then \
#	  if diff test.out test53.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test53.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test55.failed test.ok test.out X* viminfo
cp test55.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test55.in" 586 lines, 12256 charactersTests for List and Dictionary types.     vim: set ft=vim :



STARTTEST

:so small.vim

:fun Test(...)

:lang C

:" Creating List directly with different types

:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]

:$put =string(l)

:$put =string(l[-1])

:$put =string(l[-4])

:try

:  $put =string(l[-5])

:catch

:  $put =v:exception[:14]

:endtry

:" List slices

:$put =string(l[:])

:$put =string(l[1:])

:$put =string(l[:-2])

:$put =string(l[0:8])

:$put =string(l[8:-1])

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for List and Dictionary types.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 580 lines, 12170 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 197 lines, 3821 characters


"test.out" [New File] 197 lines, 3821 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test55 = test61; then \
#	  if diff test.out test55.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test55.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test56.failed test.ok test.out X* viminfo
cp test56.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test56.in" 21 lines, 457 charactersTest for script-local function.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:set nocp viminfo+=nviminfo

:/^start:/+1,/^end:/-1w! Xtest.vim

:source Xtest.vim

_x

:$-1,$wq! test.out

ENDTEST



start:

fun <SID>DoLast()

  call append(line('$'), "last line")

endfun

fun s:DoNothing()

  call append(line('$'), "nothing line")

endfun

nnoremap <buffer> _x    :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunnc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>

end:

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for script-local function.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 120 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 2 lines, 23 characters


"test.out" [New File] 2 lines, 23 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test56 = test61; then \
#	  if diff test.out test56.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test56.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test57.failed test.ok test.out X* viminfo
cp test57.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test57.in" 545 lines, 4110 charactersTests for :sort command.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:/^t01:/+1,/^t02/-1sort

:/^t02:/+1,/^t03/-1sort n

:/^t03:/+1,/^t04/-1sort x

:/^t04:/+1,/^t05/-1sort u

:/^t05:/+1,/^t06/-1sort!

:/^t06:/+1,/^t07/-1sort! n

:/^t07:/+1,/^t08/-1sort! u

:/^t08:/+1,/^t09/-1sort o

:/^t09:/+1,/^t10/-1sort! x

:/^t10:/+1,/^t11/-1sort/./

:/^t11:/+1,/^t12/-1sort/../

:/^t12:/+1,/^t13/-1sort/../u

:/^t13:/+1,/^t14/-1sort/./n

:/^t14:/+1,/^t15/-1sort/./r

:/^t15:/+1,/^t16/-1sort/../r

:/^t16:/+1,/^t17/-1sort/./rn

:/^t17:/+1,/^t18/-1sort/\d/

:/^t18:/+1,/^t19/-1sort/\d/r[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :sort command.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 33 lines, 920 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:/^t21:/+1,/^t22/-1sort/\d\d/

:/^t22:/+1,/^t23/-1sort/\d\d/n

:/^t23:/+1,/^t24/-1sort/\d\d/x

:/^t24:/+1,/^t25/-1sort/\d\d/r

:/^t25:/+1,/^t26/-1sort/\d\d/rn

:/^t26:/+1,/^t27/-1sort/\d\d/rx

:/^t27:/+1,/^t28/-1sort no

:/^t28:/+1,/^t29/-1sort b

:/^t29:/+1,/^t30/-1sort b

:/^t30:/+1,/^t31/-1sort f

:/^t01:/,$wq! test.out

ENDTEST



t01: alphebetical

abc

ab

a

a321

a123

a122

b321

b123

c123d[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 501 lines, 3105 characters


"test.out" [New File] 501 lines, 3105 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test57 = test61; then \
#	  if diff test.out test57.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test57.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test60.failed test.ok test.out X* viminfo
cp test60.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test60.in" 601 lines, 13116 charactersTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :



STARTTEST

:so small.vim

:function! RunTest(str, result)

    if exists(a:str) == a:resultecho "OK"

    elseecho "FAILED: Checking for " . a:str

    endif

endfunction

:function! TestExists()

    augroup myagroupautocmd! BufEnter*.my     echo "myfile edited"autocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"

    augroup END

    set rtp+=./sautestlet test_cases = []" valid autocmd group

    let test_cases += [['#myagroup', 1]]

    " valid autocmd group with garbage[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 596 lines, 13023 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 206 lines, 1941 characters


"test.out" [New File] 206 lines, 1941 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test60 = test61; then \
#	  if diff test.out test60.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test60.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test64.failed test.ok test.out X* viminfo
cp test64.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test64.in" 654 lines, 27565 charactersTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns without multi-byte support.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 621 lines, 27090 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:for pat in [' \ze*', ' \zs*']

:  try

:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1107 lines, 22167 characters


"test.out" [New File] 1107 lines, 22167 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test64 = test61; then \
#	  if diff test.out test64.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test64.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test65.failed test.ok test.out X* viminfo
cp test65.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test65.in" 95 lines, 2153 charactersTest for floating point and logical operators.



STARTTEST

:so small.vim

:if !has("float")

:  e! test.ok

:  wq! test.out

:endif

:"

:$put =printf('%f', 123.456)

:$put =printf('%e', 123.456)

:$put =printf('%g', 123.456)

:" check we don't crash on division by zero

:echo 1.0 / 0.0

:$put ='+='

:let v = 1.234

:let v += 6.543

:$put =printf('%g', v)

:let v = 1.234

:let v += 5

:$put =printf('%g', v)

:let a = 5

:let a += 3.333[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for floating point and logical operators.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 89 lines, 2067 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'

:$put =and(127, 127)

:$put =and(127, 16)

:$put =and(127, 128)

:$put ='OR'

:$put =or(16, 7)

:$put =or(8, 7)

:$put =or(0, 123)

:$put ='XOR'

:$put =xor(127, 127)

:$put =xor(127, 16)

:$put =xor(127, 128)

:$put ='invert'

:$put =and(invert(127), 65535)

:$put =and(invert(16), 65535)

:$put =and(invert(128), 65535)

:$put =invert(1.0)

:/^Results/,$wq! test.out

ENDTEST



Results of test65:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 73 lines, 430 characters


"test.out" [New File] 73 lines, 430 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test65 = test61; then \
#	  if diff test.out test65.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test65.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test66.failed test.ok test.out X* viminfo
cp test66.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_gtk.o gui_gtk.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test66.in" 33 lines, 509 charactersTest for visual block shift and tab characters.



STARTTEST

:so small.vim

/^one

fe^V4jR^[ugvr1:'<,'>w! test.out

/^abcdefgh

^V4jI    ^[j<<11|D

7|a^[

7|a^[

7|a^[4k13|^V4j<

:$-5,$w >> test.out

:$-4,$s/\s\+//g

^V4kI    ^[j<<

7|a^[

7|a^[

7|a^[4k13|^V4j3<

:$-4,$w >> test.out

:qa!

ENDTEST



one two three[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 234 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 16 lines, 368 characters


"test.out" [New File] 16 lines, 368 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test66 = test61; then \
#	  if diff test.out test66.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test66.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test67.failed test.ok test.out X* viminfo
cp test67.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test67.in" 33 lines, 1110 charactersTest that groups and patterns are tested correctly when calling exists() for

autocommands.



STARTTEST

:so small.vim

:let results=[]

:augroup auexists

:augroup END

:call add(results, "##BufEnter: " . exists("##BufEnter"))

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:au BufEnter * let g:entered=1

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:augroup auexists

:au BufEnter * let g:entered=1

:augroup END

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:au BufEnter *.test let g:entered=1

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:edit testfile.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:au BufEnter <buffer> let g:entered=1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest that groups and patterns are tested correctly when calling exists() for[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 999 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:edit testfile2.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:e! test.out

:call append(0, results)

:$d

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 10 lines, 190 characters


"test.out" [New File] 10 lines, 190 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test67 = test61; then \
#	  if diff test.out test67.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test67.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test68.failed test.ok test.out X* viminfo
cp test68.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test68.in" 131 lines, 1004 charactersTest for text formatting.



Results of test68:



STARTTEST

:so small.vim

/^{/+1

:set noai tw=2 fo=t

gRa b^[

ENDTEST



{





}



STARTTEST

/^{/+1

:set ai tw=2 fo=tw

gqgqjjllab^[

ENDTEST



{[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 48 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 77 lines, 281 characters


"test.out" [New File] 77 lines, 281 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test68 = test61; then \
#	  if diff test.out test68.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test68.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test69.failed test.ok test.out X* viminfo
cp test69.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test69.in" 192 lines, 2185 charactersTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for multi-byte text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 2 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l"test.ok" 166 lines, 730 characters


"test.out" [New File] 166 lines, 730 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test69 = test61; then \
#	  if diff test.out test69.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test69.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test70.failed test.ok test.out X* viminfo
cp test70.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test70.in" 63 lines, 1501 charactersSmoke test for MzScheme interface and mzeval() function



STARTTEST

:so mzscheme.vim

:set nocompatible viminfo+=nviminfo

:function! MzRequire()

:redir => l:mzversion

:mz (version)

:redir END

:if strpart(l:mzversion, 1, 1) < "4"

:" MzScheme versions < 4.x:

:mz (require (prefix vim- vimext))

:else

:" newer versions:

:mz (require (prefix-in vim- 'vimext))

:mz (require r5rs)

:endif

:endfunction

:silent call MzRequire()

:mz (define l '("item0" "dictionary with list OK" "item2"))

:mz (define h (make-hash))

:mz (hash-set! h "list" l)

/^1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSmoke test for MzScheme interface and mzeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1398 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:if l2[2] == l2

:let res = "OK"

:else

:let res = "FAILED: " . l2[2]

:endif

:call setline(search("^3"), "circular test " . res)

:" funcrefs

:mz (define vim:max (vim-eval "function('max')"))

:mz (define m (vim:max '(1 100 8)))

:let m = mzeval('m')

:if m == 100

:let fref_res = "OK"

:else

:let fref_res = "FAILED: " . m

:end

:call append(line('$'), 'funcrefs '. fref_res)

:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mzscheme.vim
[?25l"test.ok" 6 lines, 94 characters


"test.out" [New File] 6 lines, 94 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test70 = test61; then \
#	  if diff test.out test70.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test70.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test73.failed test.ok test.out X* viminfo
cp test73.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test73.in" 169 lines, 3647 charactersTests for find completion.



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xfind directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a stale "Xfind" directory may exist, remove it so that

:" we start from a clean state.

:call delete("Xfind", "rf")

:new

:let cwd=getcwd()

:let test_out = cwd . '/test.out'

:call mkdir('Xfind')

:cd Xfind

:set path=

:find

:exec "w! " . test_out

:close[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for find completion.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 164 lines, 3600 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exec "cd " . cwd . "/Xfind/"

:set path=./path

:" Open the file where Jimmy Hoffa is found

:e in/file.txt

:" Find the file containing 'E.T.' in the Xfind/in/path directory

:find file

:exec "w >>" . test_out

:"

:" Test that completion works when path=.,,

:"

:set path=.,,

:" Open Jimmy Hoffa file

:e in/file.txt

:exec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu

:exec "w >>" . test_out

:q

:exec "cd " . cwd

:call delete("Xfind", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 21 lines, 222 characters


"test.out" [New File] 21 lines, 222 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test73 = test61; then \
#	  if diff test.out test73.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test73.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test75.failed test.ok test.out X* viminfo
cp test75.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test75.in" 41 lines, 1000 charactersTests for maparg().

Also test utf8 map with a 0x80 byte.



STARTTEST

:so small.vim

:so mbyte.vim

:set cpo-=<

:set encoding=utf8

:" Test maparg() with a string result

:map foo<C-V> is<F4>foo

:vnoremap <script> <buffer> <expr> <silent> bar isbar

:call append('$', maparg('foo<C-V>'))

:call append('$', string(maparg('foo<C-V>', '', 0, 1)))

:call append('$', string(maparg('bar', '', 0, 1)))

:map <buffer> <nowait> foo bar

:call append('$', string(maparg('foo', '', 0, 1)))

:"

:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for maparg().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 34 lines, 919 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 7 lines, 384 characters


"test.out" [New File] 7 lines, 384 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test75 = test61; then \
#	  if diff test.out test75.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test75.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test77.failed test.ok test.out X* viminfo
cp test77.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/userfunc.o userfunc.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test77.in" 30 lines, 719 charactersInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.



cksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST

:so small.vim

:if !executable("cksum")

: e! test.ok

: w! test.out

: qa!

:endif

:set fileformat=unix undolevels=-1

ggdG

:let i = 1

:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhileggdd

:w! Xtest[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 2 million lines with consecutive integers starting from 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 288 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:r !cksum Xtest

:s/\s/ /g

:set fileformat&

:.w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1 line, 26 characters


"test.out" [New File] 1 line, 26 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test77 = test61; then \
#	  if diff test.out test77.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test77.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test79.failed test.ok test.out X* viminfo
cp test79.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test79.in" 255 lines, 3381 charactersTest for *sub-replace-special* and *sub-replace-expression* on :substitute.

Test for submatch() on :substitue.

Test for *:s%* on :substitute.

Test for :s replacing \n with  line break.



STARTTEST

:so small.vim

ENDTEST



Results of test71:



STARTTEST

:set magic

:set cpo&

/^TEST/

j:s/A/&&/

j:s/B/\&/

j:s/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/

j:s/D/d/

j:s/E/~/

j:s/F/\~/

j:s/G/\ugg/

j:s/H/\Uh\Eh/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 134 lines, 574 characters


"test.out" [New File] 134 lines, 574 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test79 = test61; then \
#	  if diff test.out test79.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test79.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test80.failed test.ok test.out X* viminfo
cp test80.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test80.in" 201 lines, 6298 charactersTest for *sub-replace-special* and *sub-replace-expression* on substitute().

Test for submatch() on substitute().

Test for *:s%* on :substitute.



STARTTEST

:so small.vim

ENDTEST



TEST_1:



STARTTEST

:set magic

:set cpo&

:$put =\"\n\nTEST_1:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

:$put =substitute('F', 'F', '\~', '')

:$put =substitute('G', 'G', '\ugg', '')

:$put =substitute('H', 'H', '\Uh\Eh', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on substitute().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 131 lines, 617 characters


"test.out" [New File] 131 lines, 617 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test80 = test61; then \
#	  if diff test.out test80.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test80.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test82.failed test.ok test.out X* viminfo
cp test82.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test82.in" 103 lines, 3166 charactersTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 97 lines, 3055 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 5 lines, 31 characters


"test.out" [New File] 5 lines, 31 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test82 = test61; then \
#	  if diff test.out test82.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test82.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test84.failed test.ok test.out X* viminfo
cp test84.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
if test -z "/usr/bin/glib-compile-resources"; then touch auto/gui_gtk_gresources.h; else \
	/usr/bin/glib-compile-resources --target=auto/gui_gtk_gresources.h --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml; \
fi
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pty.o pty.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test84.in" 35 lines, 786 charactersTests for curswant not changing when setting an option



STARTTEST

:so small.vim

:/^start target options$/+1,/^end target options$/-1 yank

:let target_option_names = split(@0)

:function TestCurswant(option_name)

:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction

:

:new

:put =['1234567890', '12345']

:1 delete _

:let result = []

:for option_name in target_option_names

:  call add(result, TestCurswant(option_name))

:endfor

:

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for curswant not changing when setting an option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 637 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _

:write test.out

:

:qall!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 3 lines, 43 characters


"test.out" [New File] 3 lines, 43 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test84 = test61; then \
#	  if diff test.out test84.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test84.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test88.failed test.ok test.out X* viminfo
cp test88.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test88.in" 99 lines, 1449 charactersvim: set ft=vim



Tests for correct display (cursor column position) with +conceal and

tabulators.



STARTTEST

:so small.vim

:if !has('conceal')

   e! test.ok

   wq! test.out

:endif

:" Conceal settings.

:set conceallevel=2

:set concealcursor=nc

:syntax match test /|/ conceal

:" Save current cursor position. Only works in <expr> mode, can't be used

:" with :normal because it moves the cursor to the command line. Thanks to ZyX

:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.

:let positions = []

:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"

:" Start test.

/^start:

:normal ztj[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lvim: set ft=vim[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 82 lines, 1216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:normal W

GGk

:normal W

GGk

:normal W

GGk

:normal $

GGk

:" Display result.

:call append('$', 'end:')

:call append('$', positions)

:/^end/,$wq! test.out

ENDTEST



start:

.concealed.     text

|concealed|     text.concealed.     text|concealed|     text



.a.     .b.     .c.     .d.

|a|     |b|     |c|     |d|[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 29 lines, 135 characters


"test.out" [New File] 29 lines, 135 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test88 = test61; then \
#	  if diff test.out test88.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test88.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test90.failed test.ok test.out X* viminfo
cp test90.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test90.in" 53 lines, 1204 charactersTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :



STARTTEST

:so small.vim

:if !has('cryptv') || !exists('*sha256')

   e! test.ok

   wq! test.out

:endif

:"

:let testcase='test for empty string: '

:if sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522b855'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for 1 char: '

:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afeee48bb'

: let res='ok'

:else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for contains non-ascii char: '

:if sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00b8d27db8d5feaa813953'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 6 lines, 143 characters


"test.out" [New File] 6 lines, 143 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test90 = test61; then \
#	  if diff test.out test90.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test90.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test91.failed test.ok test.out X* viminfo
cp test91.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test91.in" 116 lines, 3240 charactersTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().

vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Use strings to test for memory leaks.

:" First, check that in an empty window, gettabvar() returns the correct value

:let t:testvar='abcd'

:$put =string(gettabvar(1,'testvar'))

:$put =string(gettabvar(1,'testvar'))

:" Test for getbufvar()

:let b:var_num = '1234'

:let def_num = '5678'

:$put =string(getbufvar(1, 'var_num'))

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))

:unlet b:var_num

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 109 lines, 3127 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:tabnext

:3wincmd w

:unlet w:var_dict

:tabrewind

:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:$put =string(gettabwinvar(2, 9, ''))

:$put =string(gettabwinvar(2, 9, '', def_dict))

:$put =string(gettabwinvar(9, 3, ''))

:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict

:$put =string(gettabwinvar(2, 3, '&nux'))

:$put =string(gettabwinvar(2, 3, '&nux', 1))

:tabonly

:"

:/^start/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 50 lines, 530 characters


"test.out" [New File] 50 lines, 530 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test91 = test61; then \
#	  if diff test.out test91.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test91.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test94.failed test.ok test.out X* viminfo
cp test94.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_gtk_f.o gui_gtk_f.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test94.in" 256 lines, 4824 charactersTest for Visual mode and operators



Tests for the two kinds of operations: Those executed with Visual mode

followed by an operator and those executed via Operator-pending mode. Also

part of the test are mappings, counts, and repetition with the . command.



Test cases:

- Visual modes (v V CTRL-V) followed by an operator; count; repeating

- Visual mode maps; count; repeating

  - Simple

  - With an Ex command (custom text object)

- Operator-pending mode maps

  - Simple

  - With Ex command moving the cursor

  - With Ex command and Visual selection (custom text object)

- Patch 7.3.879: Properly abort Ex command in Operator-pending mode



STARTTEST

:so small.vim

:set enc=utf-8 nocp viminfo+=nviminfo

:

:" User functions

:function MoveToCap()[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Visual mode and operators[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 211 lines, 3837 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 123 lines, 1328 characters


"test.out" [New File] 123 lines, 1328 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test94 = test61; then \
#	  if diff test.out test94.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test94.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test95.failed test.ok test.out X* viminfo
cp test95.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test95.in" 141 lines, 5827 charactersTest for regexp patterns with multi-byte support, using utf-8.

See test64 for the non-multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:so mbyte.vim

:set nocp encoding=utf-8 viminfo+=nviminfo nomore

:" tl is a List of Lists with:

:"    2: test auto/old/new  0: test auto/old  1: test auto/new

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:

:"""" Multi-byte character tests. These will fail unless vim is compiled

:"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns with multi-byte support, using utf-8.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 131 lines, 5590 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 140 lines, 2022 characters


"test.out" [New File] 140 lines, 2022 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test95 = test61; then \
#	  if diff test.out test95.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test95.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test98.failed test.ok test.out X* viminfo
cp test98.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test98.in" 43 lines, 908 charactersTest for 'scrollbind' causing an unexpected scroll of one of the windows.

STARTTEST

:so small.vim

:" We don't want the status line to cause problems:

:set laststatus=0

:let g:totalLines = &lines * 20

:let middle = g:totalLines / 2

:wincmd n

:wincmd o

:for i in range(1, g:totalLines)

:    call setline(i, 'LINE ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:aboveleft vert new

:for i in range(1, g:totalLines)

:    call setline(i, 'line ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:" Execute the following two command at once to reproduce the problem.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind' causing an unexpected scroll of one of the windows.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 791 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:setl scb | wincmd p

:setl scb

:wincmd w

:let topLineLeft = line('w0')

:wincmd p

:let topLineRight = line('w0')

:setl noscrollbind

:wincmd p

:setl noscrollbind

:q!

:%del _

:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight))

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1 line, 51 characters


"test.out" [New File] 1 line, 51 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test98 = test61; then \
#	  if diff test.out test98.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test98.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test99.failed test.ok test.out X* viminfo
cp test99.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test99.in" 69 lines, 1400 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test44 for exactly the same test with re=1.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=2

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 43 lines, 931 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l"test.ok" 23 lines, 264 characters


"test.out" [New File] 23 lines, 264 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test99 = test61; then \
#	  if diff test.out test99.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test99.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test103.failed test.ok test.out X* viminfo
cp test103.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test103.in" 37 lines, 823 charactersTest for visual mode not being reset causing E315 error.

STARTTEST

:so small.vim

:enew

:let g:msg="Everything's fine."

:function! TriggerTheProblem()

:" At this point there is no visual selection because :call reset it.

:" Let's restore the selection:

:normal gv

:'<,'>del _

:try

:exe "normal \<Esc>"

:catch /^Vim\%((\a\+)\)\=:E315/

:echom 'Snap! E315 error!'

:let g:msg='Snap! E315 error!'

:endtry

:endfunction

:enew

:setl buftype=nofile

:call append(line('$'), 'Delete this line.')

:"

:"

:" NOTE: this has to be done by a call to a function because executing :del the[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for visual mode not being reset causing E315 error.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 723 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"ex-way will require the colon operator which resets the visual mode thuus

:"preventing the problem:

:"

GV:call TriggerTheProblem()

:%del _

:call append(line('$'), g:msg)

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 2 lines, 20 characters


"test.out" [New File] 2 lines, 20 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test103 = test61; then \
#	  if diff test.out test103.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test103.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test104.failed test.ok test.out X* viminfo
cp test104.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/eval.o eval.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test104.in" 30 lines, 698 charactersTests for :let.  vim: set ft=vim ts=8 :



STARTTEST

:so small.vim

:set runtimepath+=./sautest

:" Test to not autoload when assigning.  It causes internal error.

:try

:  let Test104#numvar = function('tr')

:  $put ='OK: ' . string(Test104#numvar)

:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try

:    redir => messages

:    execute 'let' letargs

:    redir END

:    $put ='OK:'

:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :let.  vim: set ft=vim ts=8 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 24 lines, 618 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:    $put ='FAIL: ' . v:exception

:    redir END

:  endtry

:endfor

:/^Results/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 13 lines, 244 characters


"test.out" [New File] 13 lines, 244 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test104 = test61; then \
#	  if diff test.out test104.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test104.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test107.failed test.ok test.out X* viminfo
cp test107.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test107.in" 38 lines, 717 charactersTests for adjusting window and contents     vim: set ft=vim :



STARTTEST

:so small.vim

:new

:call setline(1, range(1,256))

:let r=[]

:func! GetScreenStr(row)

:   let str = ""

:   for c in range(1,3)

:let str .= nr2char(screenchar(a:row, c))

:   endfor

:   return str

:endfunc

:

:exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for adjusting window and contents     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 32 lines, 628 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 4 lines, 42 characters


"test.out" [New File] 4 lines, 42 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test107 = test61; then \
#	  if diff test.out test107.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test107.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test108.failed test.ok test.out X* viminfo
cp test108.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test108.in" 88 lines, 1329 charactersTests for backtrace debug commands.     vim: set ft=vim :



STARTTEST

:so small.vim

:lang mess C

:function! Foo()

:   let var1 = 1

:   let var2 = Bar(var1) + 9

:   return var2

:endfunction

:

:function! Bar(var)

:    let var1 = 2 + a:var

:    let var2 = Bazz(var1) + 4

:    return var2

:endfunction

:

:function! Bazz(var)

:    let var1 = 3 + a:var

:    let var3 = "another var"

:    return var1

:endfunction

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for backtrace debug commands.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_beval.o gui_beval.c
[New File] 83 lines, 1251 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTup

b

echo "fil is not frame or finish, it is file"

fil

echo "\n- relative backtrace movement\n"

fr -1

frame

fra +1

fram

echo "\n- go beyond limits does not crash\n"

fr 100

fra

frame -40

fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 84 lines, 1390 characters


"test.out" [New File] 84 lines, 1390 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test108 = test61; then \
#	  if diff test.out test108.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test108.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autocmd_option.failed test.ok test.out X* viminfo
cp test_autocmd_option.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autocmd_option.in" 77 lines, 2954 charactersTest for option autocommand



STARTTEST

:so small.vim

:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! ttest.out | qa! | endif

:fu! AutoCommand(match)

:let c=g:testcase

:let item=remove(g:options, 0)

:let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope:  <%s>\n", item[0], item[1], item[2], item[3])

:let c.=printf("Autocmd Option: <%s>,", a:match)

:let c.=printf(" OldVal: <%s>,", v:option_old)

:let c.=printf(" NewVal: <%s>,", v:option_new)

:let c.=printf(" Scope: <%s>\n", v:option_type)

:call setreg('r', printf("%s\n%s", getreg('r'), c))

:endfu

:au OptionSet * :call AutoCommand(expand("<amatch>"))

:let g:testcase="1: Setting number option\n"

:let g:options=[['number', 0, 1, 'global']]

:set nu

:let g:testcase="2: Setting local number option\n"

:let g:options=[['number', 1, 0, 'local']][?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for option autocommand[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 2896 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)

:" Write register now, because next test shouldn't output anything.

:$put r

:let @r=''

:let g:testcase="\n15: Setting key option, shouldn't trigger\n"

:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

:setlocal key=blah

:setlocal key=

:$put =g:testcase

:$put r

:/^dummy text/,$w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 64 lines, 2700 characters


"test.out" [New File] 64 lines, 2700 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autocmd_option = test61; then \
#	  if diff test.out test_autocmd_option.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autocmd_option.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autoformat_join.failed test.ok test.out X* viminfo
cp test_autoformat_join.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autoformat_join.in" 23 lines, 524 charactersTests for setting the '[,'] marks when joining lines.



STARTTEST

:so small.vim

:/^\t\t/

0gqj:

:let a=string(getpos("'[")).'/'.string(getpos("']"))

:/^This line/;'}-join

:let b=string(getpos("'[")).'/'.string(getpos("']"))

:$put ='First test: Start/End '.string(a)

:$put ='Second test: Start/End '.string(b)

:/^\t\t/,$wq! test.out

ENDTESTO sodales, ludite, vos qui

attamen consulite per voster honur. Tua pulchra facies me fay planszer milies



This line.

Should be joined with the next line

and with this line



Results:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for setting the '[,'] marks when joining lines.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/window.o window.c
[New File] 9 lines, 265 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 8 lines, 292 characters


"test.out" [New File] 8 lines, 292 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autoformat_join = test61; then \
#	  if diff test.out test_autoformat_join.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autoformat_join.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_changelist.failed test.ok test.out X* viminfo
cp test_changelist.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_changelist.in" 22 lines, 288 charactersTest changelist position after splitting window

Set 'undolevels' to make changelist for sourced file



STARTTEST

:so small.vim

Gkylp:set ul=100

Gylp:set ul=100

gg

:vsplit

:try

:  normal g;

:  normal ggVGcpass^[

:catch

:  normal ggVGcfail^[

:finally

:  %w! test.out

:endtry

:qa!

ENDTEST



1

2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest changelist position after splitting window[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 163 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1 line, 5 characters


"test.out" [New File] 1 line, 5 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_changelist = test61; then \
#	  if diff test.out test_changelist.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_changelist.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_close_count.failed test.ok test.out X* viminfo
cp test_close_count.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_close_count.in" 153 lines, 2665 charactersTests for :[count]close! and :[count]hide     vim: set ft=vim :



STARTTEST

:so small.vim

:let tests = []

:for i in range(5)

:new

:endfor

:4wincmd w

:close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:$close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

:2close![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :[count]close! and :[count]hide     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 41 lines, 749 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(tests, buffers)

:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:for i in range(5)

:new

:endfor

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:4wincmd w

:.hide[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 23 lines, 183 characters


"test.out" [New File] 23 lines, 183 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_close_count = test61; then \
#	  if diff test.out test_close_count.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_close_count.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_comparators.failed test.ok test.out X* viminfo
cp test_comparators.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_comparators.in" 21 lines, 283 characters" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'

:  else

:    $put ='ng'

:  endif

:finally

:  let &isident=oldisident

:endtry

:"

:/^marker/+1,$wq! test.out

ENDTEST



marker

~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l" Test for expression comparators.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 200 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1 line, 3 characters


"test.out" [New File] 1 line, 3 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_comparators = test61; then \
#	  if diff test.out test_comparators.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_comparators.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_erasebackword.failed test.ok test.out X* viminfo
cp test_erasebackword.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_erasebackword.in" 19 lines, 427 charactersTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G







:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for erasing backword[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 12 lines, 362 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 8 lines, 111 characters


"test.out" [New File] 8 lines, 111 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_erasebackword = test61; then \
#	  if diff test.out test_erasebackword.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_erasebackword.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_eval.failed test.ok test.out X* viminfo
cp test_eval.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
/usr/bin/glib-compile-resources --target=auto/gui_gtk_gresources.c --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -o objects/if_lua.o if_lua.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_eval.in" 247 lines, 6201 charactersTest for various eval features.   vim: set ft=vim :



Note: system clipboard is saved, changed and restored.



clipboard contents

something else



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:lang C

:fun AppendRegContents(reg)

  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:rreg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))

:endfun

:fun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)

  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, aa:type, a:cont, a:strcont, a:cont1, a:strcont1))

endfun

:command -nargs=? AR :call AppendRegContents(<q-args>)

:fun SetReg(...)

    call call('setreg', a:000)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for various eval features.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 233 lines, 6010 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 362 lines, 11279 characters


"test.out" [New File] 362 lines, 11279 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_eval = test61; then \
#	  if diff test.out test_eval.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_eval.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_fixeol.failed test.ok test.out X* viminfo
cp test_fixeol.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fixeol.in" 40 lines, 780 charactersTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol

:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol

:w! XXTestNoEol

:bwipe XXEol XXNoEol XXTestEol XXTestNoEol

:set fixeol[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'fixeol'vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 698 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Append "END" to each file so that we can see what the last written char was.

ggdGaEND^[:w >>XXEol

:w >>XXNoEol

:w >>XXTestEol

:w >>XXTestNoEol

:"

:" Concatenate the results

:e! test.out

a0^[:$r XXEol

:$r XXNoEol

Go1^[:$r XXTestEol

:$r XXTestNoEol

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?25l[?12l[?25h[?25l:[?12l[?25h" use Unix fileformat for consistency
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lwith eol[?12l[?25h[?25l:[?12l[?25hw! XXEol
[?25l"XXEol" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25henew!
[?25l[?12l[?25h[?25l:[?12l[?25hset noeol nofixeol
[?25l[?12l[?25h[?25lwithout eol[?12l[?25h[?25l:[?12l[?25hw! XXNoEol
[?25l"XXNoEol" [New File][Incomplete last line] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hset eol fixeol
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol
[?25lE319: Sorry, the command is not available in this version[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" 1 line, 9 characters eol[?12l[?25h[?25l

stays eol[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [New File] 2 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [Incomplete last line] 1 line, 11 charactersout eol

~                                                                               [?12l[?25h[?25l

stays without[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [New File][Incomplete last line] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25lE319: Sorry, the command is not available in this version[?12l[?25h[?25l:[?12l[?25hset fixeol
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25l~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXEol
[?25l"XXEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l0[?12l[?25h[?25l:[?12l[?25h$r XXEol
[?25l"XXEol" 2 lines, 13 characterswith eolEND[?12l[?25h[?25l:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" 1 line, 15 characterswithout eolEND[?12l[?25h[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" 3 lines, 23 characterswith eolstays eolEND[?12l[?25h[?25l:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" 2 lines, 29 characterswithout eolstays withoutEND[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_fixeol = test61; then \
#	  if diff test.out test_fixeol.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_fixeol.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_getcwd.failed test.ok test.out X* viminfo
cp test_getcwd.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_getcwd.in" 96 lines, 2374 charactersTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xtopdir directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a swapfile in Xtopdir prevents it from being cleaned up.

:set noswapfile

:"

:function! GetCwdInfo(win, tab)

: let tab_changed = 0

: let mod = ":t"

: if a:tab > 0 && a:tab != tabpagenr()

:   let tab_changed = 1

:   exec "tabnext " . a:tab

: endif

: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)

: if tab_changed[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 90 lines, 2273 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 18 lines, 192 characters


"test.out" [New File] 18 lines, 192 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_getcwd = test61; then \
#	  if diff test.out test_getcwd.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_getcwd.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_insertcount.failed test.ok test.out X* viminfo
cp test_insertcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_insertcount.in" 14 lines, 204 charactersTests for repeating insert and replace.



STARTTEST

:so small.vim

:/Second

4gro

:/^First/,$wq! test.out

:" get here when failed and in Insert mode

^[:.wq! test.out

ENDTEST



First line

Second line

Last line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for repeating insert and replace.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 111 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 3 lines, 36 characters


"test.out" [New File] 3 lines, 36 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_insertcount = test61; then \
#	  if diff test.out test_insertcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_insertcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listchars.failed test.ok test.out X* viminfo
cp test_listchars.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listchars.in" 54 lines, 705 charactersTests for 'listchars' display with 'list' and :list



STARTTEST

:so small.vim

:set ff=unix

:let g:lines = []

:function GetScreenCharsForLine(lnum)

:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))')), '')

:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"

:set listchars+=tab:>-,space:.,trail:<

:set list

:

/^start:/

:normal! jzt

GG

GG

GG

GG

GGH:

:set listchars-=trail:<[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'listchars' display with 'list' and :list[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 431 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTGG

GG

GG

GG

GG:

:put =g:lines

:'[,']w! test.out

ENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 16 lines, 178 characters


"test.out" [New File] 16 lines, 178 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listchars = test61; then \
#	  if diff test.out test_listchars.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listchars.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr.failed test.ok test.out X* viminfo
cp test_listlbr.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr.in" 119 lines, 2868 charactersTest for linebreak and list option (non-utf8)



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |  endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width)

:let c=''

:for j in range(1,4)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu

:fu! DoRecordScreen()

:wincmd l

:$put =printf(\"\n%s\", g:test)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option (non-utf8)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 114 lines, 2792 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTabcd{ef

ghijklm

no}pqrs^[2k0f{^V^Vc%^[

:"

:let g:test ="Test 11: using block replace mode after wrapping"

:$put =g:test

:set linebreak wrap

Go^[150aa^[yypk147|^Vjr0

:"

:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$":set list listchars=space:_,trail:-,tab:>-,eol:$

:$put =g:test

:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 62 lines, 2030 characters


"test.out" [New File] 62 lines, 2030 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr = test61; then \
#	  if diff test.out test_listlbr.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_search_mbyte.failed test.ok test.out X* viminfo
cp test_search_mbyte.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search_mbyte.in" 15 lines, 226 charactersTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for search('multi-byte char', 'bce')[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hsource small.vim
[?25l"test.ok" 5 lines, 27 characters


"test.out" [New File] 5 lines, 27 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_search_mbyte = test61; then \
#	  if diff test.out test_search_mbyte.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_search_mbyte.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_utf8.failed test.ok test.out X* viminfo
cp test_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_utf8.in" 46 lines, 1245 charactersTests for Unicode manipulationsvim: set ft=vim :



STARTTEST

:so small.vim

:set encoding=utf-8

:"

:" Visual block Insert adjusts for multi-byte char

:new


:exe ":norm! gg0l\<C-V>jjIx\<Esc>"

:let r = getline(1, '$')

:"

:bwipeout!

:$put=r

:"

:" Test for built-in function strchars()


:$put=strchars(str)

:$put=strchars(str, 0)

:$put=strchars(str, 1)

:endfor

:"

:" Test for customlist completion[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for Unicode manipulationsvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 1151 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 22 lines, 86 characters


"test.out" [New File] 22 lines, 86 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_utf8 = test61; then \
#	  if diff test.out test_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_wordcount.failed test.ok test.out X* viminfo
cp test_wordcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_wordcount.in" 126 lines, 2815 charactersTest for wordcount() function



STARTTEST

:so small.vim

:so mbyte.vim

:set enc=utf8

:set selection=inclusive fileformat=unix fileformats=unix

:new

:fu DoRecordWin(...)

:wincmd k

:if exists("a:1")

:call cursor(a:1)

:endif

:let result=[]

:call add(result, g:test)

:call add(result, getline(1, '$'))

:call add(result, wordcount())

:wincmd j

:return result

:endfu

:fu PutInWindow(args)

:wincmd k

:%d _[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for wordcount() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 121 lines, 2753 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"


:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 34 lines, 1905 characters


"test.out" [New File] 34 lines, 1905 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_wordcount = test61; then \
#	  if diff test.out test_wordcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_wordcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test11.failed test.ok test.out X* viminfo
cp test11.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
/usr/bin/perl -e 'unless ( $] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$_ $_\n" }}' > auto/if_perl.c
/usr/bin/perl /usr/share/perl/5.24/ExtUtils/xsubpp -prototypes -typemap \
    /usr/share/perl/5.24/ExtUtils/typemap if_perl.xs >> auto/if_perl.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test11.in" 84 lines, 3366 charactersTests for autocommands:

- FileWritePrewriting a compressed file

- FileReadPostreading a compressed file

- BufNewFilereading a file template

- BufReadPredecompressing the file to be read

- FilterReadPresubstituting characters in the temp file

- FilterReadPostsubstituting characters after filtering

- FileReadPreset options for decompression

- FileReadPostdecompress the file



Note: This test is skipped if "gzip" is not available.

$GZIP is made empty, "-v" would cause trouble.

Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being

modified outside of Vim (noticed on Solaris).



STARTTEST

:so small.vim

:" drop out when there is no gzip program

:if !executable("gzip")

: e! test.ok

: w! test.out

: qa!

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for autocommands:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 48 lines, 2298 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w" write it, after filtering

:au!" remove all autocommands

:e" Edit test.out again

:set nobin ff&   " use the default fileformat for writing

:w

:qa!

ENDTEST



startstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 61 lines, 1599 characters


"test.out" [New File] 61 lines, 1599 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test11 = test61; then \
#	  if diff test.out test11.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test11.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test52.failed test.ok test.out X* viminfo
cp test52.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perlsfio.o if_perlsfio.c
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test52.in" 65 lines, 1645 charactersTests for reading and writing files with conversion for Win32.



STARTTEST

:so mbyte.vim

:" make this a dummy test for non-Win32 systems

:if !has("win32") | e! test.ok | wq! test.out | endif

:"

:" write tests:

:" combine three values for 'encoding' with three values for 'fileencoding'

:" also write files for read tests

/^1

:set encoding=utf-8

:.w! ++enc=utf-8 test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=utf-8 Xutf8

/^2

:set encoding=cp1251

:.w ++enc=utf-8 >>test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=cp1251 Xcp1251

/^3[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for reading and writing files with conversion for Win32.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 57 lines, 1333 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xcp1251

:.w ++enc=cp1251 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp1251 >>test.out

:"

:" read three 'fileencoding's with cp866 'encoding'

:set encoding=cp866 fencs=utf-8,cp1251

:e Xutf8

:.w ++enc=cp866 >>test.out

:e Xcp1251

:.w ++enc=cp866 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp866 >>test.out

:"

:qa!

ENDTEST






[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l"test.ok" 18 lines, 1374 characters


"test.out" [New File] 18 lines, 1374 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test52 = test61; then \
#	  if diff test.out test52.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test52.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test85.failed test.ok test.out X* viminfo
cp test85.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test85.in" 85 lines, 1868 charactersTest for Lua interface and luaeval() function



STARTTEST

:so small.vim

:so lua.vim

:set nocompatible viminfo+=nviminfo

:lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"

:lua h = vim.dict(); h.list = l

:call garbagecollect()

/^1

:" change buffer contents

:lua curbuf = vim.buffer()

:lua curline = vim.eval"line('.')"

:lua curbuf[curline] = "1 changed line 1"

:" scalar test

:let tmp_string = luaeval('"string"')

:let tmp_1000 = luaeval('1000')

:if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"

:let scalar_res = "OK"

:else

:let scalar_res = "FAILED"

:endif

:call append(search("^1"), "scalar test " . scalar_res)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Lua interface and luaeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 77 lines, 1775 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")

:lua d[4] = d[0]

:lua d[5] = d[1]

:lua d[6] = d[2]

:lua d[7] = d[3]

:lua d[3] = nil

:lua d[2] = nil

:lua d[1] = nil

:lua d[0] = nil

:lua d = nil

:$put =string(d)



:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 7 lines, 206 characters


"test.out" [New File] 7 lines, 206 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test85 = test61; then \
#	  if diff test.out test85.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test85.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test86.failed test.ok test.out X* viminfo
cp test86.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test86.in" 1711 lines, 48481 charactersTests for various python features.     vim: set ft=vim :



NOTE: This will cause errors when run under valgrind.

This would require recompiling Python with:

  ./configure --without-pymalloc

See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:if !has('python') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py import vim

:py cb = vim.current.buffer

:let l = []

:py l=vim.bindeval('l')

:py f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py l.extend([1, "as'd", [1, 2, f, {'a': 1}]])

:$put =string(l)

:$put =string(l[-1])[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1700 lines, 48188 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1445 lines, 67439 characters


"test.out" [New File] 1445 lines, 67439 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test86 = test61; then \
#	  if diff test.out test86.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test86.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test87.failed test.ok test.out X* viminfo
cp test87.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test87.in" 1707 lines, 49069 charactersTests for various python features.     vim: set ft=vim :



STARTTEST

:so small.vim

:set noswapfile

:if !has('python3') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py3 import vim

:py3 cb = vim.current.buffer

:let l = []

:py3 l=vim.bindeval('l')

:py3 f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]

:$put =string(l)

:$put =string(l[-1])

:try

:  $put =string(l[-4])

:catch

:  $put =v:exception[:13]

:endtry

:" List assignment[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1701 lines, 48985 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1445 lines, 77744 characters


"test.out" [New File] 1445 lines, 77744 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test87 = test61; then \
#	  if diff test.out test87.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test87.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test12.failed test.ok test.out X* viminfo
cp test12.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test12.in" 52 lines, 1199 charactersTests for 'directory' option.

- ".", in same dir as file

- "./dir", in directory relative to file

- "dir", in directory relative to current dir



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set dir=.,~

:/start of testfile/,/end of testfile/w! Xtest1

:" do an ls of the current dir to find the swap file (should not be there)

:if has("unix")

:  !ls .X*.swp >test.out

:else

:  r !ls X*.swp >test.out

:endif

:!echo first line >>test.out

:e Xtest1

:if has("unix")

:" Do an ls of the current dir to find the swap file, remove the leading dot

:" to make the result the same for all systems.

:  r!ls .X*.swp

:  s/\.*X/X/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'directory' option.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 965 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:!mkdir Xtest2

:set dir=./Xtest2,.,~

:e Xtest1

:!ls X*.swp >>test.out

:!echo under under >>test.out

:!ls Xtest2 >>test.out

:!echo under Xtest1.swp >>test.out

:!mkdir Xtest.je

:/start of testfile/,/end of testfile/w! Xtest2/Xtest3

:set dir=Xtest.je,~

:e Xtest2/Xtest3

:swap

:!ls Xtest2 >>test.out

:!echo under Xtest3 >>test.out

:!ls Xtest.je >>test.out

:!echo under Xtest3.swp >>test.out

:qa!

ENDTEST



start of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 10 lines, 127 characters


"test.out" [New File] 10 lines, 127 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test12 = test61; then \
#	  if diff test.out test12.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test12.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test25.failed test.ok test.out X* viminfo
cp test25.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE  -o objects/if_python3.o if_python3.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test25.in" 31 lines, 840 charactersTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 540 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1 line, 23 characters


"test.out" [New File] 1 line, 23 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test25 = test61; then \
#	  if diff test.out test25.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test25.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test49.failed test.ok test.out X* viminfo
cp test49.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test49.in" 32 lines, 705 charactersThis is a test of the script language.



If after adding a new test, the test output doesn't appear properly in

test49.failed, try to add one or more "G"s at the line ending in "test.out"



STARTTEST

:so small.vim

:se nocp nomore viminfo+=nviminfo

:lang mess C

:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy

:redir => funclist

:silent func

:redir END

:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of the script language.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 23 lines, 475 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endfor

:for v in keys(g:)

:  silent! exe "unlet " . v

:endfor

:unlet v

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 84 lines, 2484 characters


"test.out" [New File] 84 lines, 2484 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test49 = test61; then \
#	  if diff test.out test49.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test49.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test97.failed test.ok test.out X* viminfo
cp test97.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test97.in" 23 lines, 484 charactersTest whether glob()/globpath() return correct results with certain escaped

characters.



STARTTEST

:so small.vim

:" make sure glob() doesn't use the shell

:set shell=doesnotexist

:" consistent sorting of file names

:set nofileignorecase

:e! test.out

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:w! Xxx{

:w! Xxx\$

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:"

:$put =string(globpath('sautest/autoload', '*.vim'))

:$put =string(globpath('sautest/autoload', '*.vim', 0, 1))

:w

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest whether glob()/globpath() return correct results with certain escaped[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 377 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 8 lines, 138 characters


"test.out" [New File] 8 lines, 138 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test97 = test61; then \
#	  if diff test.out test97.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test97.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr_utf8.failed test.ok test.out X* viminfo
cp test_listlbr_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr_utf8.in" 134 lines, 4027 charactersTest for linebreak and list option in utf-8 mode



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!  test.out | qa! | endif

:so mbyte.vim

:set encoding=utf8

:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width, lines)

:let c=''

:for j in range(1,a:lines)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option in utf-8 mode[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 129 lines, 3948 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 57 lines, 1882 characters


"test.out" [New File] 57 lines, 1882 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr_utf8 = test61; then \
#	  if diff test.out test_listlbr_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test54.failed test.ok test.out X* viminfo
cp test54.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test54.in" 22 lines, 658 charactersSome tests for buffer-local autocommands



STARTTEST

:so small.vim

:e xx

:if has("vms")

: !del test.out.*

: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.oout

:else

: !rm -f test.out

: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out

:endif

:e somefile" here, autocommand for xx shall write test.out

:" but autocommand shall not apply to buffer named <buffer>:bwipe xx" here, autocommand shall be auto-deleted

:e xx" nothing shall be written

:e somefile" nothing shall be written

:qa!

ENDTEST



start of test file xx

end of test file xx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSome tests for buffer-local autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 15 lines, 555 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 1 line, 29 characters


"test.out" [New File] 1 line, 29 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test54 = test61; then \
#	  if diff test.out test54.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test54.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test17.failed test.ok test.out X* viminfo
cp test17.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/evalfunc.o evalfunc.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test17.in" 135 lines, 2431 charactersTests for:

- "gf" on ${VAR},

- ":checkpath!" with various 'include' settings.



STARTTEST

:so small.vim

:if has("ebcdic")

: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}

:else

: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}

:endif

:"

:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 564 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out

:w! test.out

gf

:set ff=unix

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 33 lines, 655 characters


"test.out" [New File] 33 lines, 655 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test17 = test61; then \
#	  if diff test.out test17.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test17.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test30.failed test.ok test.out X* viminfo
cp test30.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available.



STARTTEST

:so small.vim

:" first write three test files, one in each format

:set fileformat=unix

:set fileformats=

:/^unix/;/eof/-1w! XXUnix

:/^dos/;/eof/-1w! XXDos

:set bin noeol

:$w! XXMac

Gonoeol^[

:$w! XXEol

:set nobin eol

:enew!

:bwipe XXUnix XXDos XXMac

:" create mixed format files

:if has("vms")

: !copy XXUnix,XXDos XXUxDs.

: !copy XXUnix,XXMac XXUxMac.

: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for a lot of variations of the 'fileformats' option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 221 lines, 3592 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72

Go8^[:$r XXtt81

:$r XXtt82

Go9^[:$r XXtt91

:$r XXtt92

:$r XXtt93

Go10^[:$r XXUnix

:set nobinary ff&

:w

:qa!

ENDTEST



unix

unix

eof



dos^M

dos^M

eof



mac^Mmac^M[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 130 lines, 786 characters


"test.out"gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui.o gui.c
 [New File] 130 lines, 786 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test30 = test61; then \
#	  if diff test.out test30.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test30.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test32.failed test.ok test.out X* viminfo
cp test32.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test32.in" 60 lines, 1391 charactersTest for insert expansion



:se cpt=.,w

* add-expands (word from next line) from other window

* add-expands (current buffer first)

* Local expansion, ends in an empty line (unless it becomes a global expansion)

* starts Local and switches to global add-expansion

:se cpt=.,w,i

* i-add-expands and switches to local

* add-expands lines (it would end in an empty line if it didn't ignored it self):se cpt=kXtestfile

* checks k-expansion, and file expansion (use Xtest11 instead of test11,

* because TEST11.OUT may match first on DOS)

:se cpt=w

* checks make_cyclic in other window

:se cpt=u nohid

* checks unloaded buffer expansion

* checks adding mode abortion

:se cpt=t,d

* tag expansion, define add-expansion interrupted

* t-expansion



STARTTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for insert expansion[?12l[?25h[?25l/^STARTTEST
[?12l[?25h[?25l

:so small.vim[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 533 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTO^N^[IX^[A^X^F^N^[

:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use

:" CTRL-X CTRL-F again to verify this doesn't cause trouble.

OX^X^F^H^H^H^H^H^H^H^H^X^F^[ddk

:se cpt=w

OST^N^P^P^P^P^[

:se cpt=u nohid

^WoOEN^N

unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[

:wq! test.out

ENDTEST



start of testfile

run1

run2

end of testfile



test11  36Gepeto/Tag/

asd     test11file      36G

Makefileto      run[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 15 lines, 175 characters


"test.out" [New File] 15 lines, 175 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test32 = test61; then \
#	  if diff test.out test32.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test32.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test58.failed test.ok test.out X* viminfo
cp test58.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2591 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 289 lines, 3844 characters


"test.out" [New File] 289 lines, 3844 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test58 = test61; then \
#	  if diff test.out test58.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test58.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test59.failed test.ok test.out X* viminfo
cp test59.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 106 lines, 2520 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 270 lines, 3685 characters


"test.out" [New File] 270 lines, 3685 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test59 = test61; then \
#	  if diff test.out test59.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test59.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test72.failed test.ok test.out X* viminfo
cp test72.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test72.in" 146 lines, 2110 charactersTests for undo file.

Since this script is sourced we need to explicitly break changes up in

undo-able pieces.  Do that by setting 'undolevels'.



STARTTEST

:so small.vim

:"

:" Test 'undofile': first a simple one-line change.

:set nocompatible viminfo+=nviminfo visualbell

:set ul=100 undofile nomore

:e! Xtestfile

ggdGithis is one line^[:set ul=100

:s/one/ONE/

:set ul=100

:w

:bwipe!

:e Xtestfile

u:.w! test.out

:"

:" Test 'undofile', change in original file fails check

:set noundofile

:e! Xtestfile

:s/line/Line/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for undo file.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 135 lines, 1913 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar

:.w >>test.out

u:.w >>test.out

u:.w >>test.out

u:.w >>test.out

:"

:" Rename the undo file so that it gets cleaned up.

:if has("vms")

: call rename("_un_Xtestfile", "Xtestundo")

:else

: call rename(".Xtestfile.un~", "Xtestundo")

:endif

:qa!

ENDTEST



1111 -----

2222 -----



123456789[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 31 lines, 197 characters


"test.out" [New File] 31 lines, 197 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test72 = test61; then \
#	  if diff test.out test72.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test72.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test78.failed test.ok test.out X* viminfo
cp test78.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test78.in" 46 lines, 1464 charactersInserts 10000 lines with text to fill the swap file with two levels of pointer

blocks.  Then recovers from the swap file and checks all text is restored.



We need about 10000 lines of 100 characters to get two levels of pointer

blocks.



STARTTEST

:so small.vim

:set nocp fileformat=unix undolevels=-1 viminfo+=nviminfo

:e! Xtest

ggdG

:let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01223456789abcdefghijklmnoparstuvwxyz0123456789"

:let i = 1

:let linecount = 10000

:while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile

:preserve

:" get the name of the swap file

:redir => swapname

:swapname

:redir END

:let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][::cntrl:]]*$', '\1', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 10000 lines with text to fill the swap file with two levels of pointer[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1208 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set nobin

:new

:only!

:bwipe! Xtest

:call rename('Xswap', swapname)

:recover Xtest

:call delete(swapname)

:new

:call append(0, 'recovery start')

:wincmd w

:let linedollar = line('$')

:if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected "" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linnecount = linedollar | endif

:let i = 1

:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile

:q!

:call append(line('$'), 'recovery end')

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 3 lines, 29 characters


"test.out" [New File] 3 lines, 29 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test78 = test61; then \
#	  if diff test.out test78.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test78.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test83.failed test.ok test.out X* viminfo
cp test83.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test83.in" 76 lines, 1273 charactersTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for tag search with !_TAG_FILE_ENCODING.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 58 lines, 1021 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l"test.ok" 4 lines, 48 characters


"test.out" [New File] 4 lines, 48 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test83 = test61; then \
#	  if diff test.out test83.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test83.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test89.failed test.ok test.out X* viminfo
cp test89.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test89.in" 71 lines, 1514 characters- Some tests for setting 'number' and 'relativenumber'

  This is not all that useful now that the options are no longer reset when

  setting the other.

- Some tests for findfile() function



STARTTEST

:so small.vim

:set hidden nocp nu rnu viminfo+=nviminfo

:redir @a | set nu? rnu? | redir END

:e! xx

:redir @b | set nu? rnu? | redir END

:e! #

:$put ='results:'

:$put a

:$put b

:"

:set nonu nornu

:setglobal nu

:setlocal rnu

:redir @c | setglobal nu? | redir END

:set nonu nornu

:setglobal rnu

:setlocal nu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l- Some tests for setting 'number' and 'relativenumber'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 63 lines, 1305 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =':set MUST reset the other global value'

:$put g

:$put h

:"

:let cwd=getcwd()

:cd ..

:" Tests may be run from a shadow directory, so an extra cd needs to be done to

:" get above src/

:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

:$put =''

:$put ='Testing findfile'

:$put =''

:set ssl

:$put =findfile('test19.in','src/test*')

:exe "cd" cwd

:cd ..

:$put =findfile('test19.in','test*')

:$put =findfile('test19.in','testdir')

:exe "cd" cwd

:/^results/,$w! test.out

:q!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l"test.ok" 28 lines, 356 characters


"test.out" [New File] 28 lines, 356 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test89 = test61; then \
#	  if diff test.out test89.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test89.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_arglist.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_arglist.vim" 318 lines, 6653 characters


"test.ok" [New File]


"test.out" [New File] 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_assert.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_assert.vim" 127 lines, 2933 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_autochdir.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autochdir.vim" 17 lines, 332 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_backspace_opt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_backspace_opt.vim" 59 lines, 1673 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_breakindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_breakindent.vim" 241 lines, 7365 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_bufwintabinfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_bufwintabinfo.vim" 116 lines, 3459 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cdo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cdo.vim" 205 lines, 5116 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_channel.vim" 1641 lines, 47075 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_charsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_charsearch.vim" 62 lines, 1475 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cmdline.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cmdline.vim" 243 lines, 7346 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_command_count.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_command_count.vim" 191 lines, 4742 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_crypt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_crypt.vim" 83 lines, 2590 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cscope.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cscope.vim" 279 lines, 10568 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_diffmode.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_diffmode.vim" 237 lines, 4954 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_digraph.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_digraph.vim" 461 lines, 14928 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_display.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_display.vim" 39 lines, 849 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_farsi.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_farsi.vim" 84 lines, 2881 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fnameescape.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fnameescape.vim" 21 lines, 467 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fold.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fold.vim" 97 lines, 3328 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gf.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gf.vim" 33 lines, 1138 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gn.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gn.vim" 93 lines, 2821 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gui.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gui.vim" 36 lines, 838 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hardcopy.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hardcopy.vim" 62 lines, 2001 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hide.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hide.vim" 97 lines, 2443 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_history.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_history.vim" 106 lines, 3567 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hlsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hlsearch.vim" 34 lines, 1013 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment.vim" 760 lines, 19011 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment_dbcs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment_dbcs.vim" 30 lines, 604 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_job_fails.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_job_fails.vim" 19 lines, 598 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_json.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_json.vim" 287 lines, 10700 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_langmap.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_langmap.vim" 28 lines, 628 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_man.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_man.vim" 60 lines, 1358 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_marks.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_marks.vim" 26 lines, 775 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_matchadd_conceal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_matchadd_conceal.vim" 289 lines, 9276 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession.vim" 104 lines, 2315 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession_utf8.vim" 104 lines, 2328 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_nested_function.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_nested_function.vim" 67 lines, 1305 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_netbeans.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_netbeans.vim" 80 lines, 2145 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_normal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_normal.vim" 2280 lines, 58740 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_packadd.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_packadd.vim" 238 lines, 8288 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_perl.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_perl.vim" 123 lines, 3037 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_profile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_profile.vim" 146 lines, 6247 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_quickfix.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_quickfix.vim" 1693 lines, 46351 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_ruby.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_ruby.vim" 34 lines, 820 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_search.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search.vim" 296 lines, 8731 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_signs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_signs.vim" 199 lines, 6383 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_smartindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_smartindent.vim" 14 lines, 376 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup.vim" 185 lines, 4581 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup_utf8.vim" 64 lines, 1366 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_stat.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_stat.vim" 64 lines, 1598 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_substitute.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_substitute.vim" 41 lines, 1151 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_syntax.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_syntax.vim" 164 lines, 4101 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_system.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_system.vim" 92 lines, 2910 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_textobjects.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_textobjects.vim" 43 lines, 946 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_undo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_undo.vim" 265 lines, 6936 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_usercommands.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_usercommands.vim" 104 lines, 2527 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viminfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viminfo.vim" 515 lines, 13496 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viml.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viml.vim" 1316 lines, 31904 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_visual.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_visual.vim" 25 lines, 506 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_window_id.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_window_id.vim" 103 lines, 2714 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_writefile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_writefile.vim" 16 lines, 490 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_latin.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_latin.vim" 7 lines, 280 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_utf8.vim" 11 lines, 440 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot.vim" 48 lines, 1233 characters


"test.ok" [New File]


"test.out" 0 lines, 0 characters written


[?1l>[?12l[?25h[?1049l
Test results:
ALL DONE
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-tiny/testdir'
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json_test.o json_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o json_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o              objects/memfile.o objects/message.o objects/json_test.o    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo  -lselinux -lacl -lattr -ldl           
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_gtk.o gui_gtk.c
link.sh: Linked fine
./json_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile_test.o memfile_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/if_tcl.o if_tcl.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o memfile_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o              objects/json.o objects/message.o objects/memfile_test.o    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo  -lselinux -lacl -lattr -ldl           
link.sh: Linked fine
./memfile_test || exit 1; echo  passed;
if test -z "/usr/bin/glib-compile-resources"; then touch auto/gui_gtk_gresources.h; else \
	/usr/bin/glib-compile-resources --target=auto/gui_gtk_gresources.h --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml; \
fi
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pty.o pty.c
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message_test.o message_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -o objects/if_ruby.o if_ruby.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_gtk_f.o gui_gtk_f.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds.o ex_cmds.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_beval.o gui_beval.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/netbeans.o netbeans.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o message_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o              objects/json.o objects/memfile.o objects/message_test.o    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo  -lselinux -lacl -lattr -ldl           
link.sh: Linked fine
./message_test || exit 1; echo  passed;
passed
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-tiny'
touch build-stamp-vim-tiny
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/channel.o channel.c
/usr/bin/glib-compile-resources --target=auto/gui_gtk_gresources.c --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -o objects/if_lua.o if_lua.c
/usr/bin/perl -e 'unless ( $] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$_ $_\n" }}' > auto/if_perl.c
/usr/bin/perl /usr/share/perl/5.24/ExtUtils/xsubpp -prototypes -typemap \
    /usr/share/perl/5.24/ExtUtils/typemap if_perl.xs >> auto/if_perl.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds2.o ex_cmds2.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perlsfio.o if_perlsfio.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json.o json.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE  -o objects/if_python3.o if_python3.c
dh_testdir
dh_prep -p vim-athena
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/main.o main.c
*** DEBIAN *** BUILDING VARIANT vim-athena
/usr/bin/make -C src/vim-athena
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena'
mkdir -p objects
touch objects/.dirstamp
CC="gcc -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time    " srcdir=. sh ./osdef.sh
creating auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/popupmnu.o popupmnu.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_docmd.o ex_docmd.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/quickfix.o quickfix.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile.o memfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message.o message.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/regexp.o regexp.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/if_tcl.o if_tcl.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -o objects/if_ruby.o if_ruby.c
cd xxd; CC="gcc" CFLAGS="-Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" LDFLAGS="-L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed" \
	/usr/bin/make -f Makefile
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk/xxd'
gcc -Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -DUNIX -o xxd xxd.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk/xxd'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk/po'
OLD_PO_FILE_INPUT=yes msgfmt -v -o af.mo af.po
1423 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ca.mo ca.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.mo cs.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o de.mo de.po
1701 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o en_GB.mo en_GB.po
78 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o eo.mo eo.po
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o es.mo es.po
1733 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fi.mo fi.po
1902 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fr.mo fr.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/netbeans.o netbeans.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_eval.o ex_eval.c
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ga.mo ga.po
1914 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o it.mo it.po
1897 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.mo ja.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.mo ko.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.UTF-8.mo ko.UTF-8.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nb.mo nb.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nl.mo nl.po
1213 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o no.mo no.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.mo pl.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pt_BR.mo pt_BR.po
1735 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.mo ru.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.mo sk.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sv.mo sv.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.mo uk.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o vi.mo vi.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.UTF-8.mo zh_CN.UTF-8.po
1634 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.mo zh_CN.po
1633 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.UTF-8.mo zh_TW.UTF-8.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.mo zh_TW.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.cp1250.mo cs.cp1250.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.sjis.mo ja.sjis.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.euc-jp.mo ja.euc-jp.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.cp1250.mo pl.cp1250.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.UTF-8.mo pl.UTF-8.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.cp1251.mo ru.cp1251.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.cp1250.mo sk.cp1250.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.cp1251.mo uk.cp1251.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.cp936.mo zh_CN.cp936.po
1633 translated messages, 3 fuzzy translations.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk/po'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk/po'
make[2]: Nothing to be done for 'converted'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk/po'
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/arabic.o arabic.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_getln.o ex_getln.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/buffer.o buffer.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/channel.o channel.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/farsi.o farsi.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/blowfish.o blowfish.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json.o json.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fileio.o fileio.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/charset.o charset.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/main.o main.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/screen.o screen.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt.o crypt.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile.o memfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt_zip.o crypt_zip.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/dict.o dict.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message.o message.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fold.o fold.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/diff.o diff.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/getchar.o getchar.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/digraph.o digraph.c
cd xxd; CC="gcc" CFLAGS="-Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" LDFLAGS="-L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed" \
	/usr/bin/make -f Makefile
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3/xxd'
gcc -Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -DUNIX -o xxd xxd.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/search.o search.c
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3/xxd'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3/po'
OLD_PO_FILE_INPUT=yes msgfmt -v -o af.mo af.po
1423 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ca.mo ca.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.mo cs.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o de.mo de.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/edit.o edit.c
1701 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o en_GB.mo en_GB.po
78 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o eo.mo eo.po
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o es.mo es.po
1733 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fi.mo fi.po
1902 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fr.mo fr.po
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ga.mo ga.po
1914 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o it.mo it.po
1897 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.mo ja.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.mo ko.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.UTF-8.mo ko.UTF-8.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nb.mo nb.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nl.mo nl.po
1213 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o no.mo no.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.mo pl.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pt_BR.mo pt_BR.po
1735 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.mo ru.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.mo sk.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sv.mo sv.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.mo uk.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o vi.mo vi.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.UTF-8.mo zh_CN.UTF-8.po
1634 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.mo zh_CN.po
1633 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.UTF-8.mo zh_TW.UTF-8.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.mo zh_TW.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.cp1250.mo cs.cp1250.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.sjis.mo ja.sjis.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.euc-jp.mo ja.euc-jp.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.cp1250.mo pl.cp1250.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.UTF-8.mo pl.UTF-8.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.cp1251.mo ru.cp1251.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.cp1250.mo sk.cp1250.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.cp1251.mo uk.cp1251.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.cp936.mo zh_CN.cp936.po
1633 translated messages, 3 fuzzy translations.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3/po'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3/po'
make[2]: Nothing to be done for 'converted'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3/po'
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/arabic.o arabic.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hardcopy.o hardcopy.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/buffer.o buffer.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/sha256.o sha256.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hashtab.o hashtab.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_cscope.o if_cscope.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spell.o spell.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_xcmdsrv.o if_xcmdsrv.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/list.o list.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/eval.o eval.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mark.o mark.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/blowfish.o blowfish.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/charset.o charset.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memline.o memline.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt.o crypt.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spellfile.o spellfile.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/menu.o menu.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt_zip.o crypt_zip.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/dict.o dict.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc1.o misc1.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/evalfunc.o evalfunc.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/diff.o diff.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/syntax.o syntax.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/digraph.o digraph.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/edit.o edit.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc2.o misc2.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds.o ex_cmds.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/tag.o tag.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/move.o move.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mbyte.o mbyte.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/term.o term.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/eval.o eval.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds2.o ex_cmds2.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/normal.o normal.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ui.o ui.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/undo.o undo.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_docmd.o ex_docmd.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ops.o ops.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/evalfunc.o evalfunc.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/userfunc.o userfunc.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/window.o window.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1              -o objects/option.o option.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_eval.o ex_eval.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui.o gui.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds.o ex_cmds.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_getln.o ex_getln.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/os_unix.o os_unix.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_athena.o gui_athena.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_x11.o gui_x11.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pathdef.o auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pty.o pty.c
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o vim objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o           objects/netbeans.o objects/channel.o  objects/json.o objects/main.o objects/memfile.o objects/message.o        -lm -ltinfo -lnsl  -lselinux -lacl -lattr -lgpm -ldl           
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_beval.o gui_beval.c
link.sh: Linked fine
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic'
# Ensure ERM is set to a sane value for testing
[ yes != "yes" ] || flock debian env TERM=xterm /usr/bin/make -j1 -C src/vim-basic test
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic'
/usr/bin/make -f Makefile vim
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic'
make[2]: 'vim' is up to date.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic'
if test -n "yes" -a -f po/Makefile; then \
	cd po; /usr/bin/make -f Makefile check VIM=../vim; \
fi
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic/po'
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq af.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds2.o ex_cmds2.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/farsi.o farsi.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_at_sb.o gui_at_sb.c
touch af.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ca.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_at_fs.o gui_at_fs.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fileio.o fileio.c
touch ca.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -o objects/if_lua.o if_lua.c
touch cs.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq de.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_docmd.o ex_docmd.c
touch de.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.po
touch en_GB.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq eo.po
/usr/bin/perl -e 'unless ( $] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$_ $_\n" }}' > auto/if_perl.c
/usr/bin/perl /usr/share/perl/5.24/ExtUtils/xsubpp -prototypes -typemap \
    /usr/share/perl/5.24/ExtUtils/typemap if_perl.xs >> auto/if_perl.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perlsfio.o if_perlsfio.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE  -o objects/if_python3.o if_python3.c
touch eo.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq es.po
touch es.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fi.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fold.o fold.c
touch fi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fr.po
touch fr.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ga.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/if_tcl.o if_tcl.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/getchar.o getchar.c
touch ga.ck
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -o objects/if_ruby.o if_ruby.c
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq it.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_eval.o ex_eval.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/netbeans.o netbeans.c
touch it.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_getln.o ex_getln.c
touch ja.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/channel.o channel.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hardcopy.o hardcopy.c
touch ko.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.UTF-8.po
touch ko.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nb.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hashtab.o hashtab.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json.o json.c
touch nb.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nl.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_cscope.o if_cscope.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/main.o main.c
touch nl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq no.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/farsi.o farsi.c
touch no.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_xcmdsrv.o if_xcmdsrv.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile.o memfile.c
touch pl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pt_BR.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fileio.o fileio.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message.o message.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/list.o list.c
touch pt_BR.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mark.o mark.c
touch ru.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.po
cd xxd; CC="gcc" CFLAGS="-Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" LDFLAGS="-L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed" \
	/usr/bin/make -f Makefile
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena/xxd'
gcc -Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -DUNIX -o xxd xxd.c
touch sk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sv.po
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena/xxd'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena/po'
OLD_PO_FILE_INPUT=yes msgfmt -v -o af.mo af.po
1423 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ca.mo ca.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.mo cs.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o de.mo de.po
1701 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o en_GB.mo en_GB.po
78 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o eo.mo eo.po
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o es.mo es.po
1733 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fi.mo fi.po
1902 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fr.mo fr.po
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ga.mo ga.po
1914 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o it.mo it.po
1897 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.mo ja.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.mo ko.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.UTF-8.mo ko.UTF-8.po
1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nb.mo nb.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nl.mo nl.po
1213 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o no.mo no.po
1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.mo pl.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memline.o memline.c
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pt_BR.mo pt_BR.po
touch sv.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.po
1735 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.mo ru.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.mo sk.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sv.mo sv.po
1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.mo uk.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o vi.mo vi.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.UTF-8.mo zh_CN.UTF-8.po
1634 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.mo zh_CN.po
1633 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.UTF-8.mo zh_TW.UTF-8.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.mo zh_TW.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.cp1250.mo cs.cp1250.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.sjis.mo ja.sjis.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.euc-jp.mo ja.euc-jp.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.cp1250.mo pl.cp1250.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.UTF-8.mo pl.UTF-8.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.cp1251.mo ru.cp1251.po
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.cp1250.mo sk.cp1250.po
1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.cp1251.mo uk.cp1251.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.cp936.mo zh_CN.cp936.po
1633 translated messages, 3 fuzzy translations.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena/po'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena/po'
make[2]: Nothing to be done for 'converted'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena/po'
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/arabic.o arabic.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/buffer.o buffer.c
touch uk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq vi.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fold.o fold.c
touch vi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.UTF-8.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/menu.o menu.c
touch zh_CN.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/getchar.o getchar.c
touch zh_CN.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.UTF-8.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc1.o misc1.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/blowfish.o blowfish.c
touch zh_TW.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/charset.o charset.c
touch zh_TW.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.cp1250.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt.o crypt.c
touch cs.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.sjis.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt_zip.o crypt_zip.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hardcopy.o hardcopy.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/dict.o dict.c
touch ja.sjis.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.euc-jp.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/diff.o diff.c
touch ja.euc-jp.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.cp1250.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hashtab.o hashtab.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/digraph.o digraph.c
touch pl.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.UTF-8.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/edit.o edit.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc2.o misc2.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_cscope.o if_cscope.c
touch pl.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.cp1251.po
touch ru.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.cp1250.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_xcmdsrv.o if_xcmdsrv.c
touch sk.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.cp1251.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/move.o move.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/list.o list.c
touch uk.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.cp936.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mark.o mark.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mbyte.o mbyte.c
touch zh_CN.cp936.ck
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic/po'
if test vim != vim -a ! -r vim; then \
	ln -s vim vim; \
fi
cd testdir; /usr/bin/make -f Makefile  VIMPROG=../vim  SCRIPTSOURCE=../../runtime
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic/testdir'
rm -f test.log messages
rm -rf test1.failed test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out wrongtermsize
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test1.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test1.in" 57 lines, 2069 charactersFirst a simple test to check if the test script works.



If Vim was not compiled with the +eval feature, the small.vim script will be

set to copy the test.ok file to test.out, so that it looks like the test

succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by

tests that require the +eval feature or other features that are missing in the

small version.



If Vim was not compiled with the +windows feature, the tiny.vim script will be

set like small.vim above.  tiny.vim is sourced by tests that require the

+windows feature or other features that are missing in the tiny version.



If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will

be set like small.vim above.  mbyte.vim is sourced by tests that require the

+multi_byte feature.

Similar logic is applied to the +mzscheme feature, using mzscheme.vim.

Similar logic is applied to the +lua feature, using lua.vim.



STARTTEST

:" If columns or lines are too small, create wrongtermsize.

:" (Some tests will fail. When columns and/or lines are small)

:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 1133 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST:w! mzscheme.vim

:w! lua.vim

:"

:" If +multi_byte feature supported, make mbyte.vim empty.

:if has("multi_byte") | sp another | w! mbyte.vim | q | endif

:"

:" If +mzscheme feature supported, make mzscheme.vim empty.

:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif

:"

:" If +lua feature supported, make lua.vim empty.

:if has("lua") | sp another | w! lua.vim | q | endif

:"

:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.

:" Otherwise write small.vim to skip the test.

:if 1 | q! | endif

:w! small.vim

:" If +windows feature not supported :sp will fail and tiny.vim will be

:" written to skip the test.

:sp another

:wq! tiny.vim

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[?12l[?25h[?25l:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[?12l[?25h[?25l:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lthis is a test[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 15 characters written[?12l[?25h[?25l:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[?12l[?25h
[?25l[?12l[?25h[?25l:[?12l[?25hw! small.vim
[?25l"small.vim" [New File] 1 line, 1 character written[?12l[?25h[?25l:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [New File] 1 line, 1 character written[?12l[?25h[?25le! test.ok

w! test.outqa![?12l[?25h[?25l:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! lua.vim
[?25l"lua.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File]

"mbyte.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[?12l[?25h[?25l:[?12l[?25hif 1 | q! | endif
[?25l[?1l>[?12l[?25h[?1049lrm -rf X* viminfo
rm -rf test3.failed test.ok test.out X* viminfo
cp test3.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test3.in" 2342 lines, 23089 characters/* vim: set cin ts=4 sw=4 : */



Test for 'cindent'



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo modeline

:edit" read modeline

/start of AUTO

=/end of AUTO

ENDTEST



/* start of AUTO matically checked vim: set ts=4 : */

{if (test)cmd1;cmd2;

}



{if (test)cmd1;else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l/* vim: set cin ts=4 sw=4 : */[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[?12l[?25h[?25l:[?12l[?25hedit                " read modeline
[?25l"test3.in"2342L, 23089Cif (test)cmd1;cmd2;if (test)cmd1;else[?12l[?25h[?25l/[?12l[?25hstart of AUTO
[?25l[?12l[?25h[?25l/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent... 
957 lines indented [?12l[?25h[?25l/^STARTTEST
}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 93C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h[?25l/[?12l[?25hserious/e
[?25l[?12l[?25h[?25l





-- INSERT --

about life, the

 * universe, and the

 * rest important big[?12l[?25h[?25l

* comment[?12l[?25h[?25l

/^STARTTEST
*/

    /* insert " about life, the universe, and the rest" after "serious" */

}



STARTTEST[?12l[?25h[?25l

:set nocin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6L, 78C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comments

joabout life^[/happens

jothere^[/below

oline^[/this

Ohello^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocin
[?25l[?12l[?25h[?25l/[?12l[?25hcomments
[?25l{

    /** Testing for comments, without 'cin' set[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

about life[?12l[?25h[?25l

/[?12l[?25hhappens
[?25l/*

* what happens here?[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

there[?12l[?25h[?25l

/[?12l[?25hbelow
[?25l/*the end of the comment, try inserting a line below */[?12l[?25h[?25l

-- INSERT --

line[?12l[?25h[?25l

/[?12l[?25hthis
[?25l/* how aboutthis one */[?12l[?25h[?25l

-- INSERT --hello[?12l[?25h[?25l

this one */[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/eval.o eval.c
3L, 18C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/vec2

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l/[?12l[?25hvec2
[?25l{

    var = this + that + vec[0] * vec[0]+ vec[1] * vec[1]+ vec2[2] * vec[2];[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5L, 51C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=}4

/testing1

k2==/testing2

k2==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=}4
[?25l[?12l[?25h[?25l/[?12l[?25htesting1
[?25l{asdf asdflkajds f;

    if (tes & ting) {asdf asdf asdf ;asdfa sdf asdf;}

    testing1;[?12l[?25h [?25l



/[?12l[?25htesting2
[?25lif (tes & ting)

    {asdf asdf asdf ;asdfa sdf asdf;}

    testing2;[?12l[?25h [?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=(0,)20

/main

=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=(0,)20
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25lmain ( int first_par, /*[?12l[?25h[?25l

19 lines to indent...
20indented [?12l[?25h[?25l

* Comment for[?12l[?25h[?25l

/^STARTTEST
* Comment for* first par*/second_par /** Comment for* second par*/);



}



STARTTEST

:set cin

:set cino=es,n0s

/main

=][

ENDTEST



main(void)

{

    /* Make sure that cino=X0s is not parsed like cino=Xs. */

    if (cond)foo();[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=es,n0s
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25l[?12l[?25h[?25l8 lines to indent...
9indented [?12l[?25h

[?25l/^STARTTEST
else

    {bar();

    }

}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l{[?12l[?25h[?25l

11 lines to indent...
12indented [?12l[?25h[?25l

do[?12l[?25h[?25l

/^STARTTEST
if (){if ()asdf;elseasdf;}

    } while ();

    cmd;/* this should go under the } */

}



STARTTEST

]]=][

ENDTEST



void f()

{

    if ( k() ) {l();} else { /* Start (two words) end */m();

    }[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1L, 6C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h





[?25l8 lines to indent...
9indented [?12l[?25h

   [?25l/^STARTTEST
n();

}



STARTTEST[?12l[?25h[?25l

:set cino={s,e-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,e-s
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

7 lines to indent...
8indented     {[?12l[?25h[?25l

if ( k() )[?12l[?25h[?25l

/^STARTTEST
{l();} else { /* Start (two words) end */m();}

    n();    /* should be under the if () */

}



STARTTEST[?12l[?25h[?25l

:set cino={s,fs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=/ foo[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,fs
[?25l[?12l[?25h[?25lvoid bar(void)

{[?12l[?25h[?25l

/[?12l[?25h foo
[?25l30 lines to indent...
31indented     {[?12l[?25h[?25l/^STARTTEST
void func(void)

    {

    a = 1;{b = 2;}

    c = 3;

    d = 4;

    }

/* foo */



STARTTEST

:set cino=

/while

ohere^[

ENDTEST



a()

{

  do {

    a = a +a;

  } while ( a );/* add text under this line */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l/[?12l[?25hwhile
[?25l[?12l[?25h[?25l

-- INSERT --

here[?12l[?25h[?25l

if ( a )
    i[?12l[?25h[?25l

/^STARTTEST
a;

}



STARTTEST[?12l[?25h[?25l

:set cino= com=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 109C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comment

olabel2: b();^Mlabel3 /* post */:^M/* pre */ label4:^Mf(/*com*/);^Mif (/*com*/)^^Mcmd();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino= com=
[?25l[?12l[?25h[?25l/[?12l[?25hcomment
[?25la()

{

label1:/* hmm */// comment[?12l[?25h[?25l

-- INSERT --label2: b();

label3 /* post */:

/* pre */ label4:f(/*com*/);if (/*com*/)cmd();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 53C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/simple

=5j[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[?12l[?25h[?25l/[?12l[?25hsimple
[?25l/*

  * A simple comment[?12l[?25h[?25l

5 lines to indent...
6indented * A simple comment[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
/*

** A different comment

*/



STARTTEST[?12l[?25h[?25l

:set cino=c0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 70C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=c0,C1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 73C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0,C1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********

    A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 17C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,U1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,U1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,w1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,w1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3) && c4;

    if (c1 && c2)foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,m1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,m1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3

    ) && c4;

    if (c1 && c2

    )foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=b1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=b1
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

9 lines to indent...
10 lines indented [?12l[?25h[?25l

switch (x)[?12l[?25h[?25l

/^STARTTEST
{case 1:a = b;break;default:a = 0;break;

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W5
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W5
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

10 lines to indent...
11indented [?12l[?25h[?25l

invokeme([?12l[?25h[?25l

/^STARTTEST
argu,ment);

    invokeme(argu,ment);

    invokeme(argu,ment);

}



STARTTEST[?12l[?25h[?25l

:set cino=/6
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=/6
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

3 lines to indent...
4indented [?12l[?25h[?25l

statement;[?12l[?25h[?25l

/^STARTTEST
// comment 1// comment 2

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 34C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-12kdd]]/comment 1/+1

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l==ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

/[?12l[?25hcomment 1/+1
[?25lstatement;// comment 1

    // comment 2[?12l[?25h[?25l    // comment 2[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino=g0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=g0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass CAbc

{[?12l[?25h[?25l

6 lines to indent...
7indented [?12l[?25h[?25l

int Test() { return FALSE; }[?12l[?25h[?25l

/^STARTTEST
public: // comment

    void testfall();

protected:

    void testfall();

};



STARTTEST[?12l[?25h[?25l

:set cino=(0,gs,hs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 29C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,gs,hs
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass Foo : public Bar

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

public:[?12l[?25h[?25l

/^STARTTEST
virtual void method1(void) = 0;virtual void method2(int arg1,int arg2,int arg3) = 0;

};



STARTTEST[?12l[?25h[?25l

:set cino=+20
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 24C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=+20
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid

foo()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (a)[?12l[?25h[?25l

/^STARTTEST
{

    } elseasdf;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W2s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W2s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25l

{[?12l[?25h[?25l

34 lines to indent...
35indented [?12l[?25h[?25l

averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([?12l[?25h[?25l

/^STARTTEST
dec)->asdfasdfasdf(asdfadsf,asdfasdf,asdfasdf,),func(asdfadf,asdfasdf),asdasdf);

}



STARTTEST

:set cino=M1

2kdd]]=][

ENDTEST



int main ()

{

    if (cond1 &&cond2)foo;

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=M1
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l4 lines to indent...
5indented [?12l[?25h

   [?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set cino=(0,ts
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,ts
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

7 lines to indent...
8indented [?12l[?25h[?25l

void func(int a[?12l[?25h[?25l

/^STARTTEST
#if defined(FOO), int b, int c

#endif)

{

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void[?12l[?25h[?25l

/^STARTTEST
func(int a

#if defined(FOO), int b, int c

#endif

    )

{

}



STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 22C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=7][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=7][

ENDTEST[?12l[?25h



[?25l

69 lines to indent...
50
7indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
int a,int b)

{

}void

func6(int a)

{

}



STARTTEST

:set cino&

:set cino+=l1

2kdd2j=][

ENDTEST



void func(void)

{

    int tab[] =

    {1, 2, 3,4, 5, 6};[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l:[?12l[?25hset cino+=l1
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l22 lines to indent...
23indented [?12l[?25h

[?25l/^STARTTEST
break;case baz: {printf("baz");break;}case quux:printf("But don't break the indentation of this instruction\n");break;

    }

}



STARTTEST

:set cino&

2kdd2j=][

ENDTEST



void func(void)

{

    cout << "a"

    << "b"

    << ") :"

    << "c";

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l6 lines to indent...
7indented     << "b"

        << ") :"

        << "c";[?12l[?25h

[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]3jofoo();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[?12l[?25h[?25lvoid func(void)

{[?12l[?25h[?25l/** This is a comment.*/[?12l[?25h[?25l

-- INSERT --

foo();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
{

    for (int i = 0; i < 10; ++i)if (i & 1) {foo(1);} elsefoo(0);

    baz();

}



STARTTEST[?12l[?25h[?25l

:set cino=k2s,(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd3j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0
[?25l[?12l[?25h[?25l2kdd3j=][ENDTEST[?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

23 lines to indent...
24indented [?12l[?25h[?25l

{[?12l[?25h[?25l

/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func( c1&& (     c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l23 lines to indent...
24indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s,U1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s,U1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l24 lines to indent...
25indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (c22345|| c3))printf("foo\n");c = c1 &&(c2 ||c3) && c4;

}



STARTTEST

:set cino=k2s,(0,W4

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,W4
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l29 lines to indent...
30indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (   c2|| c3))foo;a_long_line(argument,argument);

    a_short_line(argument,argument);

}



STARTTEST

:set cino=k2s,u2

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,u2
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l18 lines to indent...
19indented         && condition2)

        action();        && argument2);[?12l[?25h

[?25l/^STARTTEST
foo;

    if (c1 &&(c2 || c3))

    {

    }

    if (c123456789&& (c22345|| c3))printf("foo\n");

}



STARTTEST

:set cino=k2s,(0,w1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,w1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l27 lines to indent...
28indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1&& condition2)action();

    function(argument1&& argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l14 lines to indent...
15indented [?12l[?25h

[?25l/^STARTTEST
if (c1 && (c2 ||c3))foo;

    if (c1 &&(c2 || c3))

    {

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=N-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 47C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^NAMESPACESTART

=/^NAMESPACEEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=N-s
[?25l[?12l[?25h[?25l/[?12l[?25h^NAMESPACESTART
[?25lNAMESPACESTART[?12l[?25h[?25l

/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82indented [?12l[?25h[?25l/^STARTTEST
namespace test test2

{

    1111111111111111111;

}

namespace111111111

{

    111111111111111111;

}

NAMESPACEEND





STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

var bar = {

foo: {

that: this,

some: ok,

},[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l12 lines to indent...
13indented     foo: {

        that: this,

        some: ok,

    },[?12l[?25h[?25l/^STARTTEST
"bar":{a : 2,b: "123abc",x: 4,"y": 5

    }

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l5 lines to indent...
6indented [?12l[?25h[?25l/^STARTTEST
var foo = [

    1,

    2,

    3

];

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l7 lines to indent...
8indented [?12l[?25h[?25l/^STARTTEST
function bar() {

    var foo = [1,2,3

    ];

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l58 lines to indent...
509indented [?12l[?25h[?25l/^STARTTEST
return false;}_arguments[0]=options;method.apply(this,_arguments);}});

    }



})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

function init(options) {

$(this).data(class_name+'_public',$.extend({},{

foo: 'bar',

bar: 2,

foobar: [[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l14 lines to indent...
15indented     $(this).data(class_name+'_public',$.extend({},{

        foo: 'bar',

        bar: 2,

        foobar: [[?12l[?25h[?25l/^STARTTEST
1,2,3],callback: function(){return true;}

    }, options||{}));

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l16 lines to indent...
17indented [?12l[?25h[?25l/^STARTTEST
2,3],callback: function(){return true;}}, options||{}));

    }

})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1,+2

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

// Results of JavaScript indent

// 1

(function(){

var a = [

'a',[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1,+2
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent... 
150 lines indented     var a = [

      'a',[?12l[?25h[?25l/^STARTTEST
var a,

    b,

    c,

    d,

    e,

    f,

    g,

    h,

    i;

JSEND



STARTTEST

:set cin cino&

/start of define

=/end of define

ENDTEST



/* start of define */

{

}

#define AAA \

BBB\

CCC[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 48C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin cino&
[?25l[?12l[?25h[?25l/[?12l[?25hstart of define
[?25l[?12l[?25h[?25l/[?12l[?25hend of define
[?25l11 lines to indent...
12indented     BBB\

    CCC[?12l[?25h[?25l/^STARTTEST
#define CNT \

    1 + \

    2 + \

    4

/* end of define */



STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 61C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines    c,

    d,

    e,    f,    g,    h,    i;JSEND/* start of define */

{}#define AAA \

    BBB\

    CCC#define CNT \

    1 + \

    2 + \4

/* end of define */[?12l[?25h[?25l:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [New] 2096L, 20188C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test3 = test61; then \
#	  if diff test.out test3.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test3.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test4.failed test.ok test.out X* viminfo
cp test4.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test4.in" 34 lines, 960 charactersTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew

/start of

:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx" split to Xxx, autocmd will do :brew

G?this is a

othis should be auto-indented^[

:" Append text with autoindent to this file

:au! BufEnter Xxx

:buf Xxx" go to Xxx, no autocmd anymore

G?this is a

othis should be in column 1^[:wq " append text without autoindent to Xxx

G:r Xxx" include Xxx in the current file

:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is sset

Go# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes current buffer on BufEnter event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 20 lines, 678 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:?startstart?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter Xxx brew
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25lstartstart

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx   " write test file Xxx
[?25l"Xxx" [New] 7L, 124C written[?12l[?25h[?25l:[?12l[?25hset ai modeline modelines=3
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xxx             " split to Xxx, autocmd will do :brew
[?25l"Xxx" 7L, 124CTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.STARTTESTo small.vim:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew/start of.,/end of/w!" write test file Xxx

:set ai modeline modelines=3:sp Xxx    " split to Xxx, autocmd will do :brew

test4.in                                                                        :set fo+=rssue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.outqa!ENDTESTstartstart of test file Xxx

test4.in                                                                        test4.in" line 1 of 34 --2%-- col 1[?12l[?25h[?25l:qa!ENDTESTstartstart

start of test file Xxx

vim: set noai :        this is a test

        this is a test

        this is a test        this is a testend of test file Xxx[?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --        this should be auto-indented[+][+][?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l:[?12l[?25h                   " Append text with autoindent to this file
[?25l[?12l[?25h[?25l:[?12l[?25hau! BufEnter Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hbuf Xxx            " go to Xxx, no autocmd anymore
[?25l"Xxx" 7L, 124Cstart of test file Xxx

vim: set noai :

        this is a test

        this is a test

        this is a test



end of test file Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxxt          [?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --this should be in column 1[+][?12l[?25h[?25l:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx8L, 151C written:au BufEnter Xxx brew/start of:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx             " split to Xxx, autocmd will do :brew

G?this is aothis should be auto-indented^[

:                   " Append text with autoindent to this file

:au! BufEnter Xxx:buf Xxx            " go to Xxx, no autocmd anymoreG?this is aothis should be in column 1^[:wq " append text without autoindent to XxxG:r Xxx   nclude Xxx in the current file:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.out

:qa!ENDTESTstarstart of test file Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a testthis should be auto-indented

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25hr Xxx             " include Xxx in the current file
[?25l"Xxx" 8L, 151C

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25hset fo+=r          " issue #57 do not move cursor on <c-o> when autoindent is 


set
[?25l:au! BufEnter Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

this should be in column 1

end of test file Xxx
[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --

# def[?12l[?25h[?25lINSERTt --defo[?12l[?25hd[?25l[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --[?12l[?25h[?25l

-- INSERTt --def:[?12l[?25hd[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [New] 20L, 330C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test4 = test61; then \
#	  if diff test.out test4.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test4.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test5.failed test.ok test.out X* viminfo
cp test5.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test5.in" 29 lines, 949 charactersTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.



STARTTEST

:so small.vim

:au BufLeave Xxx bwipe

/start of

:.,/end of/w! Xxx" write test file Xxx

:sp Xxx" split to Xxx

:bwipe" delete buffer Xxx, now we're back here

G?this is a

othis is some more text^[

:" Append some text to this file

:?start?,$w! test.out" Write current file contents

:bwipe test.out" delete alternate buffer

:au bufleave test5.in bwipe

:bwipe!" delete current buffer, get an empty one

ithis is another test line^[:w >>test.out

:" append an extra line to the output file

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that deletes the current buffer on BufLeave event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 664 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave Xxx bwipe
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25l[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx               " write test file Xxx
[?25l"Xxx" [New File] 7 lines, 124 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx                         " split to Xxx
[?25l"Xxx" 7 lines, 124 charactersstart of test file Xxxvim: set noai :this is a test

        this is a test

        this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx                                                                             ?start?,$w! test.outWrite current file contentsbwipe test.out      delete alternate bufferau bufleave test5.in bwipebwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out:                               " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx

test5.in                                                                        [?12l[?25h[?25l:[?12l[?25hbwipe                          " delete buffer Xxx, now we're back here
[?25lTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.STARTTEST:so small.vim:au BufLeave Xxx bwipe

/start of:.,/end of/w! Xxx               " write test file Xxx:sp Xxx                         " split to Xxx:bwipe                          " delete buffer Xxx, now we're back hereG?this is aothis is some more text^[                    Append some text to this file

:?start?,$w! test.outWrite current file contents

:bwipe test.out                 " delete alternate buffer

:au bufleave test5.in bwipe:bwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out   " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx"test5.in" line 23 of 29 --79%-- col 1[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

end of test file Xxx[?12l[?25h[?25l

?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l

this is some more text[?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25h                               " Append some text to this file
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out           " Write current file contents
[?25l"test.out" [New File] 8 lines, 147 characters written[?12l[?25h[?25l:[?12l[?25hbwipe test.out                 " delete alternate buffer
[?25l[?12l[?25h[?25l:[?12l[?25hau bufleave test5.in bwipe
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!                         " delete current buffer, get an empty one
[?25lError detected while processing BufLeave Auto commands for "test5.in":

E89: No write since last change for buffer 1 (add ! to override)


Press ENTER or type command to continue[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lthis is another test line[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 26 characters appended[?12l[?25h[?25l:[?12l[?25h                               " append an extra line to the output file
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test5 = test61; then \
#	  if diff test.out test5.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test5.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test7.failed test.ok test.out X* viminfo
cp test7.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memline.o memline.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test7.in" 26 lines, 675 charactersTest for autocommand that changes the buffer list, when doing ":ball".



STARTTEST

:so small.vim

/^start of

A1^[:.,/end of/w! Xxx1   " write test file Xxx1

:sp Xxx1

:close

$r2:.,/end of/w! Xxx2    " write test file Xxx2

:sp Xxx2

:close

$r3:.,/end of/w! Xxx3    " write test file Xxx3

:sp Xxx3

:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes the buffer list, when doing ":ball".[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 508 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx1   " write test file Xxx1
[?25l"Xxx1" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx1
[?25l"Xxx1" 4 lines, 77 charactersstart of test file Xxx1this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2    " write test file Xxx2
[?25l"Xxx2" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx2
[?25l"Xxx2" 4 lines, 77 charactersstart of test file Xxx2this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx2                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx3    " write test file Xxx3
[?25l"Xxx3" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx3
[?25l"Xxx3" 4 lines, 77 charactersstart of test file Xxx3this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx3                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3[?12l[?25h[?25l:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[?12l[?25h[?25l4[?12l[?25h[?25l:[?12l[?25hball                 " open window for all args, close Xxx2
[?25l"Xxx1"4 lines, 77 characters


"Xxx2" 4 lines, 77 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h.,$w! test.out          " Write contents of this file
[?25l"test.out" [New File] 4 lines, 77 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx4

test7.in [+]                                                                    start of test file Xxx1this is a testthis is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            [?12l[?25h

test7.in [+]                                                                     Xxx1                                                                            [?25l:[?12l[?25hw >>test.out        " Append contents of second window (Xxx1)
[?25l"test.out" 4 lines, 77 characters appended[?12l[?25htest7.in [+]                                                                    Xxx1                                                                             [?25l:[?12l[?25h/^start of/,$w >>test.out   " Append contents of last window (this file)
[?25lsearch hit BOTTOM, continuing at TOP"test.out" 4 lines, 77 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test7 = test61; then \
#	  if diff test.out test7.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test7.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test8.failed test.ok test.out X* viminfo
cp test8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test8.in" 46 lines, 1236 charactersTest for BufWritePre autocommand that deletes or unloads the buffer.

Test for BufUnload autocommand that unloads all other buffers.



STARTTEST

:so small.vim

:au BufWritePre Xxx1 bunload

:au BufWritePre Xxx2 bwipe

/^start of

A1^[:.,/end of/w! Xxx1  " write test file Xxx1

$r2:.,/end of/w! Xxx2   " write test file Xxx2

:e! Xxx2" edit Xxx2

:bdel test8.in" delete this file from the buffer list

:e Xxx1" edit Xxx1

:w" write it, will unload it and give an error msg

:w! test.out" Write contents of this file

:e! Xxx2" start editing Xxx2

:bwipe test.out" remove test.out from the buffer list

:w" write it, will delete the buffer and give an error msg:w >>test.out" Append contents of this file

:au! BufWritePre

:func CloseAll()

  let i = 0

  while i <= bufnr('$')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for BufWritePre autocommand that deletes or unloads the buffer.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1054 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTif i != bufnr('%') && bufloaded(i)exe  i . "bunload"

    endif

    let i += 1

  endwhile

endfunc

:func WriteToOut()

  edit! test.out

  $put ='VimLeave done'

  write

endfunc

:set viminfo='100,nviminfo

:au BufUnload * call CloseAll()

:au VimLeave * call WriteToOut()

:e small.vim

:sp mbyte.vim

:q

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l

start of Xxx[?12l[?25h[?25l1[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx1  " write test file Xxx1
[?25l"Xxx1" [New File] 3 lines, 31 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2   " write test file Xxx2
[?25l"Xxx2" [New File] 3 lines, 31 characters written[?12l[?25h[?25l:[?12l[?25he! Xxx2                " edit Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2

        testend of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbdel test8.in^I^I" delete this file from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25he Xxx1                 " edit Xxx1
[?25l"Xxx1" 3 lines, 31 characters1
[?12l[?25h[?25l:[?12l[?25hw                      " write it, will unload it and give an error msg
[?25l"Xxx2"3 lines, 31 characters


E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out            " Write contents of this file
[?25l"test.out" [New File] 3 lines, 31 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! Xxx2                " start editing Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2test

end of Xxx"Xxx2" 3 lines, 31 characters[?12l[?25h[?25l:[?12l[?25hbwipe test.out         " remove test.out from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25hw                      " write it, will delete the buffer and give an error ms


g[?25l"Xxx1"3 lines, 31 characters

E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out           " Append contents of this file
[?25l"test.out" 3 lines, 31 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! BufWritePre
[?25lstart of Xxx1test

end of Xxx[?12l[?25h[?25l:[?12l[?25hfunc CloseAll()
[?25l

:  [?12l[?25h  let i = 0


[?25l:  [?12l[?25h  while i <= bufnr('$')


[?25l:    [?12l[?25h    if i != bufnr('%') && bufloaded(i)


[?25l:      [?12l[?25h      exe  i . "bunload"


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let i += 1


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfunc WriteToOut()
[?25l

:  [?12l[?25h  edit! test.out


[?25l:  [?12l[?25h  $put ='VimLeave done'


[?25l:  [?12l[?25h  write


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               [?12l[?25h[?25l:[?12l[?25hset viminfo='100,nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufUnload * call CloseAll()
[?25l[?12l[?25h[?25l:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[?12l[?25h[?25l:[?12l[?25he small.vim
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"small.vim" 1 line, 1 character


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" 0 lines, 0 characters~                                                                               ~                                                                               ~                                                                               mbyte.vim                                                                       small.vim                                                                       "mbyte.vim" 0 lines, 0 characters[?12l[?25h[?25l:[?12l[?25hq
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"test.out" 6 lines, 62 characters


"test.out" 7 lines, 76 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test8 = test61; then \
#	  if diff test.out test8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test9.failed test.ok test.out X* viminfo
cp test9.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test9.in" 12 lines, 255 charactersTest for Bufleave autocommand that deletes the buffer we are about to edit.



STARTTEST

:so small.vim

:au BufLeave test9.in bwipe yy

:e yy

:/^start of/,$w! test.out      " Write contents of this file

:qa!

ENDTEST



start of test file xx

end of test file xx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Bufleave autocommand that deletes the buffer we are about to edit.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 117 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[?12l[?25h[?25l:[?12l[?25he yy
[?25lE143: Autocommands unexpectedly deleted new buffer yy[?12l[?25h[?25l:[?12l[?25h/^start of/,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 2 lines, 42 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test9 = test61; then \
#	  if diff test.out test9.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test9.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test14.failed test.ok test.out X* viminfo
cp test14.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test14.in" 99 lines, 1606 charactersTests for "vaBiB", end could be wrong.

Also test ":s/pat/sub/" with different ~s in sub.

Also test for ^Vxff and ^Vo123 in Insert mode.

Also test "[m", "]m", "[M" and "]M"

Also test search()



STARTTEST

:so small.vim

/Start cursor here

vaBiBD:?Bug?,/Piece/-2w! test.out

/^- Bug

:s/u/~u~/

:s/i/~u~/

:s/o/~~~/

:.w >>test.out

:if has("ebcdic")

: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"

:else

: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"

:endif

:exe "normal " . tt

:unlet tt

:.w >>test.out[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "vaBiB", end could be wrong.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/normal.o normal.c
[New File] 56 lines, 1141 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute

Y:$put =@0

/bar /e

:$put =@0

-:keeppatterns /xyz

0dn:/^search()/,$w >>test.out

:qa!

ENDTEST



- Bug in "vPPPP" on this text (Webb):{cmd;{cmd;    /* <-- Start cursor here */{}}}[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25hStart cursor here
[?25l[?12l[?25h[?25l[?12l[?25h[?25l{ 

                        cmd;    /* <-- Start cursor here */ 

                        { 

                        } 

                [?12l[?25h[?25l                cmd; 

                }[?12l[?25h[?25l





6 fewer lines        }Piece of Java{        tt m1 {                t1;e1[?12l[?25h[?25l:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [New File] 3 lines, 44 characters written[?12l[?25h[?25l/[?12l[?25h^- Bug
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/u/~u~/
[?25l[?12l[?25h[?25l:[?12l[?25hs/i/~u~/
[?25luuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l:[?12l[?25hs/o/~~~/
[?25luuuuuuuuun this text (Webb):
[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 48 characters appended[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>


"

[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"


[?25l:  [?12l[?25h:endif
[?25l:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute[?12l[?25h[?25l:[?12l[?25hexe "normal " . tt
[?25lABC !a^Og^G8[?12l[?25h[?25l:[?12l[?25hunlet tt
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset vb
[?25l[?12l[?25h[?25l/[?12l[?25h^Piece
[?25l[?12l[?25h[?25l{A[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25ltt m2 {[?12l[?25h[?25l{B[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25lt2;} e2tt m3 {[?12l[?25h[?25l{C[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25l{DC[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{EA[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{F[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}G e1[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h

[?25lif (x){t3;}} e3[?12l[?25h[?25l}H e3[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l

}[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}JH e3[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 8 characters appended[?12l[?25h[?25l}K e2[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l{LF[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^foobar
[?25lfoobar[?12l[?25h[?25l

:[?12l[?25hlet startline = line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('foobar', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25hcall search('^$', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('^$', 'bc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l/[?12l[?25htwo
[?25lsubstitute foo asdf



one two[?12l[?25h[?25l

:[?12l[?25hcall search('.', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/foo/bar/
[?25lbar
[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25lsearch()

0

1

1

two

foo[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25lxyz[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25l

^substitute[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l

/[?12l[?25hbar /e
[?25l[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l



:[?12l[?25hkeeppatterns /xyz
[?25l[?12l[?25h[?25l

/bar /exyz[?12l[?25h[?25l:[?12l[?25h/^search()/,$w >>test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 9 lines, 58 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test14 = test61; then \
#	  if diff test.out test14.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test14.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test15.failed test.ok test.out X* viminfo
cp test15.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test15.in" 136 lines, 2246 charactersTests for :right on text with embedded TAB.

Also test formatting a paragraph.

Also test undo after ":%s" and formatting.



STARTTEST

:so small.vim

:set tw=65



:/^\s*test for :left/,/^\s*test for :center/ left

:/^\s*test for :center/,/^\s*test for :right/ center

:/^\s*test for :right/,/^xxx/-1 right

:set fo+=tcroql tw=72

/xxxxxxxx$

0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :right on text with embedded TAB.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 401 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=65
[?25l[?12l[?25h[?25l

test for :left[?12l[?25h[?25l

:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25lsearch hit BOTTOM, continuing at TOPtest for :left[?12l[?25h[?25l:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[?12l[?25h[?25l:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[?12l[?25h[?25l:[?12l[?25hset fo+=tcroql tw=72
[?25l[?12l[?25h[?25l/[?12l[?25hxxxxxxxx$
[?25lasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx

xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx

xx xxxxxxx. xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx

> xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h
[?25l

 xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xxxx xxxxxxx.

xxxx xxxx.xxxxxxx: xxxx xxxxxxx, xx xxxx xxxxxxx~                                                                               [?12l[?25h

[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[?12l[?25h[?25l1 more line; before #1  1 seconds ago0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTESTtest for :leftaafaadfaasdfaaasdfaaxasdfaa

asxxdfaatest for :centeraafaafd asdf[?12l[?25h[?25l1 line less; after #1  1 seconds agotest for :lefta      afa    adfa      asdfaaasdfa           axasdfaa                test for :center  aa  fa        afd asdf[?12l[?25h

[?25l:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[?12l[?25h[?25l/[?12l[?25h^aa
[?25lasxxdfaaxxxoikeasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.

xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx

> xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h[?25l





:.,.+2s/^/x/
3 substitutions on 3 linesxaa aa aa aa

xbb bb bb bb

xcc cc cc cc
[?12l[?25h[?25l:set tw=3
[?12l[?25h[?25l





3 more lines

aaaaaa3 more lines[?12l[?25h[?25l

3 fewer lines; before #2  0 seconds agoaa aa aa aa

bb bb bb bb

cc cc cc cc

~                                                                               [?12l[?25h

[?25l:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[New] 111L, 2304C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test15 = test61; then \
#	  if diff test.out test15.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test15.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test19.failed test.ok test.out X* viminfo
cp test19.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test19.in" 33 lines, 692 charactersTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.

Also test that dv_ works correctly



STARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 447 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25lSTARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25hsome
[?25lstart textsome test text[?12l[?25h[?25l    ome test text[?12l[?25h[?25l

:[?12l[?25hset noexpandtab
[?25l[?12l[?25h[?25l/[?12l[?25hother
[?25ltest textother test text[?12l[?25h[?25l    ther test text[?12l[?25h[?25l

a cde[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[?12l[?25h
    [?25l[?12l[?25h[?25l

f ghi[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs
[?25l[?12l[?25h
    [?25l     hi[?12l[?25h[?25l

test text[?12l[?25h[?25l

:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[?12l[?25h[?25l:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[?12l[?25h[?25l{x[?12l[?25h[?25l

:[?12l[?25hset nosol
[?25l[?12l[?25h[?25l/[?12l[?25hSecond line/
[?25l

Second line beginning with whitespace[?12l[?25h[?25l
  with whitespace[?12l[?25h[?25l

:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [New File] 10 lines, 121 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test19 = test61; then \
#	  if diff test.out test19.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test19.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test20.failed test.ok test.out X* viminfo
cp test20.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test20.in" 28 lines, 398 charactersTests Blockwise Visual when there are TABs before the text.

First test for undo working properly when executing commands from a register.

Also test this in an empty buffer.



STARTTEST

:so tiny.vim

G0"ay$k@au

:new

@auY:quit!

GP

/start here$

"by$^Vjjlld

/456$

^Vjj"bP

:/56$/,$-1w! test.out

:qa!

ENDTEST



123456

234567

345678



test text test tex start here[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests Blockwise Visual when there are TABs before the text.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 107 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso tiny.vim
[?25l[?12l[?25h[?25lsome texttest text

test text



Ox^[jAy^[kdd[?12l[?25h[?25lx[?12l[?25h

[?25ly[?12l[?25h[?25ly

Ox^[jAy^[kdd[?12l[?25h[?25l



2 changes; before #1  0 seconds ago[?12l[?25h

[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       123456

234567

345678test text test tex start here

                some texttest

test textOx^[jAy^[kdd

test20.in                                                                       [?12l[?25h[?25lx[+][?12l[?25h

[?25ly[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l1 line less; before #1  0 seconds ago    [?12l[?25h[?25l:[?12l[?25hquit!
[?25l:so tiny.vim

G0"ay$k@au:new@auY:quit!GP/start here$"by$^Vjjlld/456$^Vjj"bP:/56$/,$-1w! test.out:qa!ENDTEST123456

234567

345678test text test tex start heresome

         test text

test textOx^[jAy^[kdd[?12l[?25h[?25l[?12l[?25h[?25l

Ox^[jAy^[kdd[?12l[?25h[?25l

/[?12l[?25hstart here$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25ls[?12l[?25h[?25le[?12l[?25h[?25lt t[?12l[?25h[?25lat [?12l[?25h[?25lrt hereextex[?12l[?25h[?25l/[?12l[?25h456$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25l4

234[?12l[?25h[?25l5

345[?12l[?25h[?25l[?12l[?25h[?25lstart here56

234start here67

345start here78[?12l[?25h[?25l:[?12l[?25h/56$/,$-1w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 10 lines, 106 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test20 = test61; then \
#	  if diff test.out test20.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test20.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test22.failed test.ok test.out X* viminfo
cp test22.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test22.in" 13 lines, 197 charactersTests for file with some lines ending in CTRL-M, some not^M

^M

STARTTEST

:set ta tx

:e!

:$-3,$w! test.out

:qa!

ENDTEST



this lines ends in a^M

this one doesn't

this one does^M

and the last one doesn't

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for file with some lines ending in CTRL-M, some not^M[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset ta tx
[?25l[?12l[?25h[?25l:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[?12l[?25h[?25l:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [New File] 4 lines, 79 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test22 = test61; then \
#	  if diff test.out test22.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test22.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test23.failed test.ok test.out X* viminfo
cp test23.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test23.in" 15 lines, 282 charactersTests for complicated + argument to :edit command



STARTTEST

:$-1w! Xfile1

:$w! Xfile2

:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w

:w! test.out

:e Xfile1

:w >> test.out

:qa!

ENDTEST



The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"

foo|bar

foo/bar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for complicated + argument to :edit command[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" 1 line, 8 characters


foo|bar


"Xfile1" 1 line, 11 characters written


"Xfile2" 1 line, 8 characters


foo/bar


"Xfile2" 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 charactersfooPIPEbar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xfile1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hw >> test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test23 = test61; then \
#	  if diff test.out test23.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test23.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test24.failed test.ok test.out X* viminfo
cp test24.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test24.in" 89 lines, 1301 charactersTests for regexp with backslash and other special characters inside []

Also test backslash for hex/octal numbered character.



STARTTEST

:set nocompatible viminfo+=nviminfo

/[\x]

x/[\t\]]

x/[]y]

x/[\]]

x/[y^]

x/[$y]

x/[\x61]

x/[\x60-\x64]

xj0/[\x785]

x/[\o143]

x/[\o140-\o144]

x/[\o417]

x/\%x42

x/\%o103

x/[\x00]

x

:s/[\x00-\x10]//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with backslash and other special characters inside [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 51 lines, 519 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/



:s/aaa/xyz/



:s/~/bcd/



:s/~\+/BB/

:"

:?start?,$w! test.out

:qa!

ENDTEST



start

test \text test text

test    text test text

test text ]test text

test ]text test text

test text te^st text

test te$xt test text

test taext test text  x61

test tbext test text  x60-x64

test 5text test text  x78 5[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h[\x]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[\t\]]
[?25l[?12l[?25h[?25ltext test tex[?12l[?25h[?25l/[?12l[?25h[]y]
[?25l[?12l[?25h[?25ltest text[?12l[?25h[?25l/[?12l[?25h[\]]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[y^]
[?25l[?12l[?25h[?25lst text[?12l[?25h[?25l/[?12l[?25h[$y]
[?25l[?12l[?25h[?25lxt test text[?12l[?25h[?25l/[?12l[?25h[\x61]
[?25l[?12l[?25h[?25lext test text  x61[?12l[?25h[?25l/[?12l[?25h[\x60-\x64]
[?25l[?12l[?25h[?25lext test text  x60-x64[?12l[?25h
[?25l/[?12l[?25h[\x785]
[?25l[?12l[?25h[?25ltext test text  x78 5[?12l[?25h[?25l/[?12l[?25h[\o143]
[?25l

testc text test text  o143[?12l[?25h[?25l text test text  o143[?12l[?25h[?25l

/[?12l[?25h[\o140-\o144]
[?25l

tesdt text test text  o140-o144[?12l[?25h[?25lt text test text  o140-o14[?12l[?25h[?25l

/[?12l[?25h[\o417]
[?25l

test7 text test text  o41 7[?12l[?25h[?25l text test text  o41 7[?12l[?25h[?25l

/[?12l[?25h\%x42
[?25l

test text tBest text  \%x42[?12l[?25h[?25lest text  \%x42[?12l[?25h[?25l

/[?12l[?25h\%o103
[?25l

test text teCst text  \%o103[?12l[?25h[?25lst text  \%o103[?12l[?25h[?25l

/[?12l[?25h[\x00]
[?25l

test text ^@test text  [\x00][?12l[?25h[?25ltest text  [\x00][?12l[?25h[?25l

test te^@xt t^Dest t^Pext  [\x00-\x10][?12l[?25h[?25l

:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 linext test text  [\x00-\x10][?12l[?25h[?25l

test \xyztext test text  [\x-z][?12l[?25h[?25l

:[?12l[?25hs/[\x-z]\+//
[?25ltext test text  [\x-z][?12l[?25h[?25l

test text tev\uyst text  [\u-z][?12l[?25h[?25l

:[?12l[?25hs/[\u-z]\{2,}//
[?25lst text  [\u-z][?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\+//
[?25l xx [?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)\+//
[?25l[?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)*//
[?25l[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{2,3}/A/
[?25lAaa xx[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25lAaaa x[?12l[?25h[?25l

xx aaa12aa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25lAaa xx[?12l[?25h[?25l

xx foobar xbar xx[?12l[?25h[?25l

:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25lA xx[?12l[?25h[?25l

xx an file xx[?12l[?25h[?25l

:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25lA xx[?12l[?25h[?25l

x= 9;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25lXX
[?12l[?25h[?25l

hh= 77;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25lYY 77;[?12l[?25h[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hs/aaa/xyz/
[?25lxyz
 [?12l[?25h[?25l

xyz[?12l[?25h[?25l

:[?12l[?25hs/~/bcd/
[?25lbcd
 [?12l[?25h[?25l

bcdbcdbcd[?12l[?25h[?25l

:[?12l[?25hs/~\+/BB/
[?25lBB[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [New] 32L, 586C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test24 = test61; then \
#	  if diff test.out test24.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test24.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test26.failed test.ok test.out X* viminfo
cp test26.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test26.in" 44 lines, 750 charactersTest for :execute, :while and :if



STARTTEST

:so small.vim

mt:let i = 0

:while i < 12

:  let i = i + 1

:  if has("ebcdic")

:    execute "normal o" . i . "\047"

:  else

:    execute "normal o" . i . "\033"

:  endif

:  if i % 2

:    normal Ax^V^[

:    if i == 9

:      break

:    endif

:    if i == 5

:      continue

:    else

:      let j = 9

:      while j > 0

:if has("ebcdic")[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for :execute, :while and :if[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 39 lines, 696 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:      let j = 9

:      while j > 0

:if has("ebcdic")

:execute "normal" j . "a" . j . "\x27"

:else

:execute "normal" j . "a" . j . "\x1b"

:endif

:let j = j - 1

:      endwhile

:    endif

:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 0
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i < 12
[?25l

:  [?12l[?25h:  let i = i + 1


[?25l:  [?12l[?25h:  if has("ebcdic")


[?25l:    [?12l[?25h:    execute "normal o" . i . "\047"


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    execute "normal o" . i . "\033"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i % 2


[?25l:    [?12l[?25h:    normal Ax^^[


[?25l:    [?12l[?25h:    if i == 9


[?25l:      [?12l[?25h:      break


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if i == 5


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      let j = 9


[?25l:      [?12l[?25h:      while j > 0


[?25l:[?12l[?25h:        if has("ebcdic")


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x27"


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x1b"


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        let j = j - 1


[?25l:[?12l[?25h:      endwhile


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i == 9


[?25l:    [?12l[?25h:    if has("ebcdic")


[?25l:      [?12l[?25h:      execute "normal Az\047"


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      execute "normal Az\033"


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endwhile
[?25l:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST



1x999999999888888887777777666666555554444333221

2

3x999999999888888887777777666666555554444333221

4

5x

6

7x999999999888888887777777666666555554444333221

8

9x[?12l[?25h[?25l

:[?12l[?25hunlet i j
[?25l[?12l[?25h[?25l:[?12l[?25h't,$w! test.out
[?25l"test.out" [New File] 10 lines, 159 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test26 = test61; then \
#	  if diff test.out test26.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test26.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test28.failed test.ok test.out X* viminfo
cp test28.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test28.in" 23 lines, 364 charactersTest for sourcing a file with CTRL-V's at the end of the line



STARTTEST

:/firstline/+1,/lastline/-1w! Xtestfile

:so Xtestfile

Gmm__1^[^[__2^[__3^[^[__4^[__5^[:'m,$s/^@/0/g

:'m,$w! test.out

:qa!

ENDTEST



firstline

map __1 afirst

map __2 asecond

map __3 athird

map __4 afourth

map __5 afifth

map __1 asd^V

map __2 asd^V^V

map __3 asd^V^V

map __4 asd^V^V^V

map __5 asd^V^V^V

lastline[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for sourcing a file with CTRL-V's at the end of the line[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [New File] 10 lines, 148 characters written[?12l[?25h[?25l:[?12l[?25hso Xtestfile
[?25l[?12l[?25h[?25l

sd

map __2 asd^[[?12l[?25h[?25lsecond[?12l[?25hd  [?25lsd^[[?12l[?25h^[  [?25lsd^@map __5 asd^@[?12l[?25h[?25lfifth[?12l[?25h[?25l

:[?12l[?25h'm,$s/^@/0/g
[?25l0map __5 asd0fifth[?12l[?25h[?25l:[?12l[?25h'm,$w! test.out
[?25l"test.out" [New File] 2 lines, 45 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test28 = test61; then \
#	  if diff test.out test28.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test28.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test29.failed test.ok test.out X* viminfo
cp test29.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/menu.o menu.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test29.in" 230 lines, 4261 charactersTest for joining lines and marks in them

 in compatible and nocompatible modes

 and with 'joinspaces' set or not

 and with 'cpoptions' flag 'j' set or not



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set nojoinspaces

:set cpoptions-=j

/firstline/

j"td/^STARTTEST/-1

PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=jj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss+=j

j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2

ENDTEST



firstline

asdfasdf.

asdf[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for joining lines and marks in them[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 478 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j
[?25l[?12l[?25h[?25l/[?12l[?25hfirstline/
[?25l[?12l[?25h

[?25l/[?12l[?25h^STARTTEST/-1
[?25l+-1
37 fewer linesSTARTTEST

/^{/+1[?12l[?25h[?25lmore linesasdfasdf.

asdf[?12l[?25h[?25lasdf

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop!

ert[?12l[?25h
hjkl i[?25l. as dfg? hjkl iop! ert

zx cvn.

as dfg?hjkl iop![?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv
hjkl i[?25l. as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg?  hjkl iop!  ert

zx cvn.

as dfg?[?12l[?25h  er[?25lt  e[?12l[?25h
zx cv[?25len[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv[?25l

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l.  as dfg? hjkl iop! ert[?12l[?25h[?25lt  a[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l

/[?12l[?25hSTARTTEST/-2
[?25l+-2
4 fewer lines[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 147 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set comments=s1:/*,mb:*,ex:*/,://

:set nojoinspaces fo=j

:set backspace=eol,start

:.,+3join

j4J

:.,+2join

j3J

:.,+2join

j3J

:.,+2join

jj3J

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 17 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:inoremap <c-u> <left><c-u>

Avim3^U^[

:iunmap <c-u>

Avim4^U^U^[

:" Test with backspace set to the compatible setting

:set backspace= visualbell

A vim5^[A^U^U^[

A vim6^[Azwei^Gu^U^[

:inoremap <c-u> <left><c-u>

A vim7^U^U^[

:set compatible novisualbell

ENDTEST

1 this shouldn't be deleted

2 this shouldn't be deleted

3 this shouldn't be deleted

4 this should be deleted

5 this shouldn't be deleted

6 this shouldn't be deleted

7 this shouldn't be deleted

8 this shouldn't be deleted (not touched yet)



STARTTEST

/^{/+1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[?12l[?25h[?25l/[?12l[?25h^\d\+ this
[?25l[?12l[?25h[?25l:[?12l[?25hset cp bs=2
[?25l[?12l[?25h[?25l[?12l[?25hd    [?25lvim2[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?25ld3[?12l[?25h[?25l:[?12l[?25hiunmap <c-u>
[?25l[?12l[?25h[?25l[?12l[?25h

[?25l:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace= visualbell
[?25l[?12l[?25h[?25lvim5[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/evalfunc.o evalfunc.c
[?5h[?5l[?5h[?5l[?25ld vim6[?12l[?25h6    [?25lzwei[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?5h[?5l[?5h[?5l[?25lvim7[?12l[?25h

[?25l:[?12l[?25hset compatible novisualbell
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 21 lines, 356 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj3J

:.,+2join

j3J

:.,+2join

jj3J

j:.,+2join

jj3J

j:.,+5join

j6J

oSome code!^M// Make sure backspacing does not remove this comment leader.^[0i^HH^[

ENDTEST



{



/*

 * Make sure the previous comment leader is not removed.

 */



/*

 * Make sure the previous comment leader is not removed.

 */[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed.  *//* List:

 * - item1

 *   foo bar baz[?12l[?25h

[?25l/* Make sure the previous comment leader is not removed.  */*   foo bar baz

 * - item2

 *   foo bar baz[?12l[?25h

[?25l:[?12l[?25h.,+8join
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz *//* List:- item1  foo bar baz

 * - item2[?12l[?25h

[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */// Should the next comment leader be left alone?

// Yes.// Should the next comment leader be left alone?[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lShould the next comment leader be left alone?  Yes.





// Yes.[?12l[?25h

[?25l// Should the next comment leader be left alone?  Yes.* Here the comment leader should be left intact. */

// And so should this one.[?12l[?25h

[?25l





:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.* Here the comment leader should be left intact. */[?12l[?25h

[?25l/* Here the comment leader should be left intact. */ // And so should this one.[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;[?12l[?25h[?25l

[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+5join
[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25lSome code!

// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l// Make sure backspacing does not remove this comment leader.

}[?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 61 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:?firstline?+1,$w! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines// Should the next comment leader be left alone?  Yes./* Here the comment leader should be left intact. */ // And so should this one.

/* Here the comment leader should be left intact. */ // And so should this one.

if (condition) // Remove the next comment leader!  OK, I will.

    action();if (condition) // Remove the next comment leader!  OK, I will.

    action();int i = 7 /* foo *// 3 // comment

 ;int i = 7 /* foo *// 3 // comment ;># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.



Some code!// Make sure backspacing does not remove this comment leader.

}[?12l[?25h[?25l:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [New File] 97 lines, 3018 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test29 = test61; then \
#	  if diff test.out test29.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test29.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test31.failed test.ok test.out X* viminfo
cp test31.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test31.in" 95 lines, 1832 charactersTest for commands that close windows and/or buffers:

:quit

:close

:hide

:only

:sall

:all

:ball

:buf

:edit



STARTTEST

:so small.vim

GA 1^[:$w! Xtest1

$r2:$w! Xtest2

$r3:$w! Xtest3

:n! Xtest1 Xtest2

A 1^[:set hidden

:" test for working :n when hidden set; write "testtext 2"

:n

:w! test.out

:" test for failing :rew when hidden not set; write "testtext 2 2"

:set nohidden[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for commands that close windows and/or buffers:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 80 lines, 1697 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" test ":q!" and hidden buffer.

:bw! Xtest1 Xtest2 Xtest3 Xtest4

:sp Xtest1

:wincmd w

:bw!

:set modified

:bot sp Xtest2

:set modified

:bot sp Xtest3

:set modified

:wincmd t

:hide

:q!

:w >>test.out

:q!

:w >>test.out

:q!

:call append(line('$'), "Oh, Not finished yet.")

:w >>test.out

:qa!

ENDTEST



testtext[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h

[?25l1[?12l[?25h[?25l:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [New File] 1 line, 11 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [New File] 1 line, 11 characters written[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" 1 line, 11 characterstesttext 1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[?12l[?25h[?25l:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters2[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hrew
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)1 1
[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hsp
[?25lXtest1 [+]                                                                      testtext 1 1 1Xtest1 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)2 22 [?12l[?25h[?25l:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characterstesttext 1 1 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25lXtest1 [+]                                                                      Xtest2 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 2 2" twice
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l1 1[?12l[?25h[?25l:[?12l[?25hq!
[?25ltesttext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25hunhide
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hhide
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3"
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1


"[?25ltesttext 3 3[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters1[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3 3"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)3 3Xtest3 [+]                                                                      testtext 1Xtest1                                                                          [?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 1"
[?25l[?12l[?25h[?25l3 3[?12l[?25h[?25l:[?12l[?25hclose!
[?25l1~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File]Xtest4                                                                          testtext 1Xtest1                                                                          [?12l[?25h[?25l 4[+][?12l[?25h[?25l:[?12l[?25hall!
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)


"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25ltesttext 2 2 2

~                                                                               Xtest2 [+]                                                                      testtext 3 3 3 3~                                                                               3 [+][?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[?12l[?25h[?25l:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"95 lines, 1832 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp Xtest1
[?25l"Xtest1" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               Xtest1                                                                          :w >>test.out:q!:w >>test.out:q!:call append(line('$'), "Oh, Not finished yet."):w >>test.out:qa!ENDTESTtesttexttest31.in "Xtest1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25lXtest1                                                                           test31.in                                                                       [?12l[?25h[?25l:[?12l[?25hbw!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[?12l[?25h[?25l:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" 1 line, 11 charactersXtest1 [+]                                                                      testtext 2Xtest2                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hwincmd t
[?25lXtest1 [+]                                                                      Xtest3 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hhide
[?25ltesttext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hq!
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hq!
[?25lE37: No write since last change


E162: No write since last change for buffer "Xtest1"


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test31 = test61; then \
#	  if diff test.out test31.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test31.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test33.failed test.ok test.out X* viminfo
cp test33.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test33.in" 34 lines, 616 charactersTest for 'lisp'

If the lisp feature is not enabled, this will fail!



STARTTEST

:so small.vim

:set lisp

/^(defun

=G:/^(defun/,$w! test.out

:q!

ENDTEST



(defun html-file (base)

(format nil "~(~A~).html" base))



(defmacro page (name title &rest body)

(let ((ti (gensym)))

`(with-open-file (*standard-output*

(html-file ,name)

:direction :output

:if-exists :supersede)

(let ((,ti ,title))

(as title ,ti)

(with center[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'lisp'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 63 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset lisp
[?25l[?12l[?25h[?25l/[?12l[?25h^(defun
[?25l[?12l[?25h[?25l22 lines to indent...
23indented   (format nil "~(~A~).html" base))





  (let ((ti (gensym)))

       `(with-open-file (*standard-output*

                 (html-file ,name)

                  :direction :output

                         :if-exists :supersede)

                        (let ((,ti ,title))

              (as title ,ti)

            (with center[?12l[?25h[?25l:[?12l[?25h/^(defun/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 23 lines, 544 characters written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test33 = test61; then \
#	  if diff test.out test33.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test33.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test34.failed test.ok test.out X* viminfo
cp test34.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test34.in" 87 lines, 1833 charactersTest for user functions.

Also test an <expr> mapping calling a function.

Also test that a builtin function cannot be replaced.

Also test for regression when calling arbitrary expression.



STARTTEST

:so small.vim

:function Table(title, ...)

:  let ret = a:title

:  let idx = 1

:  while idx <= a:0

:    exe "let ret = ret . a:" . idx

:    let idx = idx + 1

:  endwhile

:  return ret

:endfunction

:function Compute(n1, n2, divname)

:  if a:n2 == 0

:    return "fail"

:  endif

:  exe "let g:" . a:divname . " = ". a:n1 / a:n2

:  return "ok"

:endfunction[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for user functions.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 78 lines, 1621 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'

:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!

ENDTEST



here[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction Table(title, ...)
[?25l

:  [?12l[?25h:  let ret = a:title


[?25l:  [?12l[?25h:  let idx = 1


[?25l:  [?12l[?25h:  while idx <= a:0


[?25l:    [?12l[?25h:    exe "let ret = ret . a:" . idx


[?25l:    [?12l[?25h:    let idx = idx + 1


[?25l:    [?12l[?25h:  endwhile


[?25l:  [?12l[?25h:  return ret


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch[?12l[?25h[?25l



:[?12l[?25hfunction Compute(n1, n2, divname)
[?25l

:  [?12l[?25h:  if a:n2 == 0


[?25l:    [?12l[?25h:    return "fail"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  exe "let g:" . a:divname . " = ". a:n1 / a:n2


[?25l:  [?12l[?25h:  return "ok"


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))[?12l[?25h[?25l



:[?12l[?25hfunc Expr1()
[?25l

:  [?12l[?25h:  normal! v


[?25l:  [?12l[?25h:  return "111"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc Expr2()
[?25l

:  [?12l[?25h:  call search('XX', 'b')


[?25l:  [?12l[?25h:  return "222"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListItem()
[?25l

:  [?12l[?25h:  let g:counter += 1


[?25l:  [?12l[?25h:  return g:counter . '. '


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListReset()
[?25l

:  [?12l[?25h:  let g:counter = 0


[?25l:  [?12l[?25h:  return ''


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc FuncWithRef(a)
[?25l

:  [?12l[?25h:  unlet g:FuncRef


[?25l:  [?12l[?25h:  return a:a


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[?12l[?25h[?25l:[?12l[?25hlet counter = 0
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> + Expr1()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> * Expr2()
[?25l[?12l[?25h[?25l:[?12l[?25hlet retval = "nop"
[?25l[?12l[?25h[?25l/[?12l[?25h^here
[?25l[?12l[?25h[?25lher$=[?12l[?25hTable("xxx", 4, "asdf")
[?25l=[?12l[?25hCompute(45, 0, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hCompute(45, 5, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hg:FuncRef(333)


[?25lError detected while processing function Expr1:


line    1:


E523: Not allowed here


Press ENTER or type command to continue[?12l[?25h[?25l:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'$put =v:exception

:endtry$-9,$w! test.outdelfunc Table

:delfunc Computedelfunc Expr1delfunc Expr2

:delfunc ListItemListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX---222---

1. one2. two[?12l[?25h[?25l1. one again[?12l[?25h[?25l

:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25lE704: Funcref variable name must start with a capital: max[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:    " Regression: the first line below used to throw ?E110: Missing ')'?


[?25l:  [?12l[?25h:    " Second is here just to prove that this line is correct when not skipp


ing


[?25l:  [?12l[?25h:    " rhs of &&.


[?25l:  [?12l[?25h:    $put =(0&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:    $put =(1&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:    $put ='!!! Unexpected exception:'


[?25l:  [?12l[?25h:    $put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX

---222---

1. one

2. two1. one again

330[?12l[?25h[?25l

:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [New File] 10 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25hdelfunc Table
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Compute
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr1
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr2
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListItem
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListReset
[?25l[?12l[?25h[?25l:[?12l[?25hunlet retval counter
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test34 = test61; then \
#	  if diff test.out test34.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test34.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test36.failed test.ok test.out X* viminfo
cp test36.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test36.in" 108 lines, 2025 charactersTest character classes in regexp using regexpengine 0, 1, 2.



STARTTEST

/^start-here/+1

Y:s/\%#=0\d//g

p:s/\%#=1\d//g

p:s/\%#=2\d//g

p:s/\%#=0[0-9]//g

p:s/\%#=1[0-9]//g

p:s/\%#=2[0-9]//g

p:s/\%#=0\D//g

p:s/\%#=1\D//g

p:s/\%#=2\D//g

p:s/\%#=0[^0-9]//g

p:s/\%#=1[^0-9]//g

p:s/\%#=2[^0-9]//g

p:s/\%#=0\o//g

p:s/\%#=1\o//g

p:s/\%#=2\o//g

p:s/\%#=0[0-7]//g

p:s/\%#=1[0-7]//g

p:s/\%#=2[0-7]//g

p:s/\%#=0\O//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest character classes in regexp using regexpengine 0, 1, 2.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 101 lines, 1850 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTp:s/\%#=1[^a-z]//g

p:s/\%#=2[^a-z]//g

p:s/\%#=0\u//g

p:s/\%#=1\u//g

p:s/\%#=2\u//g

p:s/\%#=0[A-Z]//g

p:s/\%#=1[A-Z]//g

p:s/\%#=2[A-Z]//g

p:s/\%#=0\U//g

p:s/\%#=1\U//g

p:s/\%#=2\U//g

p:s/\%#=0[^A-Z]//g

p:s/\%#=1[^A-Z]//g

p:s/\%#=2[^A-Z]//g

p:s/\%#=0\%204l^\t...//g

p:s/\%#=1\%205l^\t...//g

p:s/\%#=2\%206l^\t...//g

:/^start-here/+1,$wq! test.out

ENDTEST




[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^start-here/+1
[?25l[?12l[?25h[?25l:[?12l[?25hs/\%#=0\d//g



:[?12l[?25hs/\%#=1\d//g



:[?12l[?25hs/\%#=2\d//g



:[?12l[?25hs/\%#=0[0-9]//g



:[?12l[?25hs/\%#=1[0-9]//g



:[?12l[?25hs/\%#=2[0-9]//g



:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\o//g



:[?12l[?25hs/\%#=1\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l

[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\x//g




:[?12l[?25hs/\%#=1\x//g




:[?12l[?25hs/\%#=2\x//g




:[?12l[?25hs/\%#=0[0-9A-Fa-f]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-9A-Fa-f]//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\w//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\w//g





:[?12l[?25hs/\%#=1[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=2[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\h//g




:[?12l[?25hs/\%#=1\h//g




:[?12l[?25hs/\%#=2\h//g




:[?12l[?25hs/\%#=0[A-Za-z_]//g




:[?12l[?25hs/\%#=1[A-Za-z_]//g




:[?12l[?25hs/\%#=2[A-Za-z_]//g




:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\a//g




:[?12l[?25hs/\%#=1\a//g




:[?12l[?25hs/\%#=2\a//g




:[?12l[?25hs/\%#=0[A-Za-z]//g




:[?12l[?25hs/\%#=1[A-Za-z]//g




:[?12l[?25hs/\%#=2[A-Za-z]//g




:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\l//g



:[?12l[?25hs/\%#=1\l//g



:[?12l[?25hs/\%#=2\l//g



:[?12l[?25hs/\%#=0[a-z]//g



:[?12l[?25hs/\%#=1[a-z]//g



:[?12l[?25hs/\%#=2[a-z]//g



:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\u//g



:[?12l[?25hs/\%#=1\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l



~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l

[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\%204l^\t...//g



:[?12l[?25hs/\%#=1\%205l^\t...//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\%206l^\t...//g
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 99 lines, 4269 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test36 = test61; then \
#	  if diff test.out test36.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test36.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test37.failed test.ok test.out X* viminfo
cp test37.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test37.in" 116 lines, 3262 charactersTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vim

:set noscrollbind

:set scrollopt=ver,jump

:set scrolloff=2

:set nowrap

:set noequalalways

:set splitbelow

:" TEST using two windows open to one buffer, one extra empty window

:split

:new

^Wt:

:resize 8

/^start of window 1$/

zt:

:set scrollbind

^Wj:

:resize 7

/^start of window 2$/

zt:

:set scrollbind

:" -- start of tests --[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below![?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 1498 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTHk^WtH^WjHyy^Wbp^Wtyy^Wbp:

^Wt:set noscb

ggL^Wj:set noscb

ggL:set scb

^Wt:set scb

^WtG^WjG^Wt:syncbind

Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out" Write contents of this file

:qa!

ENDTEST





start of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt=ver,jump
[?25l[?12l[?25h[?25l:[?12l[?25hset scrolloff=2
[?25l[?12l[?25h[?25l:[?12l[?25hset nowrap
[?25l[?12l[?25h[?25l:[?12l[?25hset noequalalways
[?25l[?12l[?25h[?25l:[?12l[?25hset splitbelow
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[?12l[?25h[?25l:[?12l[?25hsplit
[?25l^WtH3k^WtHyybp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out    " Write contents of this file

:qa!ENDTESTstart of window 1. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02test37.in                                                                       Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out     " Write contents of this file

:qa!ENDTESTstart of window 11122

test37.in                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l:w! test.out             " Write contents of this file

:qa!ENDTESTtest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 8
[?25l:" ***** done with tests *****w! test.out             " Write contents of this file

:qa!ENDTESTstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

test37.in                                                                       :" ***** done with tests *****:w! test.out             " Write contents of this fileqa!ENDTESTstart of window 1[?12l[?25h[?25l/[?12l[?25h^start of window 1$/
[?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 7
[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lend of window 1start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[?12l[?25h[?25l

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h



[?25l. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[?12l[?25htest37.in                                                                        [No Name]                                                                       [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[+][?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    





[?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l2[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08440505060607070808090900[?12l[?25htest37.in                                                                        test37.in                                                                       test37.in                                                                       test37.in                                                                        test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       test37.in                                                                        test37.in                                                                        test37.in                                                                       test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0656789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415UTSRQPONMLKJIHGREDCBA9876543210 09101112131415[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25h[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" ****** tests using two different buffers *****
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25lstart of window 20000000000[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[?12l[?25h[?25l:[?12l[?25hnew
[?25ltest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        test37.in                                                                        [No Name]                                                                       [?25l4 more lines[+][?12l[?25h





[?25l18 more linesstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l/[?12l[?25h^start of window 1$/
[?25lsearch hit BOTTOM, continuing at TOPENDTESTstart of window 1010102020303[?12l[?25h[?25l

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h





[?25l. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    



[?25l. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l440505060607070808090900. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

46 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

56 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06UTSRQPONMLKJIHGREDCBA9876543210 07[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415



UTSRQPONMLKJIHGREDCBA9876543210 0910111213141516[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST syncbind
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST:so small.vim:set noscrollbind:set scrollopt=ver,jump:set scrolloff=2:set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 201010202[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25h[?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vimset noscrollbindset scrollopt=ver,jump

:set scrolloff=2set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lzt:

:set scrollbind

^Wj:

:resize 7. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

^Wj:
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" ***** done with tests *****
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out             " Write contents of this file
[?25l"test.out" [New File] 33 lines, 1329 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test37 = test61; then \
#	  if diff test.out test37.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test37.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test38.failed test.ok test.out X* viminfo
cp test38.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test38.in" 35 lines, 455 charactersTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 407 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTopq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25l^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST

[?12l[?25h[?25lTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz[?12l[?25h[?25l

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l

abcdefghijk      lmn    opq rstuvwxyz[?12l[?25h[?25l:[?12l[?25hset ai
[?25l[?12l[?25h[?25l:[?12l[?25hset bs=2
[?25l[?12l[?25h[?25l 1

 A BCDEFGHIJ    KL        MNOPQR[?12l[?25h[?25l:[?12l[?25hka
[?25l[?12l[?25h[?25labcdefghijk      lmn    opq rstuvwxyz[?12l[?25h

[?25l 1[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25lab      cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB      IJKLMNO QR[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 13 lines, 107 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test38 = test61; then \
#	  if diff test.out test38.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test38.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test39.failed test.ok test.out X* viminfo
cp test39.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test39.in" 118 lines, 2435 charactersTest Visual block mode commands

And test "U" in Visual mode, also on German sharp S.



#define BO_ALL      0x0001

#define BO_BS0x0002

#define BO_CRSR     0x0004



STARTTEST

:so small.vim

:so mbyte.vim

:" This only works when 'encoding' is "latin1", don't depend on the environment

:set enc=latin1

/^abcde

:" Test shift-right of a block

jllll^Vjj>wll^Vjlll>

:" Test shift-left of a block

G$hhhh^Vkk<

:" Test block-insert

Gkl^VkkkIxyz^[

:" Test block-replace

Gllll^Vkkklllrq

:" Test block-change[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 75 lines, 2061 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h[?25l/[?12l[?25h^abcde
[?25lbbbb

cccc

dddd



yaaa


bbb



A23

4567



B23

4567



C23

4567



abcdefghijklm[?12l[?25h[?25l

:[?12l[?25h" Test shift-right of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25habcd[?25l[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

3 lines >ed 1 time        efghijklm

abcd        efghijklm

abcd        efghijklm[?12l[?25h     ef[?25l[?12l[?25h[?25lg[?12l[?25h[?25lhg[?12l[?25h[?25lih[?12l[?25h[?25lji[?12l[?25h[?25l        ghijklm        ghijklm[?12l[?25h[?25l:[?12l[?25h" Test shift-left of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25h[?25l[?12l[?25h[?25li[?12l[?25h[?25l [?12l[?25h[?25l





3 lines <ed 1 timeef    efghijklmi[?12l[?25h[?25l:[?12l[?25h" Test block-insert
[?25l[?12l[?25h

a[?25l[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25l

ab

ab

abxyzbcdefghijklm

axyzbcd

axyzbcd

axyzbcd[?12l[?25h

a[?25l:[?12l[?25h" Test block-replace
[?25l[?12l[?25h





abcd[?25l[?12l[?25h[?25le[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lbccf[?12l[?25h[?25lcddg[?12l[?25h[?25ld  h[?12l[?25h[?25lqqqq

axyzqqqq

axyzqqqq

abcdqqqq[?12l[?25h

axyz[?25l:[?12l[?25h" Test block-change
[?25l[?12l[?25h



[?25l[?12l[?25h[?25lj[?12l[?25h[?25li[?12l[?25h[?25l     ghijkl[?12l[?25h[?25lef  gkl[?12l[?25h[?25lmnomnomno[?12l[?25h[?25l:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [New File] 5 lines, 108 characters written[?12l[?25h[?25l:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[?12l[?25h[?25l/[?12l[?25h^aaaa/
[?25lsearch hit BOTTOM, continuing at TOPaaaaaa

bbbbbb

cccccc

ddddddsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right>  \<Esc>"
[?25l  aaa

bbb  bbb

ccc  ccc

ddd  ddd[?12l[?25h[?25l:[?12l[?25h/^aa/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 37 characters appended[?12l[?25h[?25l/[?12l[?25hxaaa$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l<p>xaaa

<p>bbbb

<p>cccc

<p>dddd[?12l[?25h[?25l:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 33 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[?12l[?25h[?25l/[?12l[?25h^A23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[?12l[?25h[?25l/[?12l[?25h^B23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[?12l[?25h[?25l/[?12l[?25h^C23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25lab

456ab7[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all enc=utf-8
[?25laaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa

<bf><bf><bf>

bbb



A23ab

4567ab



B23 ab

4567ab



C23ab

456ab7[?12l[?25h[?25l





:[?12l[?25h/\t\tline
[?25lsearch hit BOTTOM, continuing at TOPline1line2line3search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25lxxx[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 4 lines, 49 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25lx   line1x   line2x   line3[?12l[?25h[?25l:[?12l[?25hset ve= enc=latin1
[?25lx     x   line1x     x   line2x     x   line3



aaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa


bbb



A23ab

4567ab



B23 ab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l[?12l[?25h[?25lC23ab

456ab7



axyzbcdefghijklm

axyzqqqq   mnoghijklm

axyzqqqqef mnoghijklm

axyzqqqqefgmnoklm

abcdqqqqijklm[?12l[?25h[?25l


[?12l[?25hthe [?25lYOUTUSSEUU end
the [?12l[?25h

the [?25l

:[?12l[?25h" gUfx must uppercase until x, inclusive.
[?25l[?12l[?25h[?25l
- y[?25lOUSSTUSSEXu -
- y[?12l[?25h[?25l


:[?12l[?25h" VU must uppercase a whole line
[?25l[?12l[?25h[?25l

[?12l[?25h[?25lTHE YOUTUSSEUU END
[?12l[?25h

[?25l

:[?12l[?25h" same, when it's the last line in the buffer
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

11[?12l[?25h[?25l
11[?12l[?25h[?25l
111THE YOUTUSSEUU END
[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l111THE YOUTUSSEUU END


[?25l

:[?12l[?25h" Uppercase two lines
[?25l[?12l[?25h[?25l

blah didoh dut[?12l[?25h[?25l
doh dut [?12l[?25h[?25lblah di t[?12l[?25h[?25l
BLAH DIDOH DUT[?12l[?25h[?25l


:[?12l[?25h" Uppercase part of two lines
[?25l[?12l[?25h[?25l
~                                                                               [?12l[?25h[?25l


33[?12l[?25h

333the yo[?12l[?25h[?25lut[?12l[?25h[?25lUTUSSEUU END

333THE YOUTU[?12l[?25h[?25l



:[?12l[?25h" visual replace using Enter or NL
[?25l[?12l[?25h

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^M65

98^M65

98^M65[?12l[?25h

98

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^@65

98^@65

98^@65[?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cpos=getpos("'>")
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l

col:4 off:0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[?12l[?25h[?25l:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h4,7y
[?25l4 lines yanked[?12l[?25h[?25l

4 more lines

4 more lines[?12l[?25h[?25l

#define BO_ALL      0x0001[?12l[?25h[?25l

:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l    0x0001

#define BO_BS0x0002

#define BO_CRSR0x0004[?12l[?25h[?25l





:[?12l[?25h/^the/,$w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 31 lines, 322 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test39 = test61; then \
#	  if diff test.out test39.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test39.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test40.failed test.ok test.out X* viminfo
cp test40.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ops.o ops.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test40.in" 63 lines, 1536 charactersTest for "*Cmd" autocommands



STARTTEST

:so small.vim

:/^start/,$w! Xxx" write lines below to Xxx

:au BufReadCmd XtestA 0r Xxx|$del

:e XtestA" will read text of Xxd instead

:au BufWriteCmd XtestA call append(line("$"), "write")

:w" will append a line to the file

:r XtestA" should not read anything

:" now we have:

:" 1     start of Xxx

:" 2test40

:" 3     end of Xxx

:" 4     write

:au FileReadCmd XtestB '[r Xxx

:2r XtestB" will read Xxx below line 2 instead

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test40

:" 5     end of Xxx

:" 6     end of Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for "*Cmd" autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1455 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$w >>test.out" append "end of Xxx" to test.out

:au BufReadCmd XtestE 0r test.out|$del

:sp XtestE" split window with test.out

5Goasdf^[^W^W:"

:au BufWriteCmd XtestE w! test.out

:wall" will write other window to test.out

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test401

:" 5     end of Xxx

:" 6     asdf

:" 7     end of Xxx

:" 8     write

:" 9test401

:" 10    end of Xxx

:" 11    end of Xxx

:qa!

ENDTEST



start of Xxxtest40

end of Xxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$w! Xxx^I^I" write lines below to Xxx
[?25l"Xxx" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[?12l[?25h[?25l:[?12l[?25he XtestA^I^I^I" will read text of Xxd instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxx        test40end of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[?12l[?25h[?25l:[?12l[?25hw^I^I^I^I" will append a line to the file
[?25lwrite[?12l[?25h[?25l:[?12l[?25hr XtestA^I^I^I" should not read anything
[?25lE484: Can't open file XtestA[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" now we have:
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h2r XtestB^I^I^I" will read Xxx below line 2 instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxxtest40

end of Xxx[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[?12l[?25h[?25ltest401[?12l[?25h[?25l:[?12l[?25h4,5w XtestC^I^I^I" will copy lines 4 and 5 to the end
[?25l        test401end of Xxx[?12l[?25h[?25l:[?12l[?25hr XtestC^I^I^I" should not read anything
[?25lE484: Can't open file XtestC[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw >>XtestD^I^I^I" will write all lines to test.out
[?25l"test.out" [New File] 9 lines, 91 characters written[?12l[?25h[?25l:[?12l[?25h$r XtestD^I^I^I" should not read anything
[?25lE484: Can't open file XtestD[?12l[?25h[?25l:[?12l[?25h$w >>test.out^I^I^I" append "end of Xxx" to test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[?12l[?25h[?25l:[?12l[?25hsp XtestE^I^I^I" split window with test.out
[?25l"test.out" 10 lines, 102 charactersend of XxxXtestE                                                                          end of Xxxwrite        test401end of XxxXtestA                                                                          [?12l[?25h[?25lasdf[+][?12l[?25hXtestE [+]                                                                       XtestA                                                                          [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hwall^I^I^I^I" will write other window to test.out
[?25l"test.out" 11 lines, 107 characters written   [?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iasdf
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 10^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 11^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test40 = test61; then \
#	  if diff test.out test40.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test40.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test41.failed test.ok test.out X* viminfo
cp test41.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test41.in" 24 lines, 421 charactersTest for writing and reading a file of over 100 Kbyte



1 line: "This is the start"

3001 lines: "This is the leader"

1 line: "This is the middle"

3001 lines: "This is the trailer"

1 line: "This is the end"



STARTTEST

:%d

aThis is the start

This is the leader

This is the middle

This is the trailer

This is the end^[kY3000p2GY3000p

:w! Xtest

:%d

:e! Xtest

:.w! test.out

3003G:.w >>test.out

6005G:.w >>test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file of over 100 Kbyte[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 13 lines, 196 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lThis is the start

This is the leaderThis is the middleThis is the trailerThis is the end[?12l[?25h[?25l3000 more linestrailer

This is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailer[?12l[?25h[?25lleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleader[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 6005 lines, 117092 characters written[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" 6005 lines, 117092 charactersThis is the start

This is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leader[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 18 characters written[?12l[?25h[?25lThis is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the middle

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 19 characters appended[?12l[?25h[?25lThis is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the end
[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 16 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test41 = test61; then \
#	  if diff test.out test41.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test41.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test42.failed test.ok test.out X* viminfo
cp test42.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test42.in" 130 lines, 2368 charactersTest for writing and reading a file starting with a BOM



STARTTEST

:so mbyte.vim

:set encoding=utf-8

:set fileencodings=ucs-bom,latin-1

:set ff=unix ffs=unix" This changes the file for DOS and MAC

:" --- Write the test files

:/^latin-1$/+1w! Xtest0

:/^utf-8$/+1w! Xtest1

:/^utf-8-err$/+1w! Xtest2

:/^ucs-2$/+1w! Xtest3

:/^ucs-2le$/+1w! Xtest4

:" Need to add a NUL byte after the NL byte

:set bin

:e! Xtest4" Ignore change from setting 'ff'

o^V^@^[:set noeol

:w

:set ffs& nobinary" Allow default test42.in format

:e #

:set ff=unix" Format for files to write

:/^ucs-4$/+1w! Xtest5

:/^ucs-4le$/+1w! Xtest6[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file starting with a BOM[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2116 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1


utf-8

utf-8

utf-8-err

utf-8~@err

ucs-2


ucs-2le


[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1

<fe><fe>latin-1

utf-8

<feff>utf-8

utf-8-err

<feff>utf-8<80>err

ucs-2

<fe><ff>^@u^@c^@s^@-^@2^@

ucs-2le

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix ffs=unix           " This changes the file for DOS and MAC
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Write the test files
[?25l[?12l[?25h[?25l:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4                      " Ignore change from setting 'ff'
[?25l"Xtest4" 1 line, 17 characters<ff><fe>u^@c^@s^@-^@2^@l^@e^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

[?25l^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hset ffs& nobinary              " Allow default test42.in format
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25hset ff=unix                    " Format for files to write
[?25l[?12l[?25h[?25l:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [converted][New File] 1 line, 30 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [converted][New File] 1 line, 35 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6                      " ! for when setting 'ff' is a change
[?25l"Xtest6" 1 line, 33 characters<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

~   [?25l
^@^@^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest0
[?25l"Xtest0" [converted] 1 line, 12 charactersþþlatin-1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lþþlatin-1

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 12 characters appended[?12l[?25h[?25l:[?12l[?25hset bomb fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest1
[?25l"Xtest1" 1 line, 9 charactersutf-8[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-8


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest2
[?25l"Xtest2" [converted] 1 line, 17 charactersutf-8<80>err
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8<80>err

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 17 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest3
[?25l"Xtest3" [converted] 1 line, 8 charactersucs-2[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [converted][New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4
[?25l"Xtest4" [converted] 1 line, 10 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest5
[?25l"Xtest5" [converted] 1 line, 10 characters4[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6
[?25l"Xtest6" [converted] 1 line, 12 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check the files written with BOM
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 35 lines, 275 characters  fileencoding=latin1nobomb<fe><fe>latin-1  fileencoding=utf-8  bombutf-8  fileencoding=latin1nobomb<feff>utf-8<80>err  fileencoding=utf-16  bombucs-2  fileencoding=utf-16le[?12l[?25h[?25l:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" 1 line, 10 charactersbomb

ucs-2lefileencoding=ucs-4

  bomb

ucs-4fileencoding=ucs-4le

  bomb

ucs-4le

<fe><fe>latin-1[?12l[?25h[?25l

:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" 1 line, 9 characters

<feff>utf-8[?12l[?25h[?25l

:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" 1 line, 17 characters

utf-8<80>err[?12l[?25h[?25l

:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" 1 line, 14 characters

<fe><ff>^@u^@c^@s^@-^@2^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [Incomplete last line] 2 lines, 18 characters

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" 1 line, 28 characters^@

^@^@<fe><ff>^@^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [Incomplete last line] 2 lines, 36 characters

<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@[?12l[?25h[?25l

:[?12l[?25hset nobin ff&               " Write the file in default format
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 44 lines, 409 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test42 = test61; then \
#	  if diff test.out test42.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test42.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test43.failed test.ok test.out X* viminfo
cp test43.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test43.in" 34 lines, 473 charactersTests for regexp with various magic settings.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:$

:set undolevels=100

dv?bar?

Yup:"

:?^1?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 268 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l

1 a aa abb abbccc[?12l[?25h[?25l

/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l

2 d dd dee deefff[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l

3 g gg ghh ghhiii[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\mj*k\{2}l\+/e
[?25l

4 j jj jkk jkklll[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\vm*n{2}o+/e
[?25l

5 m mm mnn mnnooo[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V^aa$
[?25l

6 x ^aa$ x[?12l[?25h[?25laa$ x[?12l[?25h[?25l

:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l

7 (a)(b) abbaa[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l

8 axx [ab]xx[?12l[?25h[?25lab]x[?12l[?25h[?25l

:[?12l[?25h$
[?25l9 foobar[?12l[?25h[?25l

:[?12l[?25hset undolevels=100
[?25l[?12l[?25h[?25l?[?12l[?25hbar?
[?25l~                                                                               [?12l[?25h[?25l



1 more line; before #2  0 seconds agobar[?12l[?25h[?25l

9 foo
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 11L, 137C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test43 = test61; then \
#	  if diff test.out test43.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test43.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test44.failed test.ok test.out X* viminfo
cp test44.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test44.in" 81 lines, 1492 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test99 for exactly the same test with re=2.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=1

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1023 characters written[?12l[?25h[?25l:set ff& cpo+=A



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l:[?12l[?25h" c
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


:[?12l[?25h" d
[?25l[?12l[?25h[?25l/[?12l[?25h[\u4f7f\u5929]\+
[?25l


:[?12l[?25h" e
[?25l[?12l[?25h[?25l/[?12l[?25h\%U12345678
[?25l


:[?12l[?25h" f
[?25l[?12l[?25h[?25l/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


:[?12l[?25h" g
[?25l[?12l[?25h[?25l/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       e y f z

g abb



test.out [+]                                                                    [?12l[?25h[?25l:[?12l[?25h$put =['dog(a', 'cat(']
[?25ldog(acat([+][?12l[?25h[?25l/[?12l[?25h(/e+
[?25l/(/e+1
[?12l[?25h[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hbd!
[?25l1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii


e y



[?25l

[?12l[?25h[?25la[?12l[?25h[?25l

cat(
[?12l[?25h[?25l

:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test44 = test61; then \
#	  if diff test.out test44.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test44.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test45.failed test.ok test.out X* viminfo
cp test45.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test45.in" 90 lines, 1953 charactersTests for folding. vim: set ft=vim :



STARTTEST

:so small.vim

:" We also need the +syntax feature here.

:if !has("syntax")

   e! test.ok

   w! test.out

   qa!

:endif

:" basic test if a fold can be created, opened, moving to the end and closed

/^1

zf2j:call append("$", "manual " . getline(foldclosed(".")))

zo:call append("$", foldclosed("."))

]z:call append("$", getline("."))

zc:call append("$", getline(foldclosed(".")))

:" test folding with markers.

:set fdm=marker fdl=1 fdc=3

/^5

:call append("$", "marker " . foldlevel("."))

[z:call append("$", foldlevel("."))

jo{{ ^[r{jj:call append("$", foldlevel("."))

kYpj:call append("$", foldlevel("."))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for folding. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 73 lines, 1820 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:new

iTest fdm=indent and :move bug END

line2Test fdm=indent STARTline3line4^[

:set fdm=indent

:1m1

2jzc:m0

:%w >> test.out

:qa!

ENDTEST



1 aa

2 bb

3 cc

4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We also need the +syntax feature here.
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("syntax")
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   w! test.out


[?25l:  [?12l[?25h   qa!


[?25l:  [?12l[?25h:endif
[?25l:new

iTest fdm=indent and :move bug END

line2Test fdm=indent START[?12l[?25h[?25l:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[?12l[?25h[?25l1 aa2 bb3 cc4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h[?25l:[?12l[?25hcall append("$", foldclosed("."))
[?25l[?12l[?25h



[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with markers.
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l   :new

   iTest fdm=indent and :move bug END

   line2

           Test fdm=indent START

           line3

           line4^[

   :set fdm=indent

   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa   2 bb   3 cc-  4 dd {{{

|- 5 ee {{{ }}}

|  6 ff }}}

   7 gg

   8 hh

   9 ii

   a jj[?12l[?25h[?25l/[?12l[?25h^5
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l{{ |  6 ff }}}[?12l[?25h[?25l-{|

|

|

|[?12l[?25h[?25l





:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l6 ff }}}

 7 gg

 8 hh[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with indent
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=indent sw=2
[?25l-++---  3 lines: Test fdm=indent START-----------------------------------------:set fdm=indent:1m12jzc:m0%w >> test.out:qa!ENDTEST1 aa2 bb3 cc4 dd {{{5 ee {{{ }}}

 {{{  6 ff }}}  6 ff }}}

  7 gg 8 hh9 iia jj[?12l[?25h[?25l/[?12l[?25h^2 b
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l
-  2 bb[?12l[?25h[?25l
|-    3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test syntax folding
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=syntax fdl=0
[?25l          Test fdm=indent START        line3        line4^[:set fdm=indent1m12jzc:m0:%w >> test.out:qa!ENDTEST

   1 aa  2 bb    3 cc4 dd {{{5 ee {{{ }}}{{{6 ff }}}6 ff }}}7 gg8 hh[?12l[?25h[?25l:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l++--  8 lines: 4 dd ----------------------------------------------------------a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[?12l[?25h[?25l   1 aa

   marker 2

   1

   1

   0

   indent 2

   1[?12l[?25h[?25l:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l
--4 dd {{{commentstart  ||5 ee {{{ }}}

||{{{||6 ff }}}

||6 ff }}}||7 gg

||8 hh

||9 ii

||a jj||b kk

||last

||manual 1 aa

||-1||3 cc[?12l[?25h[?25l commentend- 

|-



| 

  

  

  

  

  

  [?12l[?25h[?25l:[?12l[?25hset fdl=1
[?25l++---  3 lines: 5 ee --------------------------------------------------------- 6 ff }}}++---  2 lines: 7 gg----------------------------------------------------------9 ii  a jj

  b kk

 lastmanual 1 aa-13 cc1 aamarker 21[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hset fdl=0
[?25l++--  8 lines: 4 dd commentstart  commentend----------------------------------  a jj b kk  last manual 1 aa-13 cc1 aarker 2110indent[?12l[?25h[?25l
-4 dd {{{commentstart  commentend|-5 ee {{{ }}}

||{{{||6 ff }}}

|6 ff }}}|-7 gg

||8 hh

|9 iia jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{

|| 6 ff }}}

|  6 ff }}}

|- 7 gg

|| 8 hh

|  9 ii

   a jj

   b kk

   last

   manual 1 aa

   -1

   3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test expression folding
[?25l[?12l[?25h[?25l:[?12l[?25hfun Flvl()
[?25l

:  [?12l[?25h  let l = getline(v:lnum)


[?25l:  [?12l[?25h  if l =~ "bb$"


[?25l:    [?12l[?25h    return 2


[?25l:    [?12l[?25h  elseif l =~ "gg$"


[?25l:    [?12l[?25h    return "s1"


[?25l:    [?12l[?25h  elseif l =~ "ii$"


[?25l:    [?12l[?25h    return ">2"


[?25l:    [?12l[?25h  elseif l =~ "kk$"


[?25l:    [?12l[?25h    return "0"


[?25l:    [?12l[?25h  endif


[?25l:  [?12l[?25h  return "="


[?25l:  [?12l[?25hendfun
[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{[?12l[?25h[?25l:[?12l[?25hset fdm=expr fde=Flvl()
[?25l++-- 11 lines: 2 bb-----------------------------------------------------------b kk last  manual 1 aa  -1  3 cc 1 aa  marker 2

  1 10indent 21++--  4 lines: folding 9 ii---------------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l/[?12l[?25hbb$
[?25lsearch hit BOTTOM, continuing at TOP--  2 bb||    3 cc

||4 dd {{{commentstart  commentend

||5 ee {{{ }}}

||{{{

||6 ff }}}

||6 ff }}}

||7 gg|8 hh

|++---  2 lines: 9 ii----------------------------------------------------------b kklastmanual 1 aa

 -13 cc1 aa[?12l[?25h[?25l:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hhh$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hii$
[?25l-9 ii||a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hkk$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [New File] 18 lines, 96 characters written[?12l[?25h[?25l:[?12l[?25hdelfun Flvl
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l   

   

   

   ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            [No Name]                                                                       5 ee {{{ }}}{{{6 ff }}}|6 ff }}}|7 gg 8 hh

|-9 ii

||a jjb kklast

test45.in [+]                                                                   [?12l[?25h[?25lTest fdm=indent and :move bug ENDline2        Test fdm=indent START        line3        line4[+][?12l[?25h[?25l:[?12l[?25hset fdm=indent
[?25l++--  3 lines: Test fdm=indent START------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l:[?12l[?25h1m1
[?25l[?12l[?25h[?25l:[?12l[?25hm0
[?25l3 lines moved++--  3 lines: Test fdm=indent START------------------------------------------Test fdm=indent and :move bug END

 line2[?12l[?25h[?25l:[?12l[?25h%w >> test.out
[?25l"test.out" 5 lines, 77 characters appendedtest.out [+]]  [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test45 = test61; then \
#	  if diff test.out test45.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test45.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test48.failed test.ok test.out X* viminfo
cp test48.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test48.in" 83 lines, 1658 charactersThis is a test of 'virtualedit'.



STARTTEST

:so small.vim

:set noswf

:set ve=all

-dgg

:"

:"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".

:"    Repeating CTRL-N fixes it. (Mary Ellen Foster)

2/w

C^N^[

:"

:"   Using "C" then then <CR> moves the last remaining character to the next

:"    line.  (Mary Ellen Foster)

j^/are

C^Mare belong to vim^[

:"

:"   When past the end of a line that ends in a single character "b" skips

:"    that word.

^$15lbC7^[

:"

:"   Make sure 'i' works[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of 'virtualedit'.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 61 lines, 1442 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set display=

:"

:"   Test for ^Y/^E due to bad w_virtcol value, reported by

:"   Roy <royl@netropolis.net>.

^O^[3li^E^[4li^E^[4li^E   <-- should show the name of a noted text editor^[

^o^[4li^Y^[4li^Y^[4li^Y   <-- and its version number^[-dd

:"

:" Test for yanking and pasting using the small delete register

gg/^foo

dewve"-p

:wq! test.out

ENDTEST

foo, bar

keyword keyw

all your base are belong to us

1 2 3 4 5 6

'i'

'C'

'a'

'A'

'D'

this is a test

this is a test[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswf
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l65 fewer linesthis is a test

"r"

"r"

a^Vb^Msd

abcv6efi.him0kl





~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               65 fewer lines[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[?12l[?25h[?25l:[?12l[?25h"    Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[?12l[?25h[?25l/[?12l[?25hw
[?25l[?12l[?25h[?25l$Scanning tags.
The only matchword[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Using "C" then then <CR> moves the last remaining character to the next
[?25l[?12l[?25h[?25l:[?12l[?25h"    line.  (Mary Ellen Foster)
[?25l[?12l[?25h
[?25l/[?12l[?25hare
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l$are belong to vim

1 2 3 4 5 6

'i

'C

'a

'A

'D'this is a test



"r"     

a^Vb^Msdabcv6efi.him0kl[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   When past the end of a line that ends in a single character "b" skips
[?25l[?12l[?25h[?25l:[?12l[?25h"    that word.
[?25l[?12l[?25h
[?25l$7[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'i' works
[?25l[?12l[?25h
'i'   [?25l<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'C' works
[?25l[?12l[?25h
'C'   [?25l$<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'a' works
[?25l[?12l[?25h
'a'   [?25l <-- should be 4 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'A' works
[?25l[?12l[?25h
'A'   [?25l<-- should be 0 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'D' works
[?25l[?12l[?25h
'D'   [?25l<-- 'D' should be intact[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for yank bug reported by Mark Waggoner.
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h
[?25l[?12l[?25h[?25laaa[?12l[?25h[?25laaablock of 4 lines yanked[?12l[?25h[?25l3 more linesa

aa [?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" beyond the end of the line
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l/[?12l[?25h^"r"
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h"r"    [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" on a tab
[?25l[?12l[?25h[?25l:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[?12l[?25h
"r"  [?25lx[?12l[?25h[?25lx  <-- should be '  x  '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test to make sure 'x' can delete control characters
[?25l[?12l[?25h[?25l:[?12l[?25hset display=uhex
[?25l<16>b<0d>sd[?12l[?25h
[?25l<16>b<0d>sd[?12l[?25h[?25lb<0d>sd[?12l[?25h[?25l<0d>sd[?12l[?25h[?25lsd[?12l[?25h[?25ld[?12l[?25h[?25l[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[?25l:[?12l[?25hset display=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[?12l[?25h[?25l:[?12l[?25h"   Roy <royl@netropolis.net>.
[?25l[?12l[?25h
[?25l[?12l[?25h   [?25lv[?12l[?25hv   [?25li[?12l[?25hi   [?25lm   <-- should show the name of a noted text editor[?12l[?25h
[?25l[?12l[?25h    [?25l6[?12l[?25h6   [?25l.[?12l[?25h.   [?25l0   <-- and its version number[?12l[?25h[?25l

[?12l[?25h

    [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[?12l[?25h[?25l/[?12l[?25h^foo
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l, bar[?12l[?25h, [?25l[?12l[?25h[?25lba[?12l[?25h[?25l[?12l[?25h[?25lfoo[?12l[?25h

keyw[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 23 lines, 479 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test48 = test61; then \
#	  if diff test.out test48.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test48.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test51.failed test.ok test.out X* viminfo
cp test51.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test51.in" 36 lines, 809 charactersTests for ":highlight". vim: set ft=vim :



STARTTEST

:so small.vim

:" basic test if ":highlight" doesn't crash

:highlight

:hi Search

:" test setting colors.

:" test clearing one color and all doesn't generate error or warning

:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#000ff00 guibg=Cyan

:hi Group2 term= cterm=

:hi Group3 term=underline cterm=bold

:redir! >test.out

:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for ":highlight". vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 31 lines, 747 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[?12l[?25h[?25l:[?12l[?25hhighlight
[?25l

SpecialKey     xxx term=bold ctermfg=4 guifg=Blue


EndOfBuffer    xxx links to NonText


NonTextxxx term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue


Directory      xxx term=bold ctermfg=4 guifg=Blue


ErrorMsgxxx term=standout cterm=bold ctermfg=7 ctermbg=1 guifg=White


guibg=Red


IncSearch      xxx term=reverse cterm=reverse gui=reverse


Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


MoreMsgxxx term=bold ctermfg=2 gui=bold guifg=SeaGreen


ModeMsgxxx term=bold cterm=bold gui=bold


LineNrxxx term=underline ctermfg=3 guifg=Brown


CursorLineNr   xxx term=bold ctermfg=3 gui=bold guifg=Brown


Questionxxx term=standout ctermfg=2 gui=bold guifg=SeaGreen


StatusLine     xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse


StatusLineNC   xxx term=reverse cterm=reverse gui=reverse


VertSplit      xxx term=reverse cterm=reverse gui=reverse


Titlexxx term=bold ctermfg=5 gui=bold guifg=Magenta


Visualxxx term=reverse cterm=reverse guibg=LightGrey


VisualNOS      xxx cleared


WarningMsg     xxx term=standout ctermfg=1 guifg=Red


WildMenuxxx term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow


Foldedxxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue


guibg=LightGrey


FoldColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


DiffAddxxx term=bold ctermbg=4 guibg=LightBlue


DiffChange     xxx term=bold ctermbg=5 guibg=LightMagenta


DiffDelete     xxx term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=Blue


guibg=LightCyan


DiffTextxxx term=reverse cterm=bold ctermbg=1 gui=bold guibg=Red


SignColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


Concealxxx ctermfg=7 ctermbg=0 guifg=LightGrey guibg=DarkGrey


SpellBadxxx term=reverse ctermbg=1 gui=undercurl guisp=Red


SpellCapxxx term=reverse ctermbg=4 gui=undercurl guisp=Blue


SpellRare      xxx term=reverse ctermbg=5 gui=undercurl guisp=Magenta


SpellLocal     xxx term=underline ctermbg=6 gui=undercurl guisp=DarkCyan


Pmenuxxx ctermfg=0 ctermbg=5 guibg=LightMagenta


PmenuSelxxx ctermfg=0 ctermbg=7 guibg=Grey


PmenuSbar      xxx ctermbg=7 guibg=Grey


PmenuThumb     xxx ctermbg=0 guibg=Black


TabLinexxx term=underline cterm=underline ctermfg=0 ctermbg=7


gui=underline guibg=LightGrey


TabLineSel     xxx term=bold cterm=bold gui=bold


TabLineFill    xxx term=reverse cterm=reverse gui=reverse


CursorColumn   xxx term=reverse ctermbg=7 guibg=Grey90


CursorLine     xxx term=underline cterm=underline guibg=Grey90


ColorColumn    xxx term=reverse ctermbg=1 guibg=LightRed


MatchParen     xxx term=reverse ctermbg=6 guibg=Cyan


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Search
[?25l

Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" test setting colors.
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" test clearing one color and all doesn't generate error or warning
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0


0ff00 guibg=Cyan
[?25lE418: Illegal value: guifg=#00ff00Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 term= cterm=
[?25lE418: Illegal value: cterm=


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx term=bold cterm=italic ctermfg=4 ctermbg=7


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3
[?25l

Group3xxx term=underline cterm=bold


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear NewGroup
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 NONE
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup[?12l[?25h[?25l

:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hhi Group3
[?25l

Group3xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Crash term='asdf
[?25lE475: Invalid argument: term='asdf


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l:hi NewGroup

:hi Group2

:hi Group3[?12l[?25h[?25l

:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 20 lines, 289 charactersNewGroup       xxx term=bold cterm=italic ctermfg=4 ctermbg=7Group2         xxx clearedGroup3         xxx term=underline cterm=boldNewGroup       xxx clearedGroup2         xxx clearedGroup2         xxx clearedGroup3         xxx clearedE475: Invalid argument: term='asdf

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l2
[?12l[?25h[?25l:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l3
[?12l[?25h[?25l:[?12l[?25h" filter out possibly translated error message
[?25l[?12l[?25h[?25l:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25lterm='asdf[?12l[?25h[?25l:[?12l[?25h" fix the fileformat
[?25l[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hwq!
[?25l"test.out" 20 lines, 271 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test51 = test61; then \
#	  if diff test.out test51.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test51.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test53.failed test.ok test.out X* viminfo
cp test53.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test53.in" 75 lines, 1763 charactersTests for string and html text objects. vim: set ft=vim :



Note that the end-of-line moves the cursor to the next test line.



Also test match() and matchstr()



STARTTEST

:so small.vim

/^start:/

da"

0va'a'rx

02f`da`

0fXdi"

03f'vi'ry

:set quoteescape=+*-

di`

$F"va"oha"i"rz

:"

/^<begin

jfXdit

0fXdit

fXdat

0fXdat[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for string and html text objects. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1237 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =match('abc', '$', 4, 1) " -1

:put =match('abc', '\zs', 0, 1) " 0

:put =match('abc', '\zs', 0, 2) " 1

:put =match('abc', '\zs', 0, 3) " 2

:put =match('abc', '\zs', 0, 4) " 3

:put =match('abc', '\zs', 0, 5) " -1

:put =match('abc', '\zs', 1, 1) " 1

:put =match('abc', '\zs', 2, 1) " 2

:put =match('abc', '\zs', 3, 1) " 3

:put =match('abc', '\zs', 4, 1) " -1

:/^start:/,/^end:/wq! test.out

ENDTEST



start: "wo\"rd\\" foo

'foo' 'bar' 'piep'

bla bla `quote` blah

out " in "noXno"

"'" 'blah' rep 'buh'

bla `s*`d-`+++`l**` b`la

voo "nah" sdf " asdf" sdf " sdf" sd



<begin>

-<b>asdf<i>Xasdf</i>asdf</b>-[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l[?12l[?25h[?25lfo[?12l[?25h
[?25l[?12l[?25h[?25l'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l
xxxxxxxxxxxx
[?12l[?25h

[?25lblah[?12l[?25h
[?25l"[?12l[?25h
[?25l[?12l[?25h[?25l' rep[?12l[?25h[?25lyyyyy[?12l[?25h[?25l:[?12l[?25hset quoteescape=+*-
[?25l[?12l[?25h[?25l` b`la[?12l[?25h[?25l[?12l[?25h[?25l" sdf"[?12l[?25h[?25l" [?12l[?25h[?25l"[?12l[?25h[?25l asdf" sdf [?12l[?25h[?25lah" sdf "
voo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^<begin
[?25l[?12l[?25h

[?25l</i>asdf</b>-[?12l[?25h[?25l

-<b>asdX<i>a<i />sdf</i>asdf</b>-[?12l[?25h
[?25l</b>-[?12l[?25h[?25l

-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[?25lasdf</b>-[?12l[?25h[?25l

-<b>asdX<i>as<b />df</i>asdf</b>-[?12l[?25h
[?25l
--[?12l[?25h[?25l

-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l

</begin>[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l

b[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l

bc[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l

c[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l

a[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 45 lines, 284 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test53 = test61; then \
#	  if diff test.out test53.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test53.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test55.failed test.ok test.out X* viminfo
cp test55.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test55.in" 586 lines, 12256 charactersTests for List and Dictionary types.     vim: set ft=vim :



STARTTEST

:so small.vim

:fun Test(...)

:lang C

:" Creating List directly with different types

:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]

:$put =string(l)

:$put =string(l[-1])

:$put =string(l[-4])

:try

:  $put =string(l[-5])

:catch

:  $put =v:exception[:14]

:endtry

:" List slices

:$put =string(l[:])

:$put =string(l[1:])

:$put =string(l[:-2])

:$put =string(l[0:8])

:$put =string(l[8:-1])

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for List and Dictionary types.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 580 lines, 12170 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test(...)
[?25l

:  [?12l[?25h:lang C


[?25l:  [?12l[?25h:" Creating List directly with different types


[?25l:  [?12l[?25h:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:$put =string(l[-4])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-5])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List slices


[?25l:  [?12l[?25h:$put =string(l[:])


[?25l:  [?12l[?25h:$put =string(l[1:])


[?25l:  [?12l[?25h:$put =string(l[:-2])


[?25l:  [?12l[?25h:$put =string(l[0:8])


[?25l:  [?12l[?25h:$put =string(l[8:-1])


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" List identity


[?25l:  [?12l[?25h:let ll = l


[?25l:  [?12l[?25h:let lx = copy(l)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(l == ll) . (l isnot ll) . (l is ll) . (l == lx) . (l is lx) . (l


isnot lx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Creating Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}


[?25l:  [?12l[?25h:$put =string(d) . d.1


[?25l:  [?12l[?25h:$put =string(sort(keys(d)))


[?25l:  [?12l[?25h:$put =string (values(d))


[?25l:  [?12l[?25h:for [key, val] in items(d)


[?25l:    [?12l[?25h:  $put =key . ':' . string(val)


[?25l:    [?12l[?25h:  unlet key val


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:call extend  (d, {3:33, 1:99})


[?25l:  [?12l[?25h:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  call extend(d, {3:333,4:444}, "error")


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:call filter(d, 'v:key =~ ''[ac391]''')


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary identity


[?25l:  [?12l[?25h:let dd = d


[?25l:  [?12l[?25h:let dx = copy(d)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(d == dd) . (d isnot dd) . (d is dd) . (d == dx) . (d is dx) . (d


isnot dx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items with :unlet


[?25l:  [?12l[?25h:unlet l[2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:let l = range(8)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:unlet l[:3]


[?25l:    [?12l[?25h:unlet l[1:]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:$put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:unlet d.c


[?25l:  [?12l[?25h:unlet d[-1]


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:1]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:3]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:4]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:5]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-1:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-3:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-4:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-5:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-6:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" assignment to a list


[?25l:  [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:let [va, vb] = l[2:3]


[?25l:  [?12l[?25h:$put =va


[?25l:  [?12l[?25h:$put =vb


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l[1:1]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: let d[i] = 3000 - i


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[1400] . ' ' . d[1499]


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let n = d[1500]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =substitute(v:exception, '\v(.{14}).*( \d{4}).*', '\1\2', '')


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" lookup each items


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h: let i += 1


[?25l:  [?12l[?25h:" delete even items


[?25l:  [?12l[?25h:while i >= 2


[?25l:    [?12l[?25h: let i -= 2


[?25l:    [?12l[?25h: unlet d[i]


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =get(d, 1500 - 100, 'NONE') . ' ' . d[1]


[?25l:  [?12l[?25h:" delete odd items, checking value, one intentionally wrong


[?25l:  [?12l[?25h:let d[33] = 999


[?25l:  [?12l[?25h:let i = 1


[?25l:  [?12l[?25h:while i < 1500


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =i . '=' . d[i]


[?25l:      [?12l[?25h: else


[?25l:      [?12l[?25h:  unlet d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h: let i += 2


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =string(d)  " must be almost empty now


[?25l:  [?12l[?25h:unlet d


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary function


[?25l:  [?12l[?25h:let dict = {}


[?25l:  [?12l[?25h:func dict.func(a) dict


[?25l:    [?12l[?25h:  $put =a:a . len(self.data)


[?25l:    [?12l[?25h:endfunc


[?25l:    [?12l[?25h:let dict.data = [1,2,3]


[?25l:    [?12l[?25h:call dict.func("len: ")


[?25l:    [?12l[?25h:let x = dict.func("again: ")


[?25l:    [?12l[?25h:let Fn = dict.func


[?25l:    [?12l[?25h:call Fn('xxx')


[?25l:    [?12l[?25h:" 


[?25l:    [?12l[?25h:" Function in script-local List or Dict


[?25l:    [?12l[?25h:let g:dict = {}


[?25l:    [?12l[?25h:function g:dict.func() dict


[?25l:      [?12l[?25h:  $put ='g:dict.func'.self.foo[1].self.foo[0]('asdf')


[?25l:      [?12l[?25h:endfunc


[?25l:      [?12l[?25h:let g:dict.foo = ['-', 2, 3]


[?25l:      [?12l[?25h:call insert(g:dict.foo, function('strlen'))


[?25l:      [?12l[?25h:call g:dict.func()


[?25l:      [?12l[?25h:" 


[?25l:      [?12l[?25h:" Nasty: remove func from Dict that's being called (works)


[?25l:      [?12l[?25h:let d = {1:1}


[?25l:      [?12l[?25h:func d.func(a)


[?25l:[?12l[?25h:  return "a:". a:a


[?25l:[?12l[?25h:endfunc


[?25l:[?12l[?25h:$put =d.func(string(remove(d, 'func')))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used


)

[?25l:[?12l[?25h:let d = {1:1, 2:2}


[?25l:[?12l[?25h:let l = [4, d, 6]


[?25l:[?12l[?25h:let d[3] = l


[?25l:[?12l[?25h:let dc = deepcopy(d)


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let dc = deepcopy(d, 1)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:let l2 = [0, l, l, 3]


[?25l:[?12l[?25h:let l[1] = l2


[?25l:[?12l[?25h:let l3 = deepcopy(l2)


[?25l:[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1][0] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2]['6'][7] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2][6] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Unletting locked variables


[?25l:[?12l[?25h:$put ='Unletting:'


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]['6'][7]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2][6]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1][0]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables and :unlet or list / dict functions


[?25l:[?12l[?25h:$put ='Locks and commands or functions:'


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put =':unlet after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='filter() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call filter(d, 'v:key != "a"')


[?25l:[?12l[?25h:  $put ='did filter()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='map() after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call map(d, 'v:val + 200')


[?25l:[?12l[?25h:  $put ='did map()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  $put =string(extend(d, {'a': 123}))


[?25l:[?12l[?25h:  $put ='did extend()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na


me'))


[?25l:[?12l[?25h:    $put ='did remove()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(extend(a:, {'this_is_a_loooooooooong_parameter


_name': 1234}))


[?25l:[?12l[?25h:    $put ='did extend()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet of variable in locked scope:'


[?25l:[?12l[?25h:let b:testvar = 123


[?25l:[?12l[?25h:lockvar 1 b:


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet b:testvar


[?25l:[?12l[?25h:  $put ='b:testvar was :unlet: '. (!exists('b:testvar'))


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:unlockvar 1 b:


[?25l:[?12l[?25h:unlet! b:testvar


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :let += of locked list variable:'


[?25l:[?12l[?25h:let l = ['a', 'b', 3]


[?25l:[?12l[?25h:lockvar 1 l


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let l += ['x']


[?25l:[?12l[?25h:  $put ='did :let +='


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:lockvar! l


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:unlet l[0:1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l[1:2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:let l[0:1] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let l[1:2] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:" :lockvar/islocked() triggering script autoloading


[?25l:[?12l[?25h:set rtp+=./sautest


[?25l:[?12l[?25h:lockvar g:footest#x


[?25l:[?12l[?25h:unlockvar g:footest#x


[?25l:[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')


[?25l:[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')


[?25l:[?12l[?25h:$put ='g:footest#x: '.g:footest#x


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" a:000 function argument


[?25l:[?12l[?25h:" first the tests that should fail


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000 = [1, 2]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[0] = 9


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[0]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2] = [9, 10]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[2]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[3] = {9: 10}


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[3]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:" now the tests that should pass


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2][1] = 9


[?25l:[?12l[?25h:  call extend(a:000[2], [5, 6])


[?25l:[?12l[?25h:  let a:000[3][5] = 8


[?25l:[?12l[?25h:  let a:000[3]['a'] = 12


[?25l:[?12l[?25h:  $put =string(a:000)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught ' . v:exception


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" reverse(), sort(), uniq()


[?25l:[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 


1, 2], 'x8', [0, 1, 2], 1.5]


[?25l:[?12l[?25h:$put =string(uniq(copy(l)))


[?25l:[?12l[?25h:$put =string(reverse(l))


[?25l:[?12l[?25h:$put =string(reverse(reverse(l)))


[?25l:[?12l[?25h:$put =string(sort(l))


[?25l:[?12l[?25h:$put =string(reverse(sort(l)))


[?25l:[?12l[?25h:$put =string(sort(reverse(sort(l))))


[?25l:[?12l[?25h:$put =string(uniq(sort(l)))


[?25l:[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf


f, 0.22, 'four']


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'n'))


[?25l:[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 


'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]


[?25l:[?12l[?25h:$put =string(sort(copy(l), 1))


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'i'))


[?25l:[?12l[?25h:$put =string(sort(copy(l)))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" splitting a string to a List


[?25l:[?12l[?25h:$put =string(split('  aa  bb '))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 0))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 1))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W', 1))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))


[?25l:[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs'))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs', 1))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare recursively linked list and dict


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}


[?25l:[?12l[?25h:let l[1] = d


[?25l:[?12l[?25h:$put =(l == l)


[?25l:[?12l[?25h:$put =(d == d)


[?25l:[?12l[?25h:$put =(l != deepcopy(l))


[?25l:[?12l[?25h:$put =(d != deepcopy(d))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare complex recursively linked list and dict


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:call add(l, l)


[?25l:[?12l[?25h:let dict4 = {"l": l}


[?25l:[?12l[?25h:call add(dict4.l, dict4)


[?25l:[?12l[?25h:let lcopy = deepcopy(l)


[?25l:[?12l[?25h:let dict4copy = deepcopy(dict4)


[?25l:[?12l[?25h:$put =(l == lcopy)


[?25l:[?12l[?25h:$put =(dict4 == dict4copy)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same List to extend()


[?25l:[?12l[?25h:let l = [1, 2, 3, 4, 5]


[?25l:[?12l[?25h:call extend(l, l)


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend()


[?25l:[?12l[?25h:let d = { 'a': {'b': 'B'}}


[?25l:[?12l[?25h:call extend(d, d)


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend() with "error"


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call extend(d, d, "error")


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" test for range assign


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:let l[:] = [1, 2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:endfun
[?25l:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6})  " This may take a while
[?25lError detected while processing function Test:

line   76:


E684: list index out of range: 1


line   91:


E684: list index out of range: 2


line  271:


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


line  441:


E741: Value is locked: l[0:1]


line  443:


E741: Value is locked: l[1:2]


line  446:


E741: Value is locked: l[0:1] = [0, 1]


line  448:


E741: Value is locked: l[1:2] = [0, 1]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb']

['aa', 'bb']

['', 'aa', 'bb', '']

['', '', 'aa', '', 'bb', '', '']

['aa', '', 'bb']

['', 'aa', '', 'bb', '']

['aa', '', 'bb', 'cc', '']

['a', 'b', 'c']

['', 'a', '', 'b', '', 'c', '']

1

1

0

0

1

1

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

{'a': {'b': 'B'}}

Vim(call):E737: a

{'a': {'b': 'B'}}

[1, 2]

~                                                                               [?12l[?25h[?25l



:[?12l[?25hdelfunc Test
[?25l[?12l[?25h[?25l:[?12l[?25hunlet dict
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for patch 7.3.637
[?25l[?12l[?25h[?25l:[?12l[?25hlet a = 'No error caught'
[?25l[?12l[?25h[?25l:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[?12l[?25h[?25l=[?12l[?25ha
[?25lVim(foldopen):E490:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hredir => a
[?25l[?12l[?25h[?25l:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'


)|endtry


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb'][?12l[?25h[?25l

=[?12l[?25ha
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))|endtry

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 197 lines, 3821 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test55 = test61; then \
#	  if diff test.out test55.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test55.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test56.failed test.ok test.out X* viminfo
cp test56.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test56.in" 21 lines, 457 charactersTest for script-local function.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:set nocp viminfo+=nviminfo

:/^start:/+1,/^end:/-1w! Xtest.vim

:source Xtest.vim

_x

:$-1,$wq! test.out

ENDTEST



start:

fun <SID>DoLast()

  call append(line('$'), "last line")

endfun

fun s:DoNothing()

  call append(line('$'), "nothing line")

endfun

nnoremap <buffer> _x    :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunnc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>

end:

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for script-local function.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 120 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [New] 7L, 251C written[?12l[?25h[?25l:[?12l[?25hsource Xtest.vim
[?25l[?12l[?25h[?25l:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc 


<SNR>4_DoLast
Press ENTER or type command to continue[?12l[?25h[?25lTest for script-local function.     vim: set ft=vim :nothing line[?12l[?25h[?25l:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [New] 2L, 23C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test56 = test61; then \
#	  if diff test.out test56.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test56.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test57.failed test.ok test.out X* viminfo
cp test57.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test57.in" 545 lines, 4110 charactersTests for :sort command.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:/^t01:/+1,/^t02/-1sort

:/^t02:/+1,/^t03/-1sort n

:/^t03:/+1,/^t04/-1sort x

:/^t04:/+1,/^t05/-1sort u

:/^t05:/+1,/^t06/-1sort!

:/^t06:/+1,/^t07/-1sort! n

:/^t07:/+1,/^t08/-1sort! u

:/^t08:/+1,/^t09/-1sort o

:/^t09:/+1,/^t10/-1sort! x

:/^t10:/+1,/^t11/-1sort/./

:/^t11:/+1,/^t12/-1sort/../

:/^t12:/+1,/^t13/-1sort/../u

:/^t13:/+1,/^t14/-1sort/./n

:/^t14:/+1,/^t15/-1sort/./r

:/^t15:/+1,/^t16/-1sort/../r

:/^t16:/+1,/^t17/-1sort/./rn

:/^t17:/+1,/^t18/-1sort/\d/

:/^t18:/+1,/^t19/-1sort/\d/r[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :sort command.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 33 lines, 920 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:/^t21:/+1,/^t22/-1sort/\d\d/

:/^t22:/+1,/^t23/-1sort/\d\d/n

:/^t23:/+1,/^t24/-1sort/\d\d/x

:/^t24:/+1,/^t25/-1sort/\d\d/r

:/^t25:/+1,/^t26/-1sort/\d\d/rn

:/^t26:/+1,/^t27/-1sort/\d\d/rx

:/^t27:/+1,/^t28/-1sort no

:/^t28:/+1,/^t29/-1sort b

:/^t29:/+1,/^t30/-1sort b

:/^t30:/+1,/^t31/-1sort f

:/^t01:/,$wq! test.out

ENDTEST



t01: alphebetical

abc

ab

a

a321

a123

a122

b321

b123

c123d[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l 123b2

a123

a

ababc[?12l[?25h[?25l:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25lb123

b321

b321

b321b

b322b

c123d

c321d

t02: numeric

abc[?12l[?25h[?25l

:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t03: hexadecimal





a

ab

abc

 123b

a122

a123

a321

b123

b321

b321[?12l[?25h[?25l:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25lb321b

b322b

c123d

c321d

t04: alpha, unique[?12l[?25h[?25l

:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25la123

a321

ab

abc

b123

b321

b321b

b322b

c123d

c321d

t05: alpha, reverse

c321d

c123d

b322b

b321b

b321

b321

b123

abc

ab

a321

a123

a122[?12l[?25h[?25l:[?12l[?25h/^t06:/+1,/^t07/-1sort! n        
[?25la

 123b





t06: numeric, reverse

b322b[?12l[?25h[?25l

:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l123b

c123d

b123

a123

a122





a

ab

abc

t07: unique, reverse

c321d

c123d

b322b

b321b

b321

b123

abc

ab

a321

a123

a122

a[?12l[?25h[?25l:[?12l[?25h/^t08:/+1,/^t09/-1sort o         
[?25l123b



t08: octal

abc[?12l[?25h[?25l

:[?12l[?25h/^t09:/+1,/^t10/-1sort! x        
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t09: reverse, hexadecimal

c321d

c123d

b322b

b321b

b321

b321

b123

a321

a123

a122

 123b

abc[?12l[?25h[?25l:[?12l[?25h/^t10:/+1,/^t11/-1sort/./        
[?25lab

a





t10: alpha, skip first character

a[?12l[?25h[?25l

:[?12l[?25h/^t11:/+1,/^t12/-1sort/../       
[?25l123b

c123d

a321

b321

b321

b321b

c321d

b322b

ab

abc

t11: alpha, skip first 2 characters

ab

a





a321

b321

b321

b321b

c321d

a122

b322b

a123[?12l[?25h[?25l:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25lb123

 123b

c123d

abc

t12: alpha, unique, skip first 2 characters

ab[?12l[?25h[?25l

:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25lb321

b321b

c321d

a122

b322b

a123

b123

 123b

c123d

abc

t13: numeric, skip first character

abc

ab

a





a122

a123

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25lc321d

b321

b321b

b322b

t14: alpha, sort on first character[?12l[?25h[?25l

:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25la321

a123

a122

b321

b123

b322b

b321

b321b

c123d

c321d

t15: alpha, sort on first 2 characters

a123b

a123

a122

a321

abc

ab

b123

b321

b322b[?12l[?25h[?25l:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25lb321

b321b

c123d

c321d

t16: numeric, sort on first character

abc[?12l[?25h[?25l

:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t17: alpha, skip past first digit

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25la123

b123

 123b

c123d

t18: alpha, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t19: numeric, skip past first digit

abc

ab

a





a321

b321

c321d

b321

b321b

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25la123

b123

c123d

 123b

t20: numeric, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t21: alpha, skip past first 2 digits

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25la123

b123

 123b

c123d

t22: numeric, skip past first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25lb321

c321d

b321

b321b

a122

b322b

a123

b123

c123d

 123b

t23: hexadecimal, skip past first 2 digits

abc

ab

a





a321

b321

b321

a122

a123

b123

b321b[?12l[?25h[?25l:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25lc321d

b322b

 123b

c123d

t24: alpha, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t25: numeric, sort on first 2 digits

abc

ab

a





a123

a122

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25lc321d

b322b

b321

b321b

t26: hexadecimal, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25lE474: Invalid argument[?12l[?25h[?25l:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t28: binary





0b000000

0b001000

0b010000

0b100000

0b100010

0b100010

0b100100

0b101000

0b101000

0b101001[?12l[?25h[?25l:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l0b101001

0b101010

0b101100

0b111000

t29: binary with leading characters[?12l[?25h[?25l

:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25la0b001000

0b010000

ab0b100000

0b100010

0b100010

 0b100100

0b101000

0b101000

 0b101001

a0b101001

0b101010

b0b101100

b0b111000

t30: float





-1.1e3

-1.01e3

1.15e-6

0.88

1.234

123.456

t31: done[?12l[?25h[?25l:[?12l[?25h/^t01:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 501 lines, 3105 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test57 = test61; then \
#	  if diff test.out test57.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test57.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test60.failed test.ok test.out X* viminfo
cp test60.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test60.in" 601 lines, 13116 charactersTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :



STARTTEST

:so small.vim

:function! RunTest(str, result)

    if exists(a:str) == a:resultecho "OK"

    elseecho "FAILED: Checking for " . a:str

    endif

endfunction

:function! TestExists()

    augroup myagroupautocmd! BufEnter*.my     echo "myfile edited"autocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"

    augroup END

    set rtp+=./sautestlet test_cases = []" valid autocmd group

    let test_cases += [['#myagroup', 1]]

    " valid autocmd group with garbage[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 596 lines, 13023 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! RunTest(str, result)
[?25l

:  [?12l[?25h    if exists(a:str) == a:result


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED: Checking for " . a:str


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x[?12l[?25h[?25l

:[?12l[?25hfunction! TestExists()
[?25l

:  [?12l[?25h    augroup myagroup


[?25l:  [?12l[?25h^Iautocmd! BufEnter       *.my     echo "myfile edited"


[?25l:  [?12l[?25h^Iautocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"


[?25l:  [?12l[?25h    augroup END


[?25l:  [?12l[?25h    set rtp+=./sautest


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    let test_cases = []


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " valid autocmd group


[?25l:  [?12l[?25h    let test_cases += [['#myagroup', 1]]


[?25l:  [?12l[?25h    " valid autocmd group with garbage


[?25l:  [?12l[?25h    let test_cases += [['#myagroup+b', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd group or event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup', 0]]


[?25l:  [?12l[?25h    " Non-existing autocmd group and valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup#BufEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event with no matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#CmdwinEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#xyzacmd', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['###', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group and event or empty event and pattern


[?25l:  [?12l[?25h    let test_cases += [['##', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##FileReadCmd', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##MySpecialCmd', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&textwidth', 1]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&tw', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['&tw-', 0]]


[?25l:  [?12l[?25h    " Global option


[?25l:  [?12l[?25h    let test_cases += [['&g:errorformat', 1]]


[?25l:  [?12l[?25h    " Local option


[?25l:  [?12l[?25h    let test_cases += [['&l:errorformat', 1]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&nojoinspaces', 0]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&nojs', 0]]


[?25l:  [?12l[?25h    " Non-existing option


[?25l:  [?12l[?25h    let test_cases += [['&myxyzoption', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['+incsearch', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['+incsearch!1', 0]]


[?25l:  [?12l[?25h    " Existing and workinggcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds.o ex_cmds.c
 option (short form)


[?25l:  [?12l[?25h    let test_cases += [['+is', 1]]


[?25l:  [?12l[?25h    " Existing option that is hidden.


[?25l:  [?12l[?25h    let test_cases += [['+autoprint', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing environment variable


[?25l:  [?12l[?25h    let $EDITOR_NAME = 'Vim Editor'


[?25l:  [?12l[?25h    let test_cases += [['$EDITOR_NAME', 1]]


[?25l:  [?12l[?25h    " Non-existing environment variable


[?25l:  [?12l[?25h    let test_cases += [['$NON_ENV_VAR', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal function


[?25l:  [?12l[?25h    let test_cases += [['*bufnr', 1]]


[?25l:  [?12l[?25h    " Valid internal function with ()


[?25l:  [?12l[?25h    let test_cases += [['*bufnr()', 1]]


[?25l:  [?12l[?25h    " Non-existing internal function


[?25l:  [?12l[?25h    let test_cases += [['*myxyzfunc', 0]]


[?25l:  [?12l[?25h    " Valid internal function with garbage


[?25l:  [?12l[?25h    let test_cases += [['*bufnr&6', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid user defined function


[?25l:  [?12l[?25h    let test_cases += [['*TestExists', 1]]


[?25l:  [?12l[?25h    " Non-existing user defined function


[?25l:  [?12l[?25h    let test_cases += [['*MyxyzFunc', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function that may be created by FuncUndefined event


[?25l:  [?12l[?25h    let test_cases += [['*UndefFun', 0]]


[?25l:  [?12l[?25h    " Function that may be created by script autoloading


[?25l:  [?12l[?25h    let test_cases += [['*footest#F', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    redir! > test.out


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    for [test_case, result] in test_cases


[?25l:    [?12l[?25h        echo test_case . ": " . result


[?25l:    [?12l[?25h        call RunTest(test_case, result)


[?25l:    [?12l[?25h    endfor


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match)


[?25l:  [?12l[?25h    echo ':edit: 2'


[?25l:  [?12l[?25h    if exists(':edit') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match) with garbage


[?25l:  [?12l[?25h    echo ':edit/a: 0'


[?25l:  [?12l[?25h    if exists(':edit/a') == 0


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (partial match)


[?25l:  [?12l[?25h    echo ':q: 1'


[?25l:  [?12l[?25h    if exists(':q') == 1


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing internal command


[?25l:  [?12l[?25h    echo ':invalidcmd: 0'


[?25l:  [?12l[?25h    if !exists(':invalidcmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (full match)


[?25l:  [?12l[?25h    command! MyCmd :echo 'My command'


[?25l:  [?12l[?25h    echo ':MyCmd: 2'


[?25l:  [?12l[?25h    if exists(':MyCmd') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (partial match)


[?25l:  [?12l[?25h    command! MyOtherCmd :echo 'Another command'


[?25l:  [?12l[?25h    echo ':My: 3'


[?25l:  [?12l[?25h    if exists(':My') == 3


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Command modifier


[?25l:  [?12l[?25h    echo ':rightbelow: 2'


[?25l:  [?12l[?25h    if exists(':rightbelow') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (full match)


[?25l:  [?12l[?25h    delcommand MyCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':MyCmd: 0'


[?25l:  [?12l[?25h    if !exists(':MyCmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (partial match)


[?25l:  [?12l[?25h    delcommand MyOtherCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':My: 0'


[?25l:  [?12l[?25h    if !exists(':My')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var: 1'


[?25l:  [?12l[?25h    if exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable with garbage


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var%n: 0'


[?25l:  [?12l[?25h    if !exists('local_var%n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local variable


[?25l:  [?12l[?25h    unlet local_var


[?25l:  [?12l[?25h    echo 'local_var: 0'


[?25l:  [?12l[?25h    if !exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing autoload variable that may be autoloaded


[?25l:  [?12l[?25h    echo 'footest#x: 0'


[?25l:  [?12l[?25h    if !exists('footest#x')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list


[?25l:  [?12l[?25h    let local_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'local_list: 1'


[?25l:  [?12l[?25h    if exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item


[?25l:  [?12l[?25h    echo 'local_list[1]: 1'


[?25l:  [?12l[?25h    if exists('local_list[1]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item with garbage


[?25l:  [?12l[?25h    echo 'local_list[1]+5: 0'


[?25l:  [?12l[?25h    if !exists('local_list[1]+5')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Invalid local list item


[?25l:  [?12l[?25h    echo 'local_list[2]: 0'


[?25l:  [?12l[?25h    if !exists('local_list[2]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local list


[?25l:  [?12l[?25h    unlet local_list


[?25l:  [?12l[?25h    echo 'local_list: 0'


[?25l:  [?12l[?25h    if !exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local dictionary


[?25l:  [?12l[?25h    let local_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'local_dict: 1'


[?25l:  [?12l[?25h    if exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local dictionary


[?25l:  [?12l[?25h    unlet local_dict


[?25l:  [?12l[?25h    echo 'local_dict: 0'


[?25l:  [?12l[?25h    if !exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing local curly-brace variable


[?25l:  [?12l[?25h    let str = "local"


[?25l:  [?12l[?25h    let curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local curly-brace variable


[?25l:  [?12l[?25h    unlet curly_{str}_var


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable


[?25l:  [?12l[?25h    let g:global_var = 1


[?25l:  [?12l[?25h    echo 'g:global_var: 1'


[?25l:  [?12l[?25h    if exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable with garbage


[?25l:  [?12l[?25h    echo 'g:global_var-n: 1'


[?25l:  [?12l[?25h    if !exists('g:global_var-n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global variable


[?25l:  [?12l[?25h    unlet g:global_var


[?25l:  [?12l[?25h    echo 'g:global_var: 0'


[?25l:  [?12l[?25h    if !exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global list


[?25l:  [?12l[?25h    let g:global_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'g:global_list: 1'


[?25l:  [?12l[?25h    if exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global list


[?25l:  [?12l[?25h    unlet g:global_list


[?25l:  [?12l[?25h    echo 'g:global_list: 0'


[?25l:  [?12l[?25h    if !exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global dictionary


[?25l:  [?12l[?25h    let g:global_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'g:global_dict: 1'


[?25l:  [?12l[?25h    if exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global dictionary


[?25l:  [?12l[?25h    unlet g:global_dict


[?25l:  [?12l[?25h    echo 'g:global_dict: 0'


[?25l:  [?12l[?25h    if !exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global curly-brace variable


[?25l:  [?12l[?25h    let str = "global"


[?25l:  [?12l[?25h    let g:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global curly-brace variable


[?25l:  [?12l[?25h    unlet g:curly_{str}_var


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window variable


[?25l:  [?12l[?25h    echo 'w:window_var: 1'


[?25l:  [?12l[?25h    let w:window_var = 1


[?25l:  [?12l[?25h    if exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window variable


[?25l:  [?12l[?25h    unlet w:window_var


[?25l:  [?12l[?25h    echo 'w:window_var: 0'


[?25l:  [?12l[?25h    if !exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window list


[?25l:  [?12l[?25h    let w:window_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'w:window_list: 1'


[?25l:  [?12l[?25h    if exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window list


[?25l:  [?12l[?25h    unlet w:window_list


[?25l:  [?12l[?25h    echo 'w:window_list: 0'


[?25l:  [?12l[?25h    if !exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window dictionary


[?25l:  [?12l[?25h    let w:window_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'w:window_dict: 1'


[?25l:  [?12l[?25h    if exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window dictionary


[?25l:  [?12l[?25h    unlet w:window_dict


[?25l:  [?12l[?25h    echo 'w:window_dict: 0'


[?25l:  [?12l[?25h    if !exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window curly-brace variable


[?25l:  [?12l[?25h    let str = "window"


[?25l:  [?12l[?25h    let w:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window curly-brace variable


[?25l:  [?12l[?25h    unlet w:curly_{str}_var


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer variable


[?25l:  [?12l[?25h    echo 'b:buffer_var: 1'


[?25l:  [?12l[?25h    let b:buffer_var = 1


[?25l:  [?12l[?25h    if exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer variable


[?25l:  [?12l[?25h    unlet b:buffer_var


[?25l:  [?12l[?25h    echo 'b:buffer_var: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer list


[?25l:  [?12l[?25h    let b:buffer_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'b:buffer_list: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer list


[?25l:  [?12l[?25h    unlet b:buffer_list


[?25l:  [?12l[?25h    echo 'b:buffer_list: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer dictionary


[?25l:  [?12l[?25h    let b:buffer_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer dictionary


[?25l:  [?12l[?25h    unlet b:buffer_dict


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer curly-brace variable


[?25l:  [?12l[?25h    let str = "buffer"


[?25l:  [?12l[?25h    let b:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer curly-brace variable


[?25l:  [?12l[?25h    unlet b:curly_{str}_var


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Script-local tests


[?25l:  [?12l[?25h    source test60.vim


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:version: 1'


[?25l:  [?12l[?25h    if exists('v:version')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:non_exists_var: 0'


[?25l:  [?12l[?25h    if !exists('v:non_exists_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function arguments


[?25l:  [?12l[?25h    function TestFuncArg(func_arg, ...)


[?25l:    [?12l[?25h        echo 'a:func_arg: 1'


[?25l:    [?12l[?25h        if exists('a:func_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:non_exists_arg: 0'


[?25l:    [?12l[?25h        if !exists('a:non_exists_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:1: 1'


[?25l:    [?12l[?25h        if exists('a:1')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:2: 0'


[?25l:    [?12l[?25h        if !exists('a:2')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h    endfunction


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    call TestFuncArg("arg1", "arg2")


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    echo ' g:footest#x =' g:footest#x


[?25l:    [?12l[?25h    echo '   footest#F()' footest#F()


[?25l:    [?12l[?25h    echo 'UndefFun()' UndefFun()


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    redir END


[?25l:    [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hcall TestExists()
[?25l#myagroup: 1

OK


#myagroup+b: 0


OK


#myagroup#BufEnter: 1


OK


#myagroup#BufEnter#*.my: 1


OK


#BufEnter: 1


OK


#BufEnter#*.my: 1


OK


#xyzagroup: 0


OK


#xyzagroup#BufEnter: 0


OK


#myagroup#CmdwinEnter: 0


OK


#myagroup#xyzacmd: 0


OK


#myagroup#BufEnter#xyzpat: 0


OK


#BufEnter#xyzpat: 0


OK


###: 0


OK


##: 0


OK


##FileReadCmd: 1


OK


##MySpecialCmd: 0


OK


&textwidth: 1


OK


&tw: 1


OK


&tw-: 0


OK


&g:errorformat: 1


OK


&l:errorformat: 1


OK


&nojoinspaces: 0


OK


&nojs: 0


OK


&myxyzoption: 0


OK


+incsearch: 1


OK


+incsearch!1: 0


OK


+is: 1


OK


+autoprint: 0


OK


$EDITOR_NAME: 1


OK


$NON_ENV_VAR: 0


OK


*bufnr: 1


OK


*bufnr(): 1


OK


*myxyzfunc: 0


OK


*bufnr&6: 0


OK


*TestExists: 1


OK


*MyxyzFunc: 0


OK


*UndefFun: 0


OK


*footest#F: 0


OK


:edit: 2


OK


:edit/a: 0


OK


:q: 1


OK


:invalidcmd: 0


OK


:MyCmd: 2


OK


:My: 3


OK


:rightbelow: 2


OK


:MyCmd: 0


OK


:My: 0


OK


local_var: 1


OK


local_var%n: 0


OK


local_var: 0


OK


footest#x: 0


OK


local_list: 1


OK


local_list[1]: 1


OK


local_list[1]+5: 0


OK


local_list[2]: 0


OK


local_list: 0


OK


local_dict: 1


OK


local_dict: 0


OK


curly_local_var: 1


OK


curly_local_var: 0


OK


g:global_var: 1


OK


g:global_var-n: 1


OK


g:global_var: 0


OK


g:global_list: 1


OK


g:global_list: 0


OK


g:global_dict: 1


OK


g:global_dict: 0


OK


g:curly_global_var: 1


OK


g:curly_global_var: 0


OK


w:window_var: 1


OK


w:window_var: 0


OK


w:window_list: 1


OK


w:window_list: 0


OK


w:window_dict: 1


OK


w:window_dict: 0


OK


w:curly_window_var: 1


OK


w:curly_window_var: 0


OK


b:buffer_var: 1


OK


b:buffer_var: 0


OK


b:buffer_list: 1


OK


b:buffer_list: 0


OK


b:buffer_dict: 1


OK


b:buffer_dict: 0


OK


b:curly_buffer_var: 1


OK


b:curly_buffer_var: 0


OK


s:script_var: 1


OK


s:script_var: 0


OK


s:script_list: 1


OK


s:script_list: 0


OK


s:script_dict: 1


OK


s:script_dict: 0


OK


s:curly_script_var: 1


OK


s:curly_script_var: 0


OK


*s:my_script_func: 1


OK


*s:my_script_func: 0


OK


v:version: 1


OK


v:non_exists_var: 0


OK


a:func_arg: 1


OK


a:non_exists_arg: 0


OK


a:1: 1


OK


a:2: 0


OK


 g:footest#x = 1


   footest#F() 0


UndefFun() 0


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hdelfunc TestExists
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestFuncArg
[?25l[?12l[?25h[?25l:[?12l[?25hedit! test.out
[?25l"test.out" [Incomplete last line] 206 lines, 1940 characters#myagroup: 1OK

#myagroup+b: 0OK

#myagroup#BufEnter: 1OK#myagroup#BufEnter#*.my: 1OK

#BufEnter: 1OK#BufEnter#*.my: 1OK

#xyzagroup: 0OK#xyzagroup#BufEnter: 0

OK#myagroup#CmdwinEnter: 0

OK

#myagroup#xyzacmd: 0

OK#myagroup#BufEnter#xyzpat: 0

OK[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test60 = test61; then \
#	  if diff test.out test60.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test60.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test64.failed test.ok test.out X* viminfo
cp test64.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test64.in" 654 lines, 27565 charactersTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns without multi-byte support.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 621 lines, 27090 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:for pat in [' \ze*', ' \zs*']

:  try

:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp engine
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"operator \|
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search single groups
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', '                    ab           ', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search multi-modifiers
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" no match here
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na


sfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" leading star as normal char when \{} follows
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test groups of characters and submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1', 


''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi


iiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe


lix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '


yyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aá ^I', 'aá '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa


','xayzxayz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx


ayzxa',''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test Character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test collections and character range []
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl


mnopqrstuvwxyz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[?12l[?25h[?25l:[?12l[?25h" filename regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[?12l[?25h[?25l:[?12l[?25h" special chars
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[?12l[?25h[?25l:[?12l[?25h" collation elem
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" middle of regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f', "  \na ", "\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f\+', "  \na ", "\na"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \z features
[?25l[?12l[?25h[?25l:[?12l[?25h" match ends at \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" match starts at \zs
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if 


last'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is   [a t', '  '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \@= and \& features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match, no matter the input text
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '


John is Bobs friend'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep


', 'test1'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']


)[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:', 


's'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', '   abxyzc ', 'abxyzc', 'xyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" \%u and friends
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \%[abc]
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'


])[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7


\8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e


', 'f', 'g', 'h', 'i'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo


.com', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo


.bat', 'bat', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$


{0}', '0'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Look-behind with limit
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<


'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<


<'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19


70'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" complicated look-behind match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \@>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Requiring lots of states.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}', "


12345678-1234-1234-1234-123456789012 ", "12345678-1234-1234-1234-123456789012",


"1234-"])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Skip adding state twice
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO", 


"#if", ' FOO'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""" Test \%V atom
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt


ausgabe [Salleck]    Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau


sgabe', 'Gesamt'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.

OK 2 - ^\(.\{-}b\)\@>.

OK 0 - \(.\{-}\)\(\)\@>$

OK 1 - \(.\{-}\)\(\)\@>$

OK 2 - \(.\{-}\)\(\)\@>$

OK 0 - \(a*\)\@>a\|a\+

OK 2 - \(a*\)\@>a\|a\+

OK 0 - \_[^8-9]\+

OK 1 - \_[^8-9]\+

OK 2 - \_[^8-9]\+

OK 0 - \_[^a]\+

OK 1 - \_[^a]\+

OK 2 - \_[^a]\+

OK 0 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 1 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 2 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 0 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 1 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 2 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 0 - \%>70vGesamt

OK 1 - \%>70vGesamt

OK 2 - \%>70vGesamt
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D


ir2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt


'], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" line breaks
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'


, 'XXjk', 'lmn']])
[?25lOK 0 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)


\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca


lnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the multi-line tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='multi-line tests'
[?25l

multi-line tests[?12l[?25h[?25l

:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let before = t[2]


[?25l:  [?12l[?25h:  let aftergcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE   -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/option.o option.c
 = t[3]


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re ==1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    new


[?25l:    [?12l[?25h:    call setline(1, before)


[?25l:    [?12l[?25h:    exe '%s/' . pat . '/XX/'


[?25l:    [?12l[?25h:    let result = getline(1, '$')


[?25l:    [?12l[?25h:    q!


[?25l:    [?12l[?25h:    if result != after


[?25l:      [?12l[?25h:      $put ='ERROR: pat: \"' . pat . '\", text: \"' . string(before) . 


'\", expected: \"' . string(after) . '\", got: \"' . string(result) . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

:[?12l[?25hunlet t tl
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[?12l[?25h[?25l:[?12l[?25h" matchstr() with \ze in between.
[?25l[?12l[?25h[?25l:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2yank
[?25l[?12l[?25h[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

[?12l[?25h[?25l

<T="5">Ta 5</Title>
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[?12l[?25h[?25l/[?12l[?25h^Behind:
[?25lsearch hit BOTTOM, continuing at TOP:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[?12l[?25h[?25l:[?12l[?25h.yank
[?25l[?12l[?25h[?25lOK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l

[?12l[?25h[?25l

xxstart3
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching Visual area
[?25l[?12l[?25h[?25l/[?12l[?25h^Visual:
[?25lsearch hit BOTTOM, continuing at TOP<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

oooxofor foroxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

search hit BOTTOM, continuing at TOP[?12l[?25h

the[?25l[?12l[?25h[?25lxe the the[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 linexE thE thE
[?12l[?25h

[?25landaxand andaxand 
[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 lineAndAxAnd AndAxAnd[?12l[?25h

ooo[?25l[?12l[?25h[?25lxofor foro[?12l[?25h[?25lx

oooxofor foro[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 linesxOfOr fOrOx

oooxOfOr fOrO
[?12l[?25h[?25l:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25lsearch hit BOTTOM, continuing at TOP
4 lines yanked[?12l[?25h[?25lOK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3
[?12l[?25h[?25l

[?12l[?25h[?25l

4 more lines

thexE thE thExethe4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching marks
[?25l[?12l[?25h[?25l/[?12l[?25h^Marks:
[?25lsearch hit BOTTOM, continuing at TOPasdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

OK 0 - ab

OK 1 - ab

OK 2 - ab

OK 0 - b

OK 1 - b

OK 2 - b

search hit BOTTOM, continuing at TOP[?12l[?25h

asdf[?25l:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25lhereasdf[?12l[?25h

asdf

dfsa
dfsadf[?25l:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l

asdfagainasdfOK 0 - bc*[?12l[?25h[?25l:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25lsearch hit BOTTOM, continuing at TOP
3 lines yanked[?12l[?25h[?25lOK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo
[?12l[?25h[?25l

[?12l[?25h[?25l

3 more linesasdfhereasdf

asdfagainasdf3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check patterns matching cursor position.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! Postest()
[?25l

:  [?12l[?25h new


[?25l:  [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t


\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', '        xxxxxx


xxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx


xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx


xxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx


x xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx


xxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx


xxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x


xxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxxxxx


xxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx'])


[?25l:  [?12l[?25h call setpos('.', [0, 1, 0, 0])


[?25l:  [?12l[?25h s/\%>3c.//g


[?25l:  [?12l[?25h call setpos('.', [0, 2, 4, 0])


[?25l:  [?12l[?25h s/\%#.*$//g


[?25l:  [?12l[?25h call setpos('.', [0, 3, 0, 0])


[?25l:  [?12l[?25h s/\%<3c./_/g


[?25l:  [?12l[?25h %s/\%4l\%>5c./_/g


[?25l:  [?12l[?25h %s/\%6l\%>25v./_/g


[?25l:  [?12l[?25h %s/\%>6l\%3c./!/g


[?25l:  [?12l[?25h %s/\%>7l\%12c./?/g


[?25l:  [?12l[?25h %s/\%>7l\%<9l\%>5v\%<8v./#/g


[?25l:  [?12l[?25h $s/\%(|\u.*\)\@<=[^|\t]\+$//ge


[?25l:  [?12l[?25h 1,$yank


[?25l:  [?12l[?25h quit!


[?25l:  [?12l[?25hendfunc
[?25lOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf[?12l[?25h[?25l255\

OK 0 - a\n^b$\n^cOK 1 - a\n^b$\n^c2

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2<T="5">Ta 5</Title>

<T="7">Ac 7</Title>xxstart3thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooooooxOfOr fOrOxoooasdfhereasdfasdfagainasdf~                                                                               [?12l[?25h[?25l

-0-[?12l[?25h[?25l

:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25loooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf-0-ffobob__ooooo

koooo__moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[?12l[?25h[?25l

-1-[?12l[?25h[?25l

:[?12l[?25hset re=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l-1-

ffo

bob

__ooooo

koooo__

moooooo

   f__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxx xxxx xx xxxxxxxx xxx xxxxxxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-2-[?12l[?25h[?25l:[?12l[?25hset re=2
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l-2-

ffo

bob~                                                                               [?12l[?25h[?25l:[?12l[?25h" start and end of buffer
[?25l[?12l[?25h[?25l/[?12l[?25h\%^
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 2 - \v(a*)+

OK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%^..
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}

OK 1 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

:call add(tl, [2, 'ab', 'aab', 'ab'])

:call add(tl, [2, 'b', 'abcdef', 'b'])

:call add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])

:call add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])

:call add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])

:call add(tl, [2, 'bc*', 'abbdef', 'b'])

:call add(tl, [2, 'c*', 'ccc', 'ccc'])

:call add(tl, [2, 'bc*', 'abdef', 'b'])[?12l[?25h[?25l/[?12l[?25h..\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h
[?25l[?12l[?25h[?25lEN[?12l[?25h[?25l[?12l[?25h[?25lE[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check for detecting error
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=2
[?25l[?12l[?25h[?25l:[?12l[?25hfor pat in [' \ze*', ' \zs*']
[?25l

:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    let l = matchlist('x x', pat)


[?25l:    [?12l[?25h:    $put ='E888 NOT detected for ' . pat


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='E888 detected for ' . pat


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor
[?25lffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?ba

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxxxxxxx xxx xxxxxxx xxxxxxxxx  xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxx xxxx xxx xxxx xxx xxx xxxxxx x xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x x xx xxxxxx xxxxxxx  xxxxxxxxxx xxxxxxxxx xxx xxx xxxxxxxx   xxxx xxx xxxxxx xxxxx xxxxx xx   xxxxxxxxxxxx xxxx xxxxxxxxx xxxxx xxxxx xx xxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxTestEND

EN888 detected for  \ze*

E888 detected for  \zs*[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Write the results """""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1107 lines, 22167 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test64 = test61; then \
#	  if diff test.out test64.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test64.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test65.failed test.ok test.out X* viminfo
cp test65.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test65.in" 95 lines, 2153 charactersTest for floating point and logical operators.



STARTTEST

:so small.vim

:if !has("float")

:  e! test.ok

:  wq! test.out

:endif

:"

:$put =printf('%f', 123.456)

:$put =printf('%e', 123.456)

:$put =printf('%g', 123.456)

:" check we don't crash on division by zero

:echo 1.0 / 0.0

:$put ='+='

:let v = 1.234

:let v += 6.543

:$put =printf('%g', v)

:let v = 1.234

:let v += 5

:$put =printf('%g', v)

:let a = 5

:let a += 3.333[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for floating point and logical operators.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 89 lines, 2067 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'

:$put =and(127, 127)

:$put =and(127, 16)

:$put =and(127, 128)

:$put ='OR'

:$put =or(16, 7)

:$put =or(8, 7)

:$put =or(0, 123)

:$put ='XOR'

:$put =xor(127, 127)

:$put =xor(127, 16)

:$put =xor(127, 128)

:$put ='invert'

:$put =and(invert(127), 65535)

:$put =and(invert(16), 65535)

:$put =and(invert(128), 65535)

:$put =invert(1.0)

:/^Results/,$wq! test.out

ENDTEST



Results of test65:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("float")
[?25l

:  [?12l[?25h:  e! test.ok


[?25l:  [?12l[?25h:  wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%f', 123.456)
[?25l

123.456000[?12l[?25h[?25l

:[?12l[?25h$put =printf('%e', 123.456)
[?25l

1.234560e+02[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 123.456)
[?25l

123.456[?12l[?25h[?25l

:[?12l[?25h" check we don't crash on division by zero
[?25l[?12l[?25h[?25l:[?12l[?25hecho 1.0 / 0.0
[?25linf[?12l[?25h[?25l:[?12l[?25h$put ='+='
[?25l

+=[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 6.543
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

7.777[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 5
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

6.234[?12l[?25h[?25l

:[?12l[?25hlet a = 5
[?25l[?12l[?25h[?25l:[?12l[?25hlet a += 3.333
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(a)
[?25l

8.333[?12l[?25h[?25l

:[?12l[?25h$put ='=='
[?25l

==[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25h$put =v == 1.234
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =v == 1.2341
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='add-subtract'
[?25l

add-subtract[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l

5.234[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l

-6.766[?12l[?25h[?25l

:[?12l[?25h$put ='mult-div'
[?25l

mult-div[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l

4.936[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l

0.003241[?12l[?25h[?25l

:[?12l[?25h$put ='dict'
[?25l

dict[?12l[?25h[?25l

:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l

{'x': 1.234, 'y': -2.0e20}[?12l[?25h[?25l

:[?12l[?25h$put ='list'
[?25l

list[?12l[?25h[?25l

:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l

[-123.4, 2.0e-20][?12l[?25h[?25l

:[?12l[?25h$put ='abs'
[?25l

abs[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(1456))
[?25l

1456[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(-4))
[?25l

4[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25lE745: Using a List as a Numbergcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc2.o misc2.c


-1[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l

14.56[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l

54.32[?12l[?25h[?25l

:[?12l[?25h$put ='ceil'
[?25l

ceil[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l

2.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l

-4.0[?12l[?25h[?25l

:[?12l[?25h$put ='floor'
[?25l

floor[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l

-6.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='log10'
[?25l

log10[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(1000))
[?25l

3.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l

-2.0[?12l[?25h[?25l

:[?12l[?25h$put ='pow'
[?25l

pow[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l

27.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l

65536.0[?12l[?25h[?25l

:[?12l[?25h$put ='round'
[?25l

round[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(0.456))
[?25l

0.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(4.5))
[?25l

5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put ='sqrt'
[?25l

sqrt[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l

10.0[?12l[?25h[?25l

:[?12l[?25hecho sqrt(-4.01)
[?25lnan[?12l[?25h[?25l:[?12l[?25h$put ='str2float'
[?25l

str2float[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l

1.0e40[?12l[?25h[?25l

:[?12l[?25h$put ='trunc'
[?25l

trunc[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='float2nr'
[?25l

float2nr[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(123.456)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(-123.456)
[?25l

-123[?12l[?25h[?25l

:[?12l[?25h$put ='AND'
[?25l

AND[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 127)
[?25l

127[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 16)
[?25l

16[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 128)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='OR'
[?25l

OR[?12l[?25h[?25l

:[?12l[?25h$put =or(16, 7)
[?25l

23[?12l[?25h[?25l

:[?12l[?25h$put =or(8, 7)
[?25l

15[?12l[?25h[?25l

:[?12l[?25h$put =or(0, 123)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put ='XOR'
[?25l

XOR[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 127)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 16)
[?25l

111[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 128)
[?25l

255[?12l[?25h[?25l

:[?12l[?25h$put ='invert'
[?25l

invert[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(127), 65535)
[?25l

65408[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(16), 65535)
[?25l

65519[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(128), 65535)
[?25l

65407[?12l[?25h[?25l

:[?12l[?25h$put =invert(1.0)
[?25lE805: Using a Float as a Number

0[?12l[?25h[?25l

:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 73 lines, 430 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test65 = test61; then \
#	  if diff test.out test65.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test65.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test66.failed test.ok test.out X* viminfo
cp test66.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test66.in" 33 lines, 509 charactersTest for visual block shift and tab characters.



STARTTEST

:so small.vim

/^one

fe^V4jR^[ugvr1:'<,'>w! test.out

/^abcdefgh

^V4jI    ^[j<<11|D

7|a^[

7|a^[

7|a^[4k13|^V4j<

:$-5,$w >> test.out

:$-4,$s/\s\+//g

^V4kI    ^[j<<

7|a^[

7|a^[

7|a^[4k13|^V4j3<

:$-4,$w >> test.out

:qa!

ENDTEST



one two three[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 234 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^one
[?25l[?12l[?25hon[?25l[?12l[?25h[?25le

one two three

one two three

one two three

one two three[?12l[?25h[?25l

4 fewer linesabcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz[?12l[?25h[?25lmore lines; before #1  0 seconds agoone two three

one two three

one two threeone two threeone two three[?12l[?25h[?25le

one

one

one

on[?12l[?25h[?25l1

on1

on1

on1

on1[?12l[?25h[?25l:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [New File] 5 lines, 70 characters written[?12l[?25h[?25l/[?12l[?25h^abcdefgh
[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25la

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc            defghijklmnopqrstuvwxyz[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 1 timeidefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"6 lines, 151 characters appended[?12l[?25h[?25l:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 linesabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

a

a

a[?12l[?25h[?25l

a

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghij

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghij[?12l[?25h

    ab[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                       defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                 defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 3 timesidefghijklmnopqrstuvwxyz    defghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"5 lines, 147 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test66 = test61; then \
#	  if diff test.out test66.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test66.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test67.failed test.ok test.out X* viminfo
cp test67.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test67.in" 33 lines, 1110 charactersTest that groups and patterns are tested correctly when calling exists() for

autocommands.



STARTTEST

:so small.vim

:let results=[]

:augroup auexists

:augroup END

:call add(results, "##BufEnter: " . exists("##BufEnter"))

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:au BufEnter * let g:entered=1

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:augroup auexists

:au BufEnter * let g:entered=1

:augroup END

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:au BufEnter *.test let g:entered=1

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:edit testfile.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:au BufEnter <buffer> let g:entered=1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest that groups and patterns are tested correctly when calling exists() for[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 999 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:edit testfile2.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:e! test.out

:call append(0, results)

:$d

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet results=[]
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l:[?12l[?25hcall append(0, results)
[?25l##BufEnter: 1

#BufEnter: 0

#BufEnter: 1

#auexists#BufEnter: 0

#auexists#BufEnter: 1

#BufEnter#*.test: 0

#BufEnter#*.test: 1

#BufEnter#<buffer>: 0

#BufEnter#<buffer>: 1

#BufEnter#<buffer>: 0[?12l[?25h[?25l:[?12l[?25h$d
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test67 = test61; then \
#	  if diff test.out test67.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test67.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test68.failed test.ok test.out X* viminfo
cp test68.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test68.in" 131 lines, 1004 charactersTest for text formatting.



Results of test68:



STARTTEST

:so small.vim

/^{/+1

:set noai tw=2 fo=t

gRa b^[

ENDTEST



{





}



STARTTEST

/^{/+1

:set ai tw=2 fo=tw

gqgqjjllab^[

ENDTEST



{[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 48 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset noai tw=2 fo=t
[?25l[?12l[?25h[?25la

b[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l

a  b[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tw
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

[?12l[?25h[?25l

a[?12l[?25ha [?25l

b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=3 fo=t

gqgqo

a ^V^A^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a ^A[?12l[?25h[?25l

:[?12l[?25hset tw=3 fo=t
[?25l[?12l[?25h[?25l

^A[?12l[?25h[?25la

^A
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tcq1 comments=:#

gqgqjgqgqo

a b

#a b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a b[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[?12l[?25h[?25l

#a b[?12l[?25h[?25la b

#a b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 46 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=tcn comments=:#

A b^[jA b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  1 a[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

# 1 a[?12l[?25h[?25l

#   b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+3
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 35 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=t2a si

i  ^[A_^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+3
[?25l{



  x a

  b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=t2a si
[?25l[?12l[?25h[?25l    b[?12l[?25h[?25l b_[?12l[?25h[?25l

c[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=qn comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# 1 a b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=q2 comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# x[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[?12l[?25h[?25l# x a
[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+2
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw& fo=a

I^^^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+2
[?25l{

   1aa

   2bb[?12l[?25h[?25l

:[?12l[?25hset tw& fo=a
[?25l[?12l[?25h[?25l1aa ^^2bb }STARTTEST[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h[?25l

/mno pqr/[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 69 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/

A vwx yz^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25hmno pqr/
[?25l/* abc def ghi jkl

 *    mno pqr stu[?12l[?25h[?25l

:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[?12l[?25h[?25l

*    vwx yz[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^#/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=12 fo=tqnc comments=:#

A foobar^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^#/
[?25l

# 1 xxxxx[?12l[?25h[?25l

:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[?12l[?25h[?25l

#   foobar[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines# 1 a#   b}{

# x a#   b}{ 1aa ^^2bb }/* abc def ghi jkl

 *    mno pqr stu

 *    vwx yz

 */# 1 xxxxx

#   foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 77 lines, 281 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test68 = test61; then \
#	  if diff test.out test68.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test68.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test69.failed test.ok test.out X* viminfo
cp test69.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test69.in" 192 lines, 2185 charactersTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for multi-byte text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 2 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=t
[?25l[?12l[?25h

[?25l

XYZ[?12l[?25h[?25l[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

Z

abc [?12l[?25h[?25l

X[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=1 fo=tm

gqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

X[?12l[?25h[?25l

:[?12l[?25hset tw=1 fo=tm
[?25l[?12l[?25h[?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l

X a
[?12l[?25h[?25l

a[?12l[?25h[?25l

XY
[?12l[?25h[?25l

Y
[?12l[?25h[?25l

X Y
[?12l[?25h[?25l

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c

abXY^[

ENDTEST



{

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h

[?25la[?12l[?25h

[?25la[?12l[?25h

[?25lY
[?12l[?25h

[?25lY 
[?12l[?25h[?25l

aX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abcX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX c
[?12l[?25h[?25lX

c[?12l[?25h[?25l

abXY
[?12l[?25h[?25lX

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25lY

a[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

abc[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

c

ab[?12l[?25h[?25l

X[?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set ai tw=2 fo=tm

gqgqjgqgqo

X

Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

  a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 53 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set noai tw=2 fo=tm

gqgqjgqgqo

  X

  Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset noai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 169 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa

XXY^[

ENDTEST



{

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[?12l[?25h



[?25lXY[?12l[?25h



[?25lXZ
[?12l[?25h



[?25l

X Z
[?12l[?25h[?25l

XX
[?12l[?25h[?25l

XXa
[?12l[?25h[?25l

XXY
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25l

Xa

[?12l[?25h[?25lXa[?12l[?25h[?25lXY

[?12l[?25h[?25lX[?12l[?25h[?25l

Y

[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25lXZ

[?12l[?25h[?25lX [?12l[?25h[?25l

Y

[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25lX Z

[?12l[?25h[?25lX[?12l[?25h[?25l

X

[?12l[?25h[?25lX[?12l[?25h[?25l

Xa

[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 30 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tm

RXa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set mps+=^Vu2018:^Vu2019

d%

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

‘two three ’four[?12l[?25h[?25l

:[?12l[?25hset mps+=^‘:^’
[?25l[?12l[?25h[?25l four[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^ra test
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 16 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTjVjra

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^ra test
[?25l

ra test[?12l[?25h[?25l

abba
[?12l[?25h[?25lbba 
[?12l[?25h[?25l

a

aab 
[?12l[?25h[?25laaaaaaa [?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set whichwrap+=h
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 43 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^x

dh

:set whichwrap-=h

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset whichwrap+=h
[?25l[?12l[?25h[?25l/[?12l[?25h^x
[?25láx[?12l[?25h[?25lx[?12l[?25h

[?25l

:[?12l[?25hset whichwrap-=h
[?25l[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:let a = '.é.' " one char of two bytes
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 548 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let b = '.é.' " normal e with composing char

/^byteidx

:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)])

:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])

/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)])

:let b = '.é.'

:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet a = '.é.' " one char of two bytes
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[?12l[?25h[?25l/[?12l[?25h^byteidx
[?25l

byteidx[?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei


dx(a, 4)])
[?25l:set whichwrap-=h

ENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei


dx(b, 4)])
[?25lENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5[?12l[?25h[?25l

/[?12l[?25h^byteidxcomp
[?25l

byteidxcomp[?12l[?25h[?25l

:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc


omp(a, 3), byteidxcomp(a, 4)])
[?25láxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hlet b = '.eé.'
[?25l[?12l[?25h[?25l:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc


omp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25lSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1]2, 4, 5, -1][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^substitute
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 75 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let y = substitute('123', '\zs', 'a', 'g')    | put =y

ENDTEST[?12l[?25h[?25lsubstitute[?12l[?25h[?25l



:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^substitute
[?25l[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')    | put =y
[?25la1a2a3a[?12l[?25h[?25l



/^STARTTEST


STARTTEST[?12l[?25h[?25l:g/^STARTTEST/.,/^ENDTEST/d

:1;/^Results/,$wq! test.out[?12l[?25h[?25l



:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l



/ENDTEST[?12l[?25h
[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines{ four}ra test

aaaaaaaáxbyteidx[0, 1, 3, 4, -1]

[0, 1, 4, 5, -1]byteidxcomp

[0, 1, 3, 4, -1]

[0, 1, 2, 4, 5, -1]substitute

a1a2a3a[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 166 lines, 730 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test69 = test61; then \
#	  if diff test.out test69.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test69.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test70.failed test.ok test.out X* viminfo
cp test70.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test70.in" 63 lines, 1501 charactersSmoke test for MzScheme interface and mzeval() function



STARTTEST

:so mzscheme.vim

:set nocompatible viminfo+=nviminfo

:function! MzRequire()

:redir => l:mzversion

:mz (version)

:redir END

:if strpart(l:mzversion, 1, 1) < "4"

:" MzScheme versions < 4.x:

:mz (require (prefix vim- vimext))

:else

:" newer versions:

:mz (require (prefix-in vim- 'vimext))

:mz (require r5rs)

:endif

:endfunction

:silent call MzRequire()

:mz (define l '("item0" "dictionary with list OK" "item2"))

:mz (define h (make-hash))

:mz (hash-set! h "list" l)

/^1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSmoke test for MzScheme interface and mzeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1398 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:if l2[2] == l2

:let res = "OK"

:else

:let res = "FAILED: " . l2[2]

:endif

:call setline(search("^3"), "circular test " . res)

:" funcrefs

:mz (define vim:max (vim-eval "function('max')"))

:mz (define m (vim:max '(1 100 8)))

:let m = mzeval('m')

:if m == 100

:let fref_res = "OK"

:else

:let fref_res = "FAILED: " . m

:end

:call append(line('$'), 'funcrefs '. fref_res)

:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mzscheme.vim
[?25l"test.ok" 6 lines, 94 characters


"test.out" [New File] 6 lines, 94 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test70 = test61; then \
#	  if diff test.out test70.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test70.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test73.failed test.ok test.out X* viminfo
cp test73.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test73.in" 169 lines, 3647 charactersTests for find completion.



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xfind directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a stale "Xfind" directory may exist, remove it so that

:" we start from a clean state.

:call delete("Xfind", "rf")

:new

:let cwd=getcwd()

:let test_out = cwd . '/test.out'

:call mkdir('Xfind')

:cd Xfind

:set path=

:find

:exec "w! " . test_out

:close[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds2.o ex_cmds2.c
ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for find completion.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 164 lines, 3600 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exec "cd " . cwd . "/Xfind/"

:set path=./path

:" Open the file where Jimmy Hoffa is found

:e in/file.txt

:" Find the file containing 'E.T.' in the Xfind/in/path directory

:find file

:exec "w >>" . test_out

:"

:" Test that completion works when path=.,,

:"

:set path=.,,

:" Open Jimmy Hoffa file

:e in/file.txt

:exec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu

:exec "w >>" . test_out

:q

:exec "cd " . cwd

:call delete("Xfind", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTESTtest73.in                                                                       [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xfind')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE345: Can't find file "" in path[?12l[?25h[?25l:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<d/vim-Y6ECvf/vim-8.0.0197/src/vim-basic/testdir/test.out" [New] 0L, 0C written/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in                  [?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in                  [?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in                  [?12l[?25h[?25l:[?12l[?25hset path=./**
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in                  [?12l[?25h[?25l:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('in')
[?25l[?12l[?25h[?25l:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hcall mkdir('path')
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdirtest73.in                                                     [?12l[?25h[?25l:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File]Xfind/file.txt[?12l[?25h[?25l-- INSERT --Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File]in/file.txt[?12l[?25h[?25l-- INSERT --Jimmy Hoffa[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File]stuff.txt[?12l[?25h[?25l-- INSERT --Another Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File]path/file.txt[?12l[?25h[?25l-- INSERT --E.T.[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written    [?12l[?25h[?25l:[?12l[?25hset path=Xfind/**
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/move.o move.c
[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[?12l[?25h[?25l:[?12l[?25h" recursive location.
[?25l[?12l[?25h[?25l:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path+=Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[?12l[?25h[?25l:[?12l[?25h" is Xfind/in/file.txt.
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfindin/stuff.txtf       /<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[?12l[?25h
[?25l"file.txt" 1L, 11CHoly Grailfile.txt.     [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25h" Test shortening of
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[?12l[?25h[?25l:[?12l[?25h" of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/file.txt[?12l[?25h[?25l:[?12l[?25hcall mkdir('x')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('y')
[?25l[?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/x[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfindfile.txti                                                            [?12l[?25h[?25l:[?12l[?25h" We should now be in the Xfind directory
[?25l[?12l[?25h[?25l:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File]oo/x/bar/voyager.txt[?12l[?25h[?25l-- INSERT --Voyager 1[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File]y/[?12l[?25h[?25l-- INSERT --Voyager 2[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C1x/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25ly[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C2y/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[?12l[?25h[?25l:[?12l[?25h" order of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    ./voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/fooy/bar/voyager.txt.     [?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/ybar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/y/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25lx/bar/voyager.txt[?12l[?25h
[?25l<ld/vim-Y6ECvf/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/x/bar/voyager.txt"
<Y6ECvf/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C1<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/x/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check the opposite too:
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foox/bar/voyager.txtv                                                               [?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/xbar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/x/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25ly/bar/voyager.txt[?12l[?25h
[?25l<ld/vim-Y6ECvf/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/y/bar/voyager.txt"
<Y6ECvf/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C2<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/y/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" 1L, 12CJimmy Hoffafile.txtm                                                                        [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfindin/file.txt[?12l[?25h[?25l:[?12l[?25hset path=./path
[?25l[?12l[?25h[?25l:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[?12l[?25h[?25l:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that completion works when path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h" Open Jimmy Hoffa file
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[?12l[?25h[?25l:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25hq
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test73 = test61; then \
#	  if diff test.out test73.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test73.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test75.failed test.ok test.out X* viminfo
cp test75.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test75.in" 41 lines, 1000 charactersTests for maparg().

Also test utf8 map with a 0x80 byte.



STARTTEST

:so small.vim

:so mbyte.vim

:set cpo-=<

:set encoding=utf8

:" Test maparg() with a string result

:map foo<C-V> is<F4>foo

:vnoremap <script> <buffer> <expr> <silent> bar isbar

:call append('$', maparg('foo<C-V>'))

:call append('$', string(maparg('foo<C-V>', '', 0, 1)))

:call append('$', string(maparg('bar', '', 0, 1)))

:map <buffer> <nowait> foo bar

:call append('$', string(maparg('foo', '', 0, 1)))

:"

:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for maparg().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 34 lines, 919 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"

:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" Test maparg() with a string result
[?25l[?12l[?25h[?25l:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc x<char-114>x
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc y<S-char-114>y
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25leof

is<F4>foo

{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr':: 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}

{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''sid': 0, 'rhs': 'isbar', 'buffer': 1}

{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''sid': 0, 'rhs': 'bar', 'buffer': 1}

xrx

yRy[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Outside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x1040> a
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25la[?12l[?25h[?25l:[?12l[?25h" Inside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x103f> b
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25lb[?12l[?25h[?25l:[?12l[?25h" Inside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25lc[?12l[?25h[?25l:[?12l[?25h" Outside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf040> d
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25ld[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^eof/+1,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 7 lines, 384 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test75 = test61; then \
#	  if diff test.out test75.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test75.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test77.failed test.ok test.out X* viminfo
cp test77.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test77.in" 30 lines, 719 charactersInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.



cksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST

:so small.vim

:if !executable("cksum")

: e! test.ok

: w! test.out

: qa!

:endif

:set fileformat=unix undolevels=-1

ggdG

:let i = 1

:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhileggdd

:w! Xtest[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 2 million lines with consecutive integers starting from 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 288 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:r !cksum Xtest

:s/\s/ /g

:set fileformat&

:.w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("cksum")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25lcksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST[?12l[?25h[?25l

:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[?12l[?25h[?25lInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil


egcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/os_unix.o os_unix.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mbyte.o mbyte.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_docmd.o ex_docmd.c
[?25l12345678910111213141516171819202122[?12l[?25h[?25l

23[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2000000 lines, 14888896 characters written[?12l[?25h[?25l:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[?25l1

2

3678979763 14888896 Xtest

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22[?12l[?25h[?25l:[?12l[?25hs/\s/ /g
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat&
[?25l[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 26 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test77 = test61; then \
#	  if diff test.out test77.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test77.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test79.failed test.ok test.out X* viminfo
cp test79.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test79.in" 255 lines, 3381 charactersTest for *sub-replace-special* and *sub-replace-expression* on :substitute.

Test for submatch() on :substitue.

Test for *:s%* on :substitute.

Test for :s replacing \n with  line break.



STARTTEST

:so small.vim

ENDTEST



Results of test71:



STARTTEST

:set magic

:set cpo&

/^TEST/

j:s/A/&&/

j:s/B/\&/

j:s/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/

j:s/D/d/

j:s/E/~/

j:s/F/\~/

j:s/G/\ugg/

j:s/H/\Uh\Eh/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_1:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25lA
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l&[?12l[?25h

[?25l:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set nomagic
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 351 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_2:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25l&&
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/normal.o normal.c
[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 203 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\='\\'/

j:s/C/\='^V^M'/

j:s/D/\='\^V^M'/

j:s/E/\='\\^V^M'/

j:s/F/\='\r'/

j:s/G/\='^V^@'/

j:s/H/\='\^V^@'/

j:s/I/\='\\^V^@'/

j:s/J/\='\n'/

j:s/K/\="\r"/

j:s/L/\="\n"/

ENDTEST



TEST_3:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pathdef.o auto/pathdef.c
[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\='\'/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\='\\'/
[?25l\\b
[?12l[?25h

[?25l:[?12l[?25hs/C/\='^^M'/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\='\^^M'/
[?25l\d[?12l[?25h

[?25l





:[?12l[?25hs/E/\='\\^^M'/
[?25l\\

efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\='\r'/
[?25l\rf
[?12l[?25h[?25l

gGg[?12l[?25h[?25l

:[?12l[?25hs/G/\='^^@'/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\='\^^@'/
[?25l

\h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\='\\^^@'/
[?25l

\\

i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\='\n'/
[?25l\nj
[?12l[?25h[?25l

kKk[?12l[?25h[?25l

:[?12l[?25hs/K/\="\r"/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\="\n"/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 611 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\=substitute(submatch(0), '.', '\\', '')/

j:s/C/\=substitute(submatch(0), '.', '^V^M', '')/

j:s/D/\=substitute(submatch(0), '.', '\^V^M', '')/

j:s/E/\=substitute(submatch(0), '.', '\\^V^M', '')/

j:s/F/\=substitute(submatch(0), '.', '\r', '')/

j:s/G/\=substitute(submatch(0), '.', '^V^@', '')/

j:s/H/\=substitute(submatch(0), '.', '\^V^@', '')/

j:s/I/\=substitute(submatch(0), '.', '\\^V^@', '')/

j:s/J/\=substitute(submatch(0), '.', '\n', '')/

j:s/K/\=substitute(submatch(0), '.', "\r", '')/

j:s/L/\=substitute(submatch(0), '.', "\n", '')/

ENDTEST



TEST_4:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^^M', '')/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^^M', '')/
[?25ld[?12l[?25h

[?25l





:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^^M', '')/
[?25l\efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l

f[?12l[?25h[?25l

gGg
[?12l[?25h[?25l

:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^^@', '')/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^^@', '')/
[?25l

h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^^@', '')/
[?25l

\i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l

j[?12l[?25h[?25l

kKk
[?12l[?25h[?25l

:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 445 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST/

j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .. submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch((3) . submatch(2) . submatch(1)/

j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subbmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subbmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l

TEST_5:[?12l[?25h[?25l

A123456789
[?12l[?25h[?25l

:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .


submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(


3) . submatch(2) . submatch(1)/
[?25li\

i987654321[?12l[?25h[?25l

B123456789
[?12l[?25h[?25l

:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub


match(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub


match(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25li

j[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^TEST/

:set cpo+=/

j:s/A/a/

j:s/B/%/

:set cpo-=/

j:s/C/c/

j:s/D/%/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25lTEST_6:

A

B[?12l[?25h[?25l





:[?12l[?25hset cpo+=/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/a/
[?25la[?12l[?25h

[?25l:[?12l[?25hs/B/%/
[?25la[?12l[?25h[?25l:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25lC

D[?12l[?25h[?25l





:[?12l[?25hs/C/c/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/%/
[?25l%[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 11 lines, 303 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST_7/

j:s/A./\=submatch(0)/

j:s/B./\=submatch(0)/

j:s/C./\=strtrans(string(submatch(0, 1)))/

j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/

j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/

/^Q$

:s/Q[^\n]Q/\=submatch(0)."foobar"/

:" Avoid :s error breaks dotest map on Windows.

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST_7/
[?25l

TEST_7:[?12l[?25h[?25l

A^MA
[?12l[?25h[?25l

:[?12l[?25hs/A./\=submatch(0)/
[?25l

A[?12l[?25h[?25l

B^@B
[?12l[?25h[?25l

:[?12l[?25hs/B./\=submatch(0)/
[?25l

B[?12l[?25h[?25l

C^@C
[?12l[?25h[?25l

:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l['C^@']C
[?12l[?25h[?25l

D^@[?12l[?25h[?25l

:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l['D^@', 'D']
[?12l[?25h[?25l

E^@[?12l[?25h[?25l

:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l/[?12l[?25h^Q$
[?25l

Q[?12l[?25h[?25l

:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25lE486: Pattern not found: Q[^\n]Q[?12l[?25h[?25l:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[?12l[?25h[?25l/^STARTTEST
Q



STARTTEST[?12l[?25h[?25l

:function! TitleString()
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 177 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTlet check = 'foo' =~ 'bar'

  return ""

endfunction

:set titlestring=%{TitleString()}

:/^test_one/s/.*/\="foo\nbar"/

:/^test_two/s/.*/\="foo\nbar"/c

y

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hfunction! TitleString()
[?25l

:  [?12l[?25h  let check = 'foo' =~ 'bar'


[?25l:  [?12l[?25h  return ""


[?25l:  [?12l[?25hendfunction
[?25lTEST_7:

A[?12l[?25h[?25l

:[?12l[?25hset titlestring=%{TitleString()}
[?25l[?12l[?25h[?25l:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25lfoo

bar[?12l[?25h[?25l

:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l

test_tworeplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l

foobar
[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 72 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer linesaa

c

%TEST_7:AABB['C^@']C['D^@', 'D']

['E^@', '^@', '^@', '^@', '^@E']

Q

Qfoo

bar

foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 134 lines, 574 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test79 = test61; then \
#	  if diff test.out test79.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test79.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test80.failed test.ok test.out X* viminfo
cp test80.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test80.in" 201 lines, 6298 charactersTest for *sub-replace-special* and *sub-replace-expression* on substitute().

Test for submatch() on substitute().

Test for *:s%* on :substitute.



STARTTEST

:so small.vim

ENDTEST



TEST_1:



STARTTEST

:set magic

:set cpo&

:$put =\"\n\nTEST_1:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

:$put =substitute('F', 'F', '\~', '')

:$put =substitute('G', 'G', '\ugg', '')

:$put =substitute('H', 'H', '\Uh\Eh', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on substitute().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1142 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25l:let y = substitute('123', '\zs.', 'a', 'g')| $put =y.\zs\ze', 'a', 'g') .', 'a', 'g').\ze1\|\ze', 'a', 'g')zs\|[23]', 'a', 'g')

/^TEST_11ENDTESTTEST_11:STARTTEST

:/^Results/,$wq! test.out

ENDTESTResults of test72:TEST_1:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l

x^Mx[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l

YyyY[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l

zZZz[?12l[?25h[?25l

/[?12l[?25h^TEST_2
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1144 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

u

u

v^Hv

w\w

x^Mx

YyyY

zZZz





TEST_2:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25lKk

l^Ml

mm

nn

op^Hp

q       q

r\rscs

uv^Hv

w\wx^Mx

YyyY

zZZzTEST_2:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l

t^Mt[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l

XxxX[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l

yYYy[?12l[?25h[?25l

/[?12l[?25h^TEST_3
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 642 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

t^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '')           | $put =y
[?25l

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '')         | $put =y
[?25l

b\\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\="^^M"', '')         | $put =y
[?25l

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^^M"', '')       | $put =y
[?25l

d\^Md[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^^M"', '')     | $put =y
[?25l

e\\^Me[?12l[?25h[?25l

:[?12l[?25hlgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_gtk_x11.o gui_gtk_x11.c
et y = substitute('fFf', 'F', '\="\\r"', '')          | $put =y
[?25l

f\rf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '')          | $put =y
[?25l

j\nj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '')           | $put =y
[?25l

k^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '')           | $put =y
[?25ll

l[?12l[?25h[?25l

/[?12l[?25h^TEST_4
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST



TEST_4:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_4:\"

:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')        | $put =y

:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', ''')     | $put =y

:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^V^M", "")', ''')     | $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 912 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^V^M", "")',  '')   | $put =y

:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^V^M", "")'', '') | $put =y

:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))      | $put =y

:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more linest^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

a\a

b\\b

c^Mc

d\^Md

e\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')


      | $put =y
[?25lu



v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '


')     | $put =y
[?25lu

v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^^M", "")', '')


    | $put =y
[?25lv^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^^M", "")', '


')   | $put =y
[?25lw\w

XxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^^M", "")',


'') | $put =y
[?25lXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''


)      | $put =y
[?25lyYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''


)      | $put =y
[?25lTEST_3:

a\a

b\\bc^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')


      | $put =y
[?25lTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')


      | $put =y
[?25lb\\b

c^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jjk^Mk

l

l[?12l[?25h[?25l

/[?12l[?25h^TEST_5
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST



TEST_5:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 543 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more linese\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm


atch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25lf\rf

j\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su


bmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su


bmatch(1, 1)])', '')
[?25lj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/[?12l[?25h^TEST_6
[?25lsearch hit BOTTOM, continuing at TOP:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

ENDTEST



TEST_6:



STARTTEST

:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25lTEST_7:[?12l[?25h[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more linesl





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

3 more lines[?12l[?25h[?25l:[?12l[?25hset cpo+=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l

%[?12l[?25h[?25l

:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l

c[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l

%[?12l[?25h[?25l

/[?12l[?25h^TEST_7
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

ENDTEST



TEST_7:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 313 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more linesd^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A^^MA', 'A.', '\=submatch(0)', '')
[?25l

A^MA[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25lB

B[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l['B

']B[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l

-abab[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l

c-cbcbc[?12l[?25h[?25l

/[?12l[?25h^TEST_8
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

ENDTEST



TEST_8:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 10 lines, 186 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTyy/^TEST_9:

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more linesTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =',,X'
[?25l

,,X[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25lN,,NX
[?12l[?25h[?25l:[?12l[?25h$put =',,Y'
[?25l

,,Y[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,NY
[?12l[?25h[?25l

:[?12l[?25h$put =',,Z'
[?25l

,,Z[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,Z

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l,NZ
[?12l[?25h[?25l

/[?12l[?25h^TEST_9:
[?25lsearch hit BOTTOM, continuing at TOP:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

yy/^TEST_9:

ENDTEST



TEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 82 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more linesa

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put ='xxx'
[?25l

xxx[?12l[?25h[?25l

:[?12l[?25hs/x/X/gc
[?25lx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lx[?12l[?25h[?25l

/[?12l[?25h^TEST_10:
[?25lsearch hit BOTTOM, continuing at TOPTEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 584 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more linesTEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

XXx





TEST_10:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g')            | $put =y
[?25l

1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g')            | $put =y
[?25l

a1a2a3[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g')          | $put =y
[?25l

aa2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y
[?25l

1aaa[?12l[?25h[?25l

/[?12l[?25h^TEST_11
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

AA

&

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [New File] 131 lines, 617 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test80 = test61; then \
#	  if diff test.out test80.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test80.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test82.failed test.ok test.out X* viminfo
cp test82.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test82.in" 103 lines, 3166 charactersTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 97 lines, 3055 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("multi_byte")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor[?12l[?25h[?25l





:[?12l[?25hset enc=utf8
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Ch(a, op, b, expected)
[?25l

:  [?12l[?25h:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected


[?25l:    [?12l[?25h:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a


:op, a:b, a:expected))


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    let b:passed += 1


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Chk(a, b, result)
[?25l

:  [?12l[?25h:  if a:result == 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  elseif a:result > 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 1)


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Check(a, b, result)
[?25l

:  [?12l[?25h:  call Chk(a:a, a:b, a:result)


[?25l:  [?12l[?25h:  call Chk(a:b, a:a, -a:result)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! LT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, -1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! EQ(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 0)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet b:passed=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('', '')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('', 'a')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('abc', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('AB', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'aBc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\


xd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\


xd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x


aakk\xe2\x84\xa6')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def')  " case folding stops at the first bad cha


racter
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a')  " FF3A (upper), FF5A (lower)
[?25l[?12l[?25h[?25l:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff')  " first string is ok and equals \xef\


xbd\x9a after folding, second string is illegal and was left unchanged, then the


strings were bytewise compared
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.


2X', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l3732 checks passed[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       3732 checks passedtest82.in [+]                                                                   [?12l[?25h[?25labcddefg[+][?12l[?25h[?25lABCD
[?12l[?25h[?25l:[?12l[?25hlet lns = getline(1,3)
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l3732 checks passed



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), lns)
[?25lABCDdefg[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 5 lines, 31 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test82 = test61; then \
#	  if diff test.out test82.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test82.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test84.failed test.ok test.out X* viminfo
cp test84.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test84.in" 35 lines, 786 charactersTests for curswant not changing when setting an option



STARTTEST

:so small.vim

:/^start target options$/+1,/^end target options$/-1 yank

:let target_option_names = split(@0)

:function TestCurswant(option_name)

:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction

:

:new

:put =['1234567890', '12345']

:1 delete _

:let result = []

:for option_name in target_option_names

:  call add(result, TestCurswant(option_name))

:endfor

:

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for curswant not changing when setting an option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 637 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _

:write test.out

:

:qall!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[?12l[?25h[?25l:[?12l[?25hlet target_option_names = split(@0)
[?25l[?12l[?25h[?25l:[?12l[?25hfunction TestCurswant(option_name)
[?25l

:  [?12l[?25h:  normal! ggf8j


[?25l:  [?12l[?25h:  let curswant_before = winsaveview().curswant


[?25l:  [?12l[?25h:  execute 'let' '&'.a:option_name '=' '&'.a:option_name


[?25l:  [?12l[?25h:  let curswant_after = winsaveview().curswant


[?25l:  [?12l[?25h:  return [a:option_name, curswant_before, curswant_after]


[?25l:  [?12l[?25h:endfunction
[?25l:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       endfornew

:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _write test.outqall!

ENDTESTtest84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =['1234567890', '12345']
[?25l123456789012345[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hlet result = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor option_name in target_option_names
[?25l

:  [?12l[?25h:  call add(result, TestCurswant(option_name))


[?25l:  [?12l[?25h:endfor
[?25l1234567890

12345[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       1234567890

12345

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   :1 delete _

:write test.out

:

:qall!

ENDTEST



test84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more linestabstop 7 4timeoutlen 7 7ttimeoutlen 7 7[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hwrite test.out
[?25l"test.out" [New File] 3 lines, 43 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hqall!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test84 = test61; then \
#	  if diff test.out test84.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test84.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test88.failed test.ok test.out X* viminfo
cp test88.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test88.in" 99 lines, 1449 charactersvim: set ft=vim



Tests for correct display (cursor column position) with +conceal and

tabulators.



STARTTEST

:so small.vim

:if !has('conceal')

   e! test.ok

   wq! test.out

:endif

:" Conceal settings.

:set conceallevel=2

:set concealcursor=nc

:syntax match test /|/ conceal

:" Save current cursor position. Only works in <expr> mode, can't be used

:" with :normal because it moves the cursor to the command line. Thanks to ZyX

:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.

:let positions = []

:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"

:" Start test.

/^start:

:normal ztj[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lvim: set ft=vim[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 82 lines, 1216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:normal W

GGk

:normal W

GGk

:normal W

GGk

:normal $

GGk

:" Display result.

:call append('$', 'end:')

:call append('$', positions)

:/^end/,$wq! test.out

ENDTEST



start:

.concealed.     text

|concealed|     text.concealed.     text|concealed|     text



.a.     .b.     .c.     .d.

|a|     |b|     |c|     |d|[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('conceal')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:normal W

GGk

:normal W[?12l[?25h[?25l:[?12l[?25h" Conceal settings.
[?25l[?12l[?25h[?25l:[?12l[?25hset conceallevel=2
[?25l[?12l[?25h[?25l:[?12l[?25hset concealcursor=nc
[?25l[?12l[?25h[?25l:[?12l[?25hsyntax match test /|/ conceal
[?25lconcealed  concealed  





a       b       c       d[?12l[?25h[?25l:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[?12l[?25h[?25l:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[?12l[?25h[?25l:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[?12l[?25h[?25l:[?12l[?25hlet positions = []
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[?12l[?25h[?25l:[?12l[?25h" Start test.
[?25l[?12l[?25h[?25l/[?12l[?25h^start:
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ztj
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:let positions += ['2:1']
[?12l[?25h[?25l:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[?12l[?25h[?25l:[?12l[?25h" lines.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['2:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['2:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['3:1']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['3:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['3:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['5:8']
[?12l[?25h[?25l:[?12l[?25h" Same for next test block.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['5:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['5:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['6:8']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['6:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['6:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['8:1']
[?12l[?25h[?25l:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['8:27']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset lbr
[?25l[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset list listchars=tab:>-
[?25l>------



>------->----

>------->------>----.b.>----.c.>----

a>------b>------c>------[?12l[?25h[?25l:[?12l[?25hnormal 0
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25h" Display result.
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', 'end:')
[?25lend:[?12l[?25h[?25l:[?12l[?25hcall append('$', positions)
[?25l2:12:172:203:13:173:205:85:255:286:86:256:288:1[?12l[?25h[?25l:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [New File] 29 lines, 135 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test88 = test61; then \
#	  if diff test.out test88.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test88.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test90.failed test.ok test.out X* viminfo
cp test90.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test90.in" 53 lines, 1204 charactersTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :



STARTTEST

:so small.vim

:if !has('cryptv') || !exists('*sha256')

   e! test.ok

   wq! test.out

:endif

:"

:let testcase='test for empty string: '

:if sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522b855'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for 1 char: '

:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afeee48bb'

: let res='ok'

:else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for contains non-ascii char: '

:if sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00b8d27db8d5feaa813953'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc3[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for empty string: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785


2b855'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25l

test for empty string: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 1 char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af


ee48bb'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for 1 char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61


f20015ad'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25ltest for 3 chars: ok

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c


c39ed110ca776'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25ltest for contains meta char: ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb


0b8d27db8d5feaa813953'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for contains non-ascii char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 6 lines, 143 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test90 = test61; then \
#	  if diff test.out test90.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test90.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test91.failed test.ok test.out X* viminfo
cp test91.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test91.in" 116 lines, 3240 charactersTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().

vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Use strings to test for memory leaks.

:" First, check that in an empty window, gettabvar() returns the correct value

:let t:testvar='abcd'

:$put =string(gettabvar(1,'testvar'))

:$put =string(gettabvar(1,'testvar'))

:" Test for getbufvar()

:let b:var_num = '1234'

:let def_num = '5678'

:$put =string(getbufvar(1, 'var_num'))

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))

:unlet b:var_num

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 109 lines, 3127 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:tabnext

:3wincmd w

:unlet w:var_dict

:tabrewind

:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:$put =string(gettabwinvar(2, 9, ''))

:$put =string(gettabwinvar(2, 9, '', def_dict))

:$put =string(gettabwinvar(9, 3, ''))

:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict

:$put =string(gettabwinvar(2, 3, '&nux'))

:$put =string(gettabwinvar(2, 3, '&nux', 1))

:tabonly

:"

:/^start/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Use strings to test for memory leaks.
[?25l[?12l[?25h[?25l:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:testvar='abcd'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h" Test for getbufvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:var_num = '1234'
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_num = '5678'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25hunlet b:var_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25hunlet def_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Open new window with forced option values
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       {'var_num': '1234'}



'5678'{}''

'5678'

0test91.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25l:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict:$put =string(gettabwinvar(2, 3, '&nux')):$put =string(gettabwinvar(2, 3, '&nux', 1)):tabonly:":/^start/,$wq! test.outENDTESTstart:'abcd''abcd''1234'{'var_num': '1234'}

'5678'



{}

'''5678'



0[?12l[?25h[?25l:[?12l[?25h$put =otherff
[?25l

dos[?12l[?25h[?25l

:[?12l[?25h$put =string(otherbin)
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =otherfenc
[?25l

iso-8859-2[?12l[?25h[?25l

:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[?12l[?25h[?25l:[?12l[?25h" test for getwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet w:var_str = "Dance"
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_str = "Chance"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25hunlet w:var_str
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu',  1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25hunlet def_str
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:other = 777
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X{'var_num': '1234'}

'5678'

{}

{}

''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list'))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25htablast
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hunlet t:var_list
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25hunlet def_list
[?25l[?12l[?25h[?25l:[?12l[?25htabonly
[?25ldos[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabprev
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hsplit
[?25l2N o[No Name]  [No Name]  X[No Name]                                                                       [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hsplit
[?25l + test91.in  3 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                                                        [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25hvert split
[?25l4  X||||||~~~~~[No Name]                              [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                 [No Name]                               X[?12l[?25h[?25l:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd b
[?25l[No Name]                               [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict'))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25htabnext
[?25l + test91.in  4 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ||||||~                                       

~                                       

~                                       

~                                       

~                                       

[No Name]                                ~                                      ~                                      ~                                      ~                                      ~                                      [No Name]                              ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                              [No Name]                                                                         X[?12l[?25h[?25l:[?12l[?25hunlet w:var_dict
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]

{'dict': 'tabwin'}

{'dict': 'tabwin'}

{'var_dict': {'dict': 'tabwin'}}

{'var_dict': {'dict': 'tabwin'}}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25hunlet def_dict
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l

1[?12l[?25h[?25l

:[?12l[?25htabonly
[?25l0[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 50 lines, 530 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test91 = test61; then \
#	  if diff test.out test91.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test91.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test94.failed test.ok test.out X* viminfo
cp test94.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test94.in" 256 lines, 4824 charactersTest for Visual mode and operators



Tests for the two kinds of operations: Those executed with Visual mode

followed by an operator and those executed via Operator-pending mode. Also

part of the test are mappings, counts, and repetition with the . command.



Test cases:

- Visual modes (v V CTRL-V) followed by an operator; count; repeating

- Visual mode maps; count; repeating

  - Simple

  - With an Ex command (custom text object)

- Operator-pending mode maps

  - Simple

  - With Ex command moving the cursor

  - With Ex command and Visual selection (custom text object)

- Patch 7.3.879: Properly abort Ex command in Operator-pending mode



STARTTEST

:so small.vim

:set enc=utf-8 nocp viminfo+=nviminfo

:

:" User functions

:function MoveToCap()[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Visual mode and operators[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 211 lines, 3837 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" User functions
[?25l[?12l[?25h[?25l:[?12l[?25hfunction MoveToCap()
[?25l

:  [?12l[?25h:  call search('\u', 'W')


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'[?12l[?25h[?25l:[?12l[?25hfunction SelectInCaps()
[?25l

:  [?12l[?25h:  let [line1, col1] = searchpos('\u', 'bcnW')


[?25l:  [?12l[?25h:  let [line2, col2] = searchpos('.\u', 'nW')


[?25l:  [?12l[?25h:  call setpos("'<", [0, line1, col1, 0])


[?25l:  [?12l[?25h:  call setpos("'>", [0, line2, col2, 0])


[?25l:  [?12l[?25h:  normal! gv


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual modes followed by operator
[?25l[?12l[?25h[?25l/[?12l[?25h^apple
[?25l[?12l[?25ha[?25l-- VISUAL --[?12l[?25h[?25lp[?12l[?25h[?25lle banana cherry[?12l[?25h[?25l banana cherry[?12l[?25h [?25lbanan-- VISUAL --[?12l[?25h[?25l
a  cherry[?12l[?25h[?25ly[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^line 1
[?25l[?12l[?25h[?25lline 1 line 1 -- VISUAL LINE --[?12l[?25h[?25lINSERT --Nnewline[?12l[?25h[?25l-- INSERT --newline[?12l[?25h[?25l
line 3 line 3 

line 4 line 4 





-- VISUAL LINE --[?12l[?25h[?25lline 5 line 5line 6 line 6xxxxxxxxxxxxx[?12l[?25h[?25lxxxxxxxxxxxxx

xxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^xxxx
[?25l[?12l[?25h[?25l





-- VISUAL BLOCK --[?12l[?25h[?25lx

[?12l[?25h[?25lx

x[?12l[?25h[?25lINSERT --O  

  [?12l[?25h [?25l





-- INSERT --  

    [?12l[?25h [?25l

xxxx

    xxxx

xxxxxxxx

xxxxxxxxxxxxx

-- VISUAL BLOCK --[?12l[?25h[?25l

-- INSERT --O----

    ----

xxxx----

xxxx----[?12l[?25h-[?25l-- INSERT ------------------[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Kiwi
[?25lKiwiRaspberryDateWatermelonPeach[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25l/\u/s-1
Kiw[?12l[?25h[?25l

-- INSERT --NoRaspberryDateWatermelonPeach[?12l[?25ho[?25l

-- INSERT --NoberryDateWatermelonPeach[?12l[?25hoberry[?25lDateWat

-- VISUAL --[?12l[?25h[?25lrmelonPeach[?12l[?25h[?25lach[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Jambu
[?25l

JambuRambutanBananaTangerineMango[?12l[?25hJa[?25l

-- VISUAL --[?12l[?25h[?25l:'<,'>call SelectInCaps()
Jamb[?12l[?25h[?25l

-- INSERT ---RambutanBananaTangerineMango[?12l[?25h-[?25l

-- INSERT ---tanBananaTangerineMango[?12l[?25h-[?25ltanBanana

-- VISUAL --[?12l[?25h[?25l
--angerineMango[?12l[?25ha[?25lgo[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25honoremap W /\u/<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Pineapple
[?25lPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h[?25l

/\u/
-QuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---LoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---GrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---Z[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Juniper
[?25l

JuniperDurianZ[?12l[?25h[?25l

:call MoveToCap()
Whavcre
[?12l[?25h[?25l:call MoveToCap()
Qhevna[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Lemon
[?25l

LemonNectarineZ[?12l[?25h[?25l

:call SelectInCaps()
[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l:call SelectInCaps()
NewNectarineZ[?12l[?25hwNecta[?25l

:call SelectInCaps()
wZ[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[?12l[?25h[?25l/[?12l[?25h^zzzz
[?25lzzzz[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25lE21: Cannot make changes, 'modifiable' is off[?12l[?25h[?25l:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l

characterwise visual mode: replace last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25hlet @" = 'x'
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l

v:errmsg=[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l

characterwise visual mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l

characterwise visual mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l

characterwise visual mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l

characterwise visual mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Select mode maps
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>End> <End>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l

characterwise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l

characterwise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l

characterwise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- SELECT --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l

characterwise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- SELECT --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l

linewise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25lbc

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l

linewise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25la

b 
[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l

linewise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lc 

-- SELECT LINE --[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l

linewise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lb 



-- SELECT LINE --[?12l[?25h[?25lb

c 
[?12l[?25h[?25l~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l

v_p: replace last character with line register at middle line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25laaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25lccc

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting


newline'
[?25llinewise select mode: delete middle two line

c---linewise select mode: delete last line

ab

---linewise select mode: delete last two line

a---v_p: replace last character with line register at middle line

aaabbaaaccc

---v_p: replace last character with line register at middle line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25lb[?12l[?25h[?25laaa[?12l[?25h[?25l

ccc
[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l

v_p: replace last character with line register at last line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n


ewline'
[?25laaa

bbaaaccc

---v_p: replace last character with line register at middle line selecting newline

aaabbaaa

ccc

---v_p: replace last character with line register at last line

aaabbb

ccaaa---v_p: replace last character with line register at last line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l

gv in exclusive select mode after operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25h$put ='äà '
[?25l

äÃ[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h

[?25l

-- VISUAL --[?12l[?25h[?25läÃ[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l

gv in exclusive select mode without operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h/^start:/+2,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 123L, 1328C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test94 = test61; then \
#	  if diff test.out test94.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test94.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test95.failed test.ok test.out X* viminfo
cp test95.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test95.in" 141 lines, 5827 charactersTest for regexp patterns with multi-byte support, using utf-8.

See test64 for the non-multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:so mbyte.vim

:set nocp encoding=utf-8 viminfo+=nviminfo nomore

:" tl is a List of Lists with:

:"    2: test auto/old/new  0: test auto/old  1: test auto/new

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:

:"""" Multi-byte character tests. These will fail unless vim is compiled

:"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns with multi-byte support, using utf-8.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 131 lines, 5590 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h[?25l





:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    2: test auto/old/new  0: test auto/old  1: test auto/new
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[?12l[?25h[?25l:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])^I^I^I^I^I^I^I^I" equivalence


classes
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij


asoifjos'])
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']


)[?25l:endif[?12l[?25h[?25l





:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" this is not a normal "i" but 0xec
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p\+', 'ìa', 'ìa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aあ', 'aあ'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of some character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\i\+', '&*¨xx ', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\f\+', '&*<9f>fname ', 'fname'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test composing character matching
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.ม', 'xมม่x yมy', 'yม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.มม่', 'xมม่x yมy', 'xมม่'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ca", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\%C', "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%C', "ca\u0300t", "ca\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%Ct', "ca\u0300t", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test \Z
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ú\Z', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְ\Z', 'ווְייַ', 'ייַ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\\+\\Z", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\\Z\u05b9\\+", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[=a=]]\+', 'ddaãâbcd', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25lOK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi double: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25lOK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25lOK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0

eng 2 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi double: 0[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 140L, 2022C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test95 = test61; then \
#	  if diff test.out test95.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test95.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test98.failed test.ok test.out X* viminfo
cp test98.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test98.in" 43 lines, 908 charactersTest for 'scrollbind' causing an unexpected scroll of one of the windows.

STARTTEST

:so small.vim

:" We don't want the status line to cause problems:

:set laststatus=0

:let g:totalLines = &lines * 20

:let middle = g:totalLines / 2

:wincmd n

:wincmd o

:for i in range(1, g:totalLines)

:    call setline(i, 'LINE ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:aboveleft vert new

:for i in range(1, g:totalLines)

:    call setline(i, 'line ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:" Execute the following two command at once to reproduce the problem.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind' causing an unexpected scroll of one of the windows.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 791 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:setl scb | wincmd p

:setl scb

:wincmd w

:let topLineLeft = line('w0')

:wincmd p

:let topLineRight = line('w0')

:setl noscrollbind

:wincmd p

:setl noscrollbind

:q!

:%del _

:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight))

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We don't want the status line to cause problems:
[?25l[?12l[?25h[?25l:[?12l[?25hset laststatus=0
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[?12l[?25h[?25l:[?12l[?25hlet middle = g:totalLines / 2
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd n
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd o
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'LINE ' . i)


[?25l:  [?12l[?25h:endfor
[?25lLINE 1

LINE 2

LINE 3LINE 4LINE 5LINE 6LINE 7LINE 8LINE 9LINE 10LINE 11LINE 12LINE 13LINE 14LINE 15LINE 16LINE 17LINE 18LINE 19LINE 20LINE 21LINE 22LINE 23[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25lLINE 229

LINE 230

LINE 231

LINE 232

LINE 233

LINE 234

LINE 235

LINE 236

LINE 237

LINE 238

LINE 239

LINE 240

LINE 241

LINE 242

LINE 243

LINE 244

LINE 245

LINE 246

LINE 247

LINE 248

LINE 249

LINE 250

LINE 251[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lLINE 252

LINE 253

LINE 254

LINE 255

LINE 256

LINE 257

LINE 258

LINE 259

LINE 260

LINE 261

LINE 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25haboveleft vert new
[?25l        |||||||||||||||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       LINE 240LINE 241LINE 242LINE 243LINE 244LINE 245LINE 246LINE 247LINE 248LINE 249LINE 250LINE 251LINE 252LINE 253LINE 254LINE 255LINE 256LINE 257LINE 258LINE 259LINE 260LINE 261LINE 262[?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'line ' . i)


[?25l:  [?12l[?25h:endfor
[?25lline 1|

line 2|

line 3                                  

line 4                                  

line 5                                  

line 6                                  

line 7                                  

line 8                                  

line 9                                  

line 10                                 

line 11                                 

line 12                                 

line 13                                 

line 14                                 

line 15                                 

line 16                                 

line 17                                 

line 18                                 

line 19                                 

line 20                                 

line 21                                 

line 22                                 

line 23                                 LINE 240LINE 241[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25l2293023123223323423523623723823924024124224324424524624748495051[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lline 240                                

line 241                                

line 242                                

line 243                                

line 244                                

line 245                                

line 246                                

line 247                                

line 248                                

line 249                                

line 250                                

line 251                                

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        line 252

line 253

line 254

line 255

line 256

line 257

line 258

line 259

line 260

line 261

line 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb | wincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineLeft = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineRight = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25lLINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINE[?12l[?25h[?25l:[?12l[?25h%del _
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall setgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/gui_gtk_gresources.o auto/gui_gtk_gresources.c
line(1, 'Difference between the top lines (left - right): ' . string(t


opLineLeft - topLineRight))
[?25lDifference between the top lines (left - right): 0[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 51 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters:normal M:" Execute the following two command at once to reproduce the problem.:setl scb | wincmd p:setl scb:wincmd w:let topLineLeft = line('w0'):wincmd p:let topLineRight = line('w0'):setl noscrollbind:wincmd p:setl noscrollbind:q!:%del _:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight)):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test98 = test61; then \
#	  if diff test.out test98.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test98.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test99.failed test.ok test.out X* viminfo
cp test99.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test99.in" 69 lines, 1400 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test44 for exactly the same test with re=1.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=2

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_eval.o ex_eval.c
[New File] 43 lines, 931 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


/[?12l[?25h[\u4f7f\u5929]\+
[?25l


/[?12l[?25h\%U12345678
[?25l


/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l"test.out" 23L, 264C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test99 = test61; then \
#	  if diff test.out test99.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test99.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perl.o auto/if_perl.c
rm -rf X* test.ok viminfo
rm -rf test103.failed test.ok test.out X* viminfo
cp test103.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test103.in" 37 lines, 823 charactersTest for visual mode not being reset causing E315 error.

STARTTEST

:so small.vim

:enew

:let g:msg="Everything's fine."

:function! TriggerTheProblem()

:" At this point there is no visual selection because :call reset it.

:" Let's restore the selection:

:normal gv

:'<,'>del _

:try

:exe "normal \<Esc>"

:catch /^Vim\%((\a\+)\)\=:E315/

:echom 'Snap! E315 error!'

:let g:msg='Snap! E315 error!'

:endtry

:endfunction

:enew

:setl buftype=nofile

:call append(line('$'), 'Delete this line.')

:"

:"

:" NOTE: this has to be done by a call to a function because executing :del the[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for visual mode not being reset causing E315 error.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 723 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"ex-way will require the colon operator which resets the visual mode thuus

:"preventing the problem:

:"

GV:call TriggerTheProblem()

:%del _

:call append(line('$'), g:msg)

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25henew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:msg="Everything's fine."
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! TriggerTheProblem()
[?25l

:  [?12l[?25h:^I" At this point there is no visual selection because :call reset it.


[?25l:  [?12l[?25h:^I" Let's restore the selection:


[?25l:  [?12l[?25h:^Inormal gv


[?25l:  [?12l[?25h:^I'<,'>del _


[?25l:  [?12l[?25h:^Itry


[?25l:    [?12l[?25h:^I^Iexe "normal \<Esc>"


[?25l:    [?12l[?25h:^Icatch /^Vim\%((\a\+)\)\=:E315/


[?25l:    [?12l[?25h:^I^Iechom 'Snap! E315 error!'


[?25l:    [?12l[?25h:^I^Ilet g:msg='Snap! E315 error!'


[?25l:    [?12l[?25h:^Iendtry


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25henew
[?25l[?12l[?25h[?25l:[?12l[?25hsetl buftype=nofile
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25lDelete this line.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[?12l[?25h[?25l:[?12l[?25h"       ex-way will require the colon operator which resets the visual mode th


us[?25l[?12l[?25h[?25l:[?12l[?25h"       preventing the problem:
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h

[?25lDelete this line. 
[?12l[?25h[?25l:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h%del _
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), g:msg)
[?25lEverything's fine.[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters:endtry

:endfunction:enew:setl buftype=nofile:call append(line('$'), 'Delete this line.'):":":" NOTE: this has to be done by a call to a function because executing :del the:"       ex-way will require the colon operator which resets the visual mode thuus:"       preventing the problem::"GV:call TriggerTheProblem():%del _:call append(line('$'), g:msg):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test103 = test61; then \
#	  if diff test.out test103.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test103.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test104.failed test.ok test.out X* viminfo
cp test104.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test104.in" 30 lines, 698 charactersTests for :let.  vim: set ft=vim ts=8 :



STARTTEST

:so small.vim

:set runtimepath+=./sautest

:" Test to not autoload when assigning.  It causes internal error.

:try

:  let Test104#numvar = function('tr')

:  $put ='OK: ' . string(Test104#numvar)

:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try

:    redir => messages

:    execute 'let' letargs

:    redir END

:    $put ='OK:'

:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :let.  vim: set ft=vim ts=8 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 24 lines, 618 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:    $put ='FAIL: ' . v:exception

:    redir END

:  endtry

:endfor

:/^Results/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset runtimepath+=./sautest
[?25l[?12l[?25h[?25l:[?12l[?25h" Test to not autoload when assigning.  It causes internal error.
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let Test104#numvar = function('tr')


[?25l:  [?12l[?25h:  $put ='OK: ' . string(Test104#numvar)


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  $put ='FAIL: ' . v:exception


[?25l:  [?12l[?25h:endtry
[?25l:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try:    redir => messages

:    execute 'let' letargsEND$put ='OK:'$put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch'FAIL: ' . v:exception  redir END

:  endtryendfor/^Results/,$wq! test.out

ENDTESTResults of test104:

OK: function('tr')[?12l[?25h[?25l

:[?12l[?25hlet a = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = 2
[?25l[?12l[?25h[?25l:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0


== 1 ? "a" : "b"}']
[?25l:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    redir => messages


[?25l:    [?12l[?25h:    execute 'let' letargs


[?25la#1


b#2


:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:    $put ='OK:'


[?25l:    [?12l[?25h:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='FAIL: ' . v:exception


[?25l:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor


[?25lb#2


b#2


a#1


a#1


b#2


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 13 lines, 244 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test104 = test61; then \
#	  if diff test.out test104.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test104.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test107.failed test.ok test.out X* viminfo
cp test107.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test107.in" 38 lines, 717 charactersTests for adjusting window and contents     vim: set ft=vim :



STARTTEST

:so small.vim

:new

:call setline(1, range(1,256))

:let r=[]

:func! GetScreenStr(row)

:   let str = ""

:   for c in range(1,3)

:let str .= nr2char(screenchar(a:row, c))

:   endfor

:   return str

:endfunc

:

:exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for adjusting window and contents     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 32 lines, 628 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:"/^start:/,$wq! test.out

ENDTESTtest107.in                                                                      [?12l[?25h[?25l:[?12l[?25hcall setline(1, range(1,256))
[?25l1

234567891011[+][?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! GetScreenStr(row)
[?25l

:  [?12l[?25h:   let str = ""


[?25l:  [?12l[?25h:   for c in range(1,3)


[?25l:    [?12l[?25h:       let str .= nr2char(screenchar(a:row, c))


[?25l:    [?12l[?25h:   endfor


[?25l:  [?12l[?25h:   return str


[?25l:  [?12l[?25h:endfunc
[?25l1

2

3

4

5

6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[No Name] [+]                                                                   :let s3=GetScreenStr(1)test107.in                                                                      [?12l[?25h[?25l:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l50

51

52

53

54

55

56

57

58

59

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l59

60

61

62

63

64

65

66

67

68

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25h:wincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l::exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

::exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:":/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

[1, '1  ']

[50, '50 ']

[59, '59 ']3 more lines[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 4 lines, 42 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test107 = test61; then \
#	  if diff test.out test107.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test107.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test108.failed test.ok test.out X* viminfo
cp test108.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test108.in" 88 lines, 1329 charactersTests for backtrace debug commands.     vim: set ft=vim :



STARTTEST

:so small.vim

:lang mess C

:function! Foo()

:   let var1 = 1

:   let var2 = Bar(var1) + 9

:   return var2

:endfunction

:

:function! Bar(var)

:    let var1 = 2 + a:var

:    let var2 = Bazz(var1) + 4

:    return var2

:endfunction

:

:function! Bazz(var)

:    let var1 = 3 + a:var

:    let var3 = "another var"

:    return var1

:endfunction

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for backtrace debug commands.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 83 lines, 1251 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTup

b

echo "fil is not frame or finish, it is file"

fil

echo "\n- relative backtrace movement\n"

fr -1

frame

fra +1

fram

echo "\n- go beyond limits does not crash\n"

fr 100

fra

frame -40

fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Foo()
[?25l

:  [?12l[?25h:   let var1 = 1


[?25l:  [?12l[?25h:   let var2 = Bar(var1) + 9


[?25l:  [?12l[?25h:   return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bar(var)
[?25l

:  [?12l[?25h:    let var1 = 2 + a:var


[?25l:  [?12l[?25h:    let var2 = Bazz(var1) + 4


[?25l:  [?12l[?25h:    return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bazz(var)
[?25l

:  [?12l[?25h:    let var1 = 3 + a:var


[?25l:  [?12l[?25h:    let var3 = "another var"


[?25l:  [?12l[?25h:    return var1


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       echo "\n- final result 19:"

cont:0debuggreedy

:redir END$put =out

:w! test.out

:qa!ENDTESTtest108.in                                                                      [?12l[?25h[?25l:[?12l[?25hdebuggreedy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => out
[?25l[?12l[?25h[?25l:[?12l[?25hdebug echo Foo()
[?25lEntering Debug mode.  Type "cont" to continue.


cmd: echo Foo()


>[?12l[?25hstep


[?25lfunction Foo


line 1: let var1 = 1


>[?12l[?25hstep


[?25lfunction Foo


line 2: let var2 = Bar(var1) + 9


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 1: let var1 = 2 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 2: let var2 = Bazz(var1) + 4


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 1: let var1 = 3 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "- show backtrace:\n"


[?25l- show backtrace:


>[?12l[?25hbacktrace


[?25l  2 function Foo[2]


  1 Bar[2]


->0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "\nshow variables on different levels:\n"


[?25l

show variables on different levels:


>[?12l[?25hecho var1


[?25l6

>[?12l[?25hup


[?25l>[?12l[?25hback


[?25l  2 function Foo[2]


->1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l3

>[?12l[?25hu


[?25l>[?12l[?25hbt


[?25l->2 function Foo[2]


  1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l1

>[?12l[?25hecho "\n- undefined vars:\n"


[?25l

- undefined vars:


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: return var1


>[?12l[?25hframe 2


[?25l>[?12l[?25hecho "undefined var3 on former level:"


[?25lundefined var3 on former level:


>[?12l[?25hecho var3


[?25lError detected while processing function Foo[2]..Bar[2]..Bazz:


line    3:


E121: Undefined variable: var3


E15: Invalid expression: var3


>[?12l[?25hfr 0


[?25l>[?12l[?25hecho "here var3 is defined with \"another var\":"


[?25lhere var3 is defined with "another var":


>[?12l[?25hecho var3


[?25lanother var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: End of function


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: return var2


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: End of function


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nundefined var2 on former level"


[?25l

undefined var2 on former level


>[?12l[?25hecho var2


[?25lError detected while processing function Foo[2]..Bar:


line    3:


E121: Undefined variable: var2


E15: Invalid expression: var2


>[?12l[?25hdown


[?25l>[?12l[?25hecho "here var2 is defined with 10:"


[?25lhere var2 is defined with 10:


>[?12l[?25hecho var2


[?25l10


>[?12l[?25hecho "\n- backtrace movements:\n"


[?25l

- backtrace movements:


>[?12l[?25hb


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\nnext command cannot go down, we are on bottom\n"


[?25l

next command cannot go down, we are on bottom


>[?12l[?25hdown


[?25lframe is zero


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nnext command cannot go up, we are on top\n"


[?25l

next command cannot go up, we are on top


>[?12l[?25hup


[?25lframe at highest level: 1


>[?12l[?25hb


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "fil is not frame or finish, it is file"


[?25lfil is not frame or finish, it is file


>[?12l[?25hfil


[?25l"[No Name]" --No lines in buffer--


>[?12l[?25hecho "\n- relative backtrace movement\n"


[?25l

- relative backtrace movement


>[?12l[?25hfr -1


[?25l>[?12l[?25hframe


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hfra +1


[?25l>[?12l[?25hfram


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "\n- go beyond limits does not crash\n"


[?25l

- go beyond limits does not crash


>[?12l[?25hfr 100


[?25lframe at highest level: 1


>[?12l[?25hfra


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hframe -40


[?25lframe is zero


>[?12l[?25hfram


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\n- final result 19:"


[?25l

- final result 19:


>[?12l[?25hcont


[?25l19


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h0debuggreedy
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST



test108.in                                                                      [?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25h$put =out
[?25l83 more lines->1 function Foo[2]

  0 Barline 3: End of functionframe is zero  1 function Foo[2]->0 Barline 3: End of function- final result 19:19[+][?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 84 lines, 1390 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test108 = test61; then \
#	  if diff test.out test108.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test108.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autocmd_option.failed test.ok test.out X* viminfo
cp test_autocmd_option.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autocmd_option.in" 77 lines, 2954 charactersTest for option autocommand



STARTTEST

:so small.vim

:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! ttest.out | qa! | endif

:fu! AutoCommand(match)

:let c=g:testcase

:let item=remove(g:options, 0)

:let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope:  <%s>\n", item[0], item[1], item[2], item[3])

:let c.=printf("Autocmd Option: <%s>,", a:match)

:let c.=printf(" OldVal: <%s>,", v:option_old)

:let c.=printf(" NewVal: <%s>,", v:option_new)

:let c.=printf(" Scope: <%s>\n", v:option_type)

:call setreg('r', printf("%s\n%s", getreg('r'), c))

:endfu

:au OptionSet * :call AutoCommand(expand("<amatch>"))

:let g:testcase="1: Setting number option\n"

:let g:options=[['number', 0, 1, 'global']]

:set nu

:let g:testcase="2: Setting local number option\n"

:let g:options=[['number', 1, 0, 'local']][?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for option autocommand[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 2896 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)

:" Write register now, because next test shouldn't output anything.

:$put r

:let @r=''

:let g:testcase="\n15: Setting key option, shouldn't trigger\n"

:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

:setlocal key=blah

:setlocal key=

:$put =g:testcase

:$put r

:/^dummy text/,$w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! 


test.out | qa! | endif
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hfu! AutoCommand(match)
[?25l

:  [?12l[?25h:^Ilet c=g:testcase


[?25l:  [?12l[?25h:       let item=remove(g:options, 0)


[?25l:  [?12l[?25h:       let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Sco


pe: <%s>\n", item[0], item[1], item[2], item[3])


[?25l:  [?12l[?25h:       let c.=printf("Autocmd Option: <%s>,", a:match)


[?25l:  [?12l[?25h:       let c.=printf(" OldVal: <%s>,", v:option_old)


[?25l:  [?12l[?25h:       let c.=printf(" NewVal: <%s>,", v:option_new)


[?25l:  [?12l[?25h:       let c.=printf(" Scope: <%s>\n", v:option_type)


[?25l:  [?12l[?25h:       call setreg('r', printf("%s\n%s", getreg('r'), c))


[?25l:  [?12l[?25h:endfu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)[?12l[?25h[?25l

:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ai!
[?25l[?12l[?25h[?25l:[?12l[?25h Should not print anything, use :noa
[?25lE492: Not an editor command: Should not print anything, use :noa[?12l[?25h[?25l:[?12l[?25hnoa :set nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset list nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"$

     57 :let g:options=[['backup', '', '1', 'local']]$

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger$

     59 :call setbufvar(1, '&l:bk', 1)$

     60 : "should trigger, use correct option name$

     61 :call setbufvar(1, '&backup', 1)$

     62 :let g:testcase="14: Setting number option using setwinvar\n"$

     63 :let g:options=[['number', 0, 1, 'local']]$

     64 :call setwinvar(0, '&number', 1)$

     65 :" Write register now, because next test shouldn't output anything.$

     66 :$put r$

     67 :let @r=''$

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"$

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]$

     70 :setlocal key=blah$

     71 :setlocal key=$

     72 :$put =g:testcase$

     73 :$put r$

     74 :/^dummy text/,$w! test.out$

     75 :qa!$

     76 ENDTEST$

     77 dummy text$[?12l[?25h[?25l:[?12l[?25hnoa set nolist nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal acd
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal invar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hlet &bs="eol,indent,start"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec


ond time, it should trigger
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25lE355: Unknown option: l:bk[?12l[?25h[?25l:[?12l[?25h "should trigger, use correct option name
[?25l[?12l[?25h[?25l:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[?12l[?25h[?25l:[?12l[?25h$put r
[?25l60 more lines117Autocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>11811910: Setting local autoread    120 Expected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>121Autocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>12212311: Setting global autoread124Expected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>125Autocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>12612712: Setting option backspace through :let128Expected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoope: <global>129Autocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoope: <global>131313: Setting option backspace through setbufvar()13Expected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>13Autocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>131314: Setting number option using setwinvar13xpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>13Autocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[?12l[?25h[?25l:[?12l[?25hlet @r=''
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=blah
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:testcase
[?25l    138 

    139 15: Setting key option, shouldn't trigger[?12l[?25h[?25l

:[?12l[?25h$put r
[?25l

    140 [?12l[?25h[?25l

:[?12l[?25h/^dummy text/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 64 lines, 2700 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autocmd_option = test61; then \
#	  if diff test.out test_autocmd_option.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autocmd_option.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autoformat_join.failed test.ok test.out X* viminfo
cp test_autoformat_join.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_getln.o ex_getln.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ops.o ops.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autoformat_join.in" 23 lines, 524 charactersTests for setting the '[,'] marks when joining lines.



STARTTEST

:so small.vim

:/^\t\t/

0gqj:

:let a=string(getpos("'[")).'/'.string(getpos("']"))

:/^This line/;'}-join

:let b=string(getpos("'[")).'/'.string(getpos("']"))

:$put ='First test: Start/End '.string(a)

:$put ='Second test: Start/End '.string(b)

:/^\t\t/,$wq! test.out

ENDTESTO sodales, ludite, vos qui

attamen consulite per voster honur. Tua pulchra facies me fay planszer milies



This line.

Should be joined with the next line

and with this line



Results:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for setting the '[,'] marks when joining lines.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 9 lines, 265 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^\t\t/
[?25l[?12l[?25h[?25lattamen consulite per voster honur.

Tua pulchra facies me fay planszer milies[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h/^This line/;'}-join
[?25lThis line.  Should be joined with the next line and with this line





~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25lFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[?12l[?25h[?25l:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25lSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[?12l[?25h[?25l:[?12l[?25h/^\t\t/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 292 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autoformat_join = test61; then \
#	  if diff test.out test_autoformat_join.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autoformat_join.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_changelist.failed test.ok test.out X* viminfo
cp test_changelist.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_changelist.in" 22 lines, 288 charactersTest changelist position after splitting window

Set 'undolevels' to make changelist for sourced file



STARTTEST

:so small.vim

Gkylp:set ul=100

Gylp:set ul=100

gg

:vsplit

:try

:  normal g;

:  normal ggVGcpass^[

:catch

:  normal ggVGcfail^[

:finally

:  %w! test.out

:endtry

:qa!

ENDTEST



1

2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest changelist position after splitting window[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 163 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h



[?25l11[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l22[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l:[?12l[?25hvsplit
[?25l|

 window                                 |

Set 'undolevels' to make changelist for |

sourced file|

             |

STARTTEST       |

:so small.vim  |

Gkylp:set ul=100|

Gylp:set ul=100|

gg  |

:vsplit     |

:try                  |

:  normal g;|pass|

:catch  |

:  normal ggVGcfail^[|

:finally|

:  %w! test.out|

:endtry|

:qa!|

ENDTEST|

  |

test_changelist.in [+]                   Test changelist position after splitting windowSet 'undolevels' to make changelist forsourced fileSTARTTEST:so small.vimGkylp:set ul=100Gylp:set ul=100gg:vsplit:try:  normal g;:  normal ggVGcpass^[:catch:  normal ggVGcfail^[:finally:  %w! test.out:endtry:qa!ENDTESTtest_changelist.in [+]                 [?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  normal g;


[?25l:  [?12l[?25h:  normal ggVGcpass
[?25l21 fewer lines

:  


:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  normal ggVGcfail


[?25l:  


:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  %w! test.out


[?25l"test.out" [New File] 1 line, 5 characters written


:  [?12l[?25h:endtry
[?25lpass||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                           pass~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                         [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_changelist = test61; then \
#	  if diff test.out test_changelist.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_changelist.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_close_count.failed test.ok test.out X* viminfo
cp test_close_count.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_close_count.in" 153 lines, 2665 charactersTests for :[count]close! and :[count]hide     vim: set ft=vim :



STARTTEST

:so small.vim

:let tests = []

:for i in range(5)

:new

:endfor

:4wincmd w

:close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:$close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

:2close![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :[count]close! and :[count]hide     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 41 lines, 749 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(tests, buffers)

:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:for i in range(5)

:new

:endfor

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:4wincmd w

:.hide[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hclose!
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 5~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w:only!:b1ENDTESTSTARTTEST:let tests = []:for i in range(5):new:endfor:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers):4wincmd w:.hide:let buffers = [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 44 lines, 815 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:2wincmd w

:+hide

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:1wincmd w

:$ hide

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                       test_close_count.in                                                              [?12l[?25h[?25l:[?12l[?25h.hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 7 lines, 39 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l13 12 11 10 9 113 12 11 9 112 11 9 112 11 9[+][?12l[?25h[?25l12 9

15 12 9

15 12[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 9

15 12~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:+hide:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5):new:endfor:1wincmd w:$ hide:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 93 of 153 --60%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 448 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:1wincmd w

:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:4wincmd w

^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[?12l[?25h[?25l:[?12l[?25h$ hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$-1 close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h.+close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 15 lines, 106 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[+][?12l[?25h[?25l15 12 915 120 19 18 17 16

20 19 18 16

20 18 16
[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5



13 12 11 10 9 1

13 12 11 9 1

12 11 9 1

12 11 9

12 9

15 12 9

15 12



20 19 18 17 16

20 19 18 16

20 18 16



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new:endfor:4wincmd w

^Wc:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 121 of 153 --79%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 28 lines, 511 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST1^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

9^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

2^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:only!

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 16 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 915 1220 19 18 17 1620 19 18 1620 18 16[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l25 24 23 21 124 23 21 124 23 2124 21[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_close_count = test61; then \
#	  if diff test.out test_close_count.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_close_count.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_comparators.failed test.ok test.out X* viminfo
cp test_comparators.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_comparators.in" 21 lines, 283 characters" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'

:  else

:    $put ='ng'

:  endif

:finally

:  let &isident=oldisident

:endtry

:"

:/^marker/+1,$wq! test.out

ENDTEST



marker

~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l" Test for expression comparators.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 200 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let oldisident=&isident


[?25l:  [?12l[?25h:  set isident+=#


[?25l:  [?12l[?25h:  if 1 is#1


[?25l:    [?12l[?25h:    $put ='ok'


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    $put ='ng'


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  let &isident=oldisident


[?25l:  [?12l[?25h:endtry
[?25l" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'ok[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^marker/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1 line, 3 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_comparators = test61; then \
#	  if diff test.out test_comparators.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_comparators.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_erasebackword.failed test.ok test.out X* viminfo
cp test_erasebackword.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_erasebackword.in" 19 lines, 427 charactersTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G







:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for erasing backword[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 12 lines, 362 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G

o wwwこんにちわ世界ワールドvim ^W^[

o wwwこんにちわ世界ワールドvim ^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^W^[

:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h



[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25lド[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h/^test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 111 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_erasebackword = test61; then \
#	  if diff test.out test_erasebackword.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_erasebackword.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_eval.failed test.ok test.out X* viminfo
cp test_eval.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_eval.in" 247 lines, 6201 charactersTest for various eval features.   vim: set ft=vim :



Note: system clipboard is saved, changed and restored.



clipboard contents

something else



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:lang C

:fun AppendRegContents(reg)

  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:rreg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))

:endfun

:fun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)

  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, aa:type, a:cont, a:strcont, a:cont1, a:strcont1))

endfun

:command -nargs=? AR :call AppendRegContents(<q-args>)

:fun SetReg(...)

    call call('setreg', a:000)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for various eval features.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 233 lines, 6010 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun AppendRegContents(reg)
[?25l

:  [?12l[?25h  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg


(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))


[?25l:  [?12l[?25h:endfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hfun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)
[?25l

:  [?12l[?25h  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:re


g, a:type, a:cont, a:strcont, a:cont1, a:strcont1))


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[?12l[?25h[?25l:[?12l[?25hfun SetReg(...)
[?25l

:  [?12l[?25h    call call('setreg', a:000)


[?25l:  [?12l[?25h    call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2]))


[?25l:  [?12l[?25h    call AppendRegContents(a:1)


[?25l:  [?12l[?25h    if a:1 isnot# '='


[?25l:    [?12l[?25h        execute "silent normal! Go==\n==\e\"".a:1."P"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun ErrExe(str)
[?25l

:  [?12l[?25h    call append('$', 'Executing '.a:str)


[?25l:  [?12l[?25h    try


[?25l:    [?12l[?25h        execute a:str


[?25l:    [?12l[?25h    catch


[?25l:    [?12l[?25h        $put =v:exception


[?25l:    [?12l[?25h    endtry


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h$put ='{{{1 let tests'


[?25l:  [?12l[?25hlet @" = 'abc'


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\n"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\<C-m>"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @= = '"abc"'


[?25l:  [?12l[?25hAR =


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Basic setreg tests'


[?25l:  [?12l[?25hcall SetReg('a', 'abcA', 'c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcB', 'v')


[?25l:  [?12l[?25hcall SetReg('c', 'abcC', 'l')


[?25l:  [?12l[?25hcall SetReg('d', 'abcD', 'V')


[?25l:  [?12l[?25hcall SetReg('e', 'abcE', 'b')


[?25l:  [?12l[?25hcall SetReg('f', 'abcF', "\<C-v>")


[?25l:  [?12l[?25hcall SetReg('g', 'abcG', 'b10')


[?25l:  [?12l[?25hcall SetReg('h', 'abcH', "\<C-v>10")


[?25l:  [?12l[?25hcall SetReg('I', 'abcI')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending single lines with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc', 'c')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAl', 'l')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc2','c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc', 'ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb', 'ba')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc2','ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb2','b50a')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('C', 'abcCl', 'l')


[?25l:  [?12l[?25hcall SetReg('C', 'abcCc', 'c')


[?25l:  [?12l[?25hcall SetReg('D', 'abcDb', 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('E', 'abcEb', 'b')


[?25l:  [?12l[?25hcall SetReg('E', 'abcEl', 'l')


[?25l:  [?12l[?25hcall SetReg('F', 'abcFc', 'c')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending NL with setreg()'


[?25l:  [?12l[?25hcall setreg('a', 'abcA2', 'c')


[?25l:  [?12l[?25hcall setreg('b', 'abcB2', 'v')


[?25l:  [?12l[?25hcall setreg('c', 'abcC2', 'l')


[?25l:  [?12l[?25hcall setreg('d', 'abcD2', 'V')


[?25l:  [?12l[?25hcall setreg('e', 'abcE2', 'b')


[?25l:  [?12l[?25hcall setreg('f', 'abcF2', "\<C-v>")


[?25l:  [?12l[?25hcall setreg('g', 'abcG2', 'b10')


[?25l:  [?12l[?25hcall setreg('h', 'abcH2', "\<C-v>10")


[?25l:  [?12l[?25hcall setreg('I', 'abcI2')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', "\n")


[?25l:  [?12l[?25hcall SetReg('B', "\n", 'c')


[?25l:  [?12l[?25hcall SetReg('C', "\n")


[?25l:  [?12l[?25hcall SetReg('D', "\n", 'l')


[?25l:  [?12l[?25hcall SetReg('E', "\n")


[?25l:  [?12l[?25hcall SetReg('F', "\n", 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA3'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3'], 'l')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC3'], 'b')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD3'])


[?25l:  [?12l[?25hcall SetReg('e', [1, 2, 'abc', 3])


[?25l:  [?12l[?25hcall SetReg('f', [1, 2, 3])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ['abcA3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3l'], 'la')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3b'], 'lb')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD32'])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', ['abcA32'])


[?25l:  [?12l[?25hcall SetReg('B', ['abcB3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3l'], 'l')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD3b'], 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with NL with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ["\n", 'abcA3l2'], 'l')


[?25l:  [?12l[?25hcall SetReg('B', ["\n", 'abcB3c2'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ["\n", 'abcC3b2'], 'b')


[?25l:  [?12l[?25hcall SetReg('D', ["\n", 'abcD3b50'],'b50')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with NLs with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4


-4-2"])


[?25l:  [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na


bcB4c-4-2"], 'c')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na


bcC4l-4-2"], 'l')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na


bcD4b-4-2"], 'b')


[?25l:  [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4


b10-4\nabcE4b10-4-2"], 'b10')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Search and expressions'


[?25l:  [?12l[?25hcall SetReg('/', ['abc/'])


[?25l:  [?12l[?25hcall SetReg('/', ["abc/\n"])


[?25l:  [?12l[?25hcall SetReg('=', ['"abc/"'])


[?25l:  [?12l[?25hcall SetReg('=', ["\"abc/\n\""])


[?25l:  [?12l[?25h$put ='{{{1 System clipboard'


[?25l:  [?12l[?25hif has('clipboard')


[?25l:    [?12l[?25h" Save and restore system clipboard.


[?25l:    [?12l[?25h" If no connection to X-Server is possible, test should succeed.


[?25l:    [?12l[?25hlet _clipreg = ['*', getreg('*'), getregtype('*')]


[?25l:    [?12l[?25hlet _clipopt = &cb


[?25l:    [?12l[?25hlet &cb='unnamed'


[?25l:    [?12l[?25h5y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25htabdo :windo :echo "hi"


[?25l:    [?12l[?25h6y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25hlet &cb=_clipopt


[?25l:    [?12l[?25hcall call('setreg', _clipreg)


[?25l:    [?12l[?25helse


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard conte


nts']", "clipboard contents\n", "['clipboard contents']")


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "something else\n", "['something else']", 


"something else\n", "['something else']")


[?25l:    [?12l[?25hendif


[?25l:  [?12l[?25h$put ='{{{1 Errors'


[?25l:  [?12l[?25hcall ErrExe('call setreg()')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, 3, 4)')


[?25l:  [?12l[?25hcall ErrExe('call setreg([], 2)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, {})')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, [])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("/", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("=", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, ["", "", [], ""])')


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test()
[?25l*: type V; value: something else^@ (['something else']), expr: something else^@  (['something else'])

{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)

Vim(call):E730: using List as a String

Executing call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction SetReg
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction AppendRegContents
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction ErrExe
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hdelcommand AR
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name not starting with capital
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! g:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)8: Too many arguments for function: setreg[], 2)730: using List as a String1, {}1Dictionary as a String2, [])0List as a String"/", ["1", "2"])883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name includes a colon
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! b:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)Vim(function):E128: Function name must start with a capital or "s:": b:test()[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name folowed by #
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! test2() "#


[?25l:  [?12l[?25h:echo "test2"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)Vim(call):E730: using List as a String

Executing call setreg(1, {})Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! g:Foo(n)
[?25l

:  [?12l[?25h:  $put ='called Foo(' . a:n . ')'


[?25l:  [?12l[?25h:endfunction
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg[?12l[?25h[?25l

:[?12l[?25hlet b:my_func = function('Foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcall b:my_func(1)
[?25l

called Foo(1)[?12l[?25h[?25l

:[?12l[?25hecho g:Foo(2)
[?25l0

called Foo(2)[?12l[?25h[?25l

:[?12l[?25hecho Foo(3)
[?25l0

called Foo(3)[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[?12l[?25h[?25l:[?12l[?25hso test_eval_func.vim
[?25ls:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h: call append($, 'foobar')


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#

called Foo(123

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1func Bar exists: 1

Vim(call):E116: Invalid arguments for function append[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l

{{{1 getcurpos/setpos[?12l[?25h[?25l

/[?12l[?25h^012345678
[?25lsearch hit BOTTOM, continuing at TOP:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:

{{{1 let tests

": type v; value: abc (['abc']), expr: abc (['abc'])

": type V; value: abc^@ (['abc']), expr: abc^@ (['abc'])

": type V; value: abc^M^@ (['abc^M']), expr: abc^M^@ (['abc^M'])

=: type v; value: abc (['abc']), expr: "abc" (['"abc"'])

{{{1 Basic setreg tests

{{{2 setreg('a', 'abcA', 'c')

a: type v; value: abcA (['abcA']), expr: abcA (['abcA'])

search hit BOTTOM, continuing at TOP[?12l[?25h012345[?25l:[?12l[?25hlet sp = getcurpos()
[?25l[?12l[?25h
[?25l:[?12l[?25hcall setpos('.', sp)
[?25l[?12l[?25h[?25l:[?12l[?25h$put
[?25lExecuting call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

Vim(function):E128: Function name must start with a capital or "s:": b:test()

Vim(function):E128: Function name must start with a capital or "s:": test2() "#

called Foo(1)

called Foo(2)

called Foo(3)

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1

Vim(call):E116: Invalid arguments for function append

{{{1 getcurpos/setpos

6[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" substring and variable name
[?25l[?12l[?25h[?25l:[?12l[?25hlet str = 'abcdef'
[?25l[?12l[?25h[?25l:[?12l[?25hlet n = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[n:]
[?25l

def[?12l[?25h[?25l

:[?12l[?25h$put =str[:n]
[?25l

abcd[?12l[?25h[?25l

:[?12l[?25h$put =str[n:n]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet n
[?25l[?12l[?25h[?25l:[?12l[?25hlet nn = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[nn:]
[?25ldef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:nn]
[?25labcd[?12l[?25h[?25l:[?12l[?25h$put =str[nn:nn]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet nn
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:nn = 4
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:]
[?25lef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:b:nn]
[?25labcde[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:b:nn]
[?25l

e[?12l[?25h[?25l

:[?12l[?25hunlet b:nn
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 362 lines, 11279 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_eval = test61; then \
#	  if diff test.out test_eval.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_eval.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_fixeol.failed test.ok test.out X* viminfo
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
cp test_fixeol.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fixeol.in" 40 lines, 780 charactersTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol

:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol

:w! XXTestNoEol

:bwipe XXEol XXNoEol XXTestEol XXTestNoEol

:set fixeol[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'fixeol'vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 698 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Append "END" to each file so that we can see what the last written char was.

ggdGaEND^[:w >>XXEol

:w >>XXNoEol

:w >>XXTestEol

:w >>XXTestNoEol

:"

:" Concatenate the results

:e! test.out

a0^[:$r XXEol

:$r XXNoEol

Go1^[:$r XXTestEol

:$r XXTestNoEol

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?25l[?12l[?25h[?25l:[?12l[?25h" use Unix fileformat for consistency
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lwith eol[?12l[?25h[?25l:[?12l[?25hw! XXEol
[?25l"XXEol" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25henew!
[?25l[?12l[?25h[?25l:[?12l[?25hset noeol nofixeol
[?25l[?12l[?25h[?25lwithout eol[?12l[?25h[?25l:[?12l[?25hw! XXNoEol
[?25l"XXNoEol" [New File][Incomplete last line] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hset eol fixeol
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


2 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" 1 line, 9 characterswith eol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l

stays eol[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [New File] 2 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [Incomplete last line] 1 line, 11 charactersout eol

~                                                                               [?12l[?25h[?25l

stays without[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [New File][Incomplete last line] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fixeol
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25lTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXEol
[?25l"XXEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l0[?12l[?25h[?25l:[?12l[?25h$r XXEol
[?25l"XXEol" 2 lines, 13 characterswith eolEND[?12l[?25h[?25l:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" 1 line, 15 characterswithout eolEND[?12l[?25h[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" 3 lines, 23 characterswith eolstays eolEND[?12l[?25h[?25l:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" 2 lines, 29 characterswithout eolstays withoutEND[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_fixeol = test61; then \
#	  if diff test.out test_fixeol.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_fixeol.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_getcwd.failed test.ok test.out X* viminfo
cp test_getcwd.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_getcwd.in" 96 lines, 2374 charactersTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xtopdir directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a swapfile in Xtopdir prevents it from being cleaned up.

:set noswapfile

:"

:function! GetCwdInfo(win, tab)

: let tab_changed = 0

: let mod = ":t"

: if a:tab > 0 && a:tab != tabpagenr()

:   let tab_changed = 1

:   exec "tabnext " . a:tab

: endif

: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)

: if tab_changed[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 90 lines, 2273 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GetCwdInfo(win, tab)
[?25l

:  [?12l[?25h: let tab_changed = 0


[?25l:  [?12l[?25h: let mod = ":t"


[?25l:  [?12l[?25h: if a:tab > 0 && a:tab != tabpagenr()


[?25l:    [?12l[?25h:   let tab_changed = 1


[?25l:    [?12l[?25h:   exec "tabnext " . a:tab


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)


[?25l:  [?12l[?25h: if tab_changed


[?25l:    [?12l[?25h:   tabprevious


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: if a:win == 0 && a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir()


[?25l:    [?12l[?25h: elseif a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win)


[?25l:    [?12l[?25h: else


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win, a:tab), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win, a:tab)


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: return bufname . ' ' . dirname . ' ' . lflag


[?25l:  [?12l[?25h:endfunction
[?25l:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST

[?12l[?25h[?25l



:[?12l[?25h" On windows a stale "Xtopdir" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       test_getcwd.in                                                                  [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xtopdir')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir1')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir2')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir3')
[?25l[?12l[?25h[?25l:[?12l[?25hnew a
[?25l"a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l:[?12l[?25hnew b
[?25l"b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l:[?12l[?25hnew c
[?25l"c" [New File]~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lc                                                                                a                                                                               [?12l[?25h[?25l:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir1/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                             b                                                                               ab                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                                               b                                                                                [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir3/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lcb                                                                               b                                                             a                                                             /<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25htabnew x
[?25l"x" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  x                                               X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hnew y
[?25l"y" [New File]2 y  Xy                                                                                x                                                                                [?12l[?25h[?25l:[?12l[?25hnew z
[?25l"z" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               z                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               y                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               x                                                                               [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lz                                                                                x                                                                               x  X[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25ly                                                                               x                                                                                y  X[?12l[?25h[?25l:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir2/b/v/v/s/v/t/X/y  X/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lzb /                Xz                                                                               yb                                                                               x                                                             [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir3/b/v/v/s/v/t/X/z  X/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in             [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[?12l[?25h[?25l:[?12l[?25hq
[?25l 4 [No Name]  3 z                                                               X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdirX/z  XXtopdir/cXtopdir/bXtopdir/a

[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_getcwd = test61; then \
#	  if diff test.out test_getcwd.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_getcwd.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_insertcount.failed test.ok test.out X* viminfo
cp test_insertcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_insertcount.in" 14 lines, 204 charactersTests for repeating insert and replace.



STARTTEST

:so small.vim

:/Second

4gro

:/^First/,$wq! test.out

:" get here when failed and in Insert mode

^[:.wq! test.out

ENDTEST



First line

Second line

Last line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for repeating insert and replace.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 111 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/Second
[?25l[?12l[?25h[?25looooecond line
ooo[?12l[?25h

Las[?25l:[?12l[?25h/^First/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 3 lines, 36 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_insertcount = test61; then \
#	  if diff test.out test_insertcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_insertcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listchars.failed test.ok test.out X* viminfo
cp test_listchars.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listchars.in" 54 lines, 705 charactersTests for 'listchars' display with 'list' and :list



STARTTEST

:so small.vim

:set ff=unix

:let g:lines = []

:function GetScreenCharsForLine(lnum)

:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))')), '')

:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"

:set listchars+=tab:>-,space:.,trail:<

:set list

:

/^start:/

:normal! jzt

GG

GG

GG

GG

GGH:

:set listchars-=trail:<[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'listchars' display with 'list' and :list[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 431 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTGG

GG

GG

GG

GG:

:put =g:lines

:'[,']w! test.out

ENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:lines = []
[?25l[?12l[?25h[?25l:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l

:  [?12l[?25h:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val


))'), '')


[?25l:  [?12l[?25h:endfunction
[?25l:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"[?12l[?25h[?25l

:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))


\<CR>"
[?25l:endfunction[?12l[?25h[?25l

:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset list
[?25l$.<expr>.GG.":call..\\<CR>"$

:set.$

:set.list$

:$$.jzt$

GG$

GG$

GG$

GG$

GGH:$

:set.$

GG$

GG$

GG$

GG$

GG:$

:put.$.$$

$[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:$[?12l[?25h[?25l

:[?12l[?25hnormal! jzt
[?25l>-------aa>-----$

..bb>---<<$

...cccc><$

dd........ee<<>-$

<$

$

$

STARTTEST$

:set.listchars+=trail:<$

:set.nolist$

:$

/^start:/$

:redir!.>>.test.out$

:+1,$list$

:redir.END$

:q!$

ENDTEST$

$

start:$

..fff>--<<$

>-------gg>-----$

.....h>-$

iii<<<<><<$[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset listchars-=trail:<
[?25l.....

.......>..[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hput =g:lines
[?25l10 more >-------aa>-----$$

..bb>---<<$$

...cccc><$$

dd........ee<<>-$$

<$$

>-------aa>-----$$

..bb>---..$$

...cccc>.$$

dd........ee..>-$$

.$$10 more lines[?12l[?25h[?25l:[?12l[?25h'[,']w! test.out
[?25l"test.out" [New File] 10 lines, 124 characters written[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 93 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:+1,$list$

:redir.END$

:q!$

ENDTEST$[?12l[?25h[?25l

$[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset listchars+=trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist
[?25l   >>  [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:[?12l[?25h[?25l

:[?12l[?25hredir! >> test.out
[?25l[?12l[?25h[?25l:[?12l[?25h+1,$list
[?25l..fff>--<<$


>-------gg>-----$


.....h>-$


iii<<<<><<$


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l>-------aa>-----$

..bb>---..$

...cccc>.$

dd........ee..>-$

.$STARTTEST:set listchars+=trail:<

:set nolist

:

/^start:/

:redir! >> test.out+1,$listredir END

:q!ENDTESTstart:  fff

        ggh

iii   [?12l[?25h[?25l

:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listchars = test61; then \
#	  if diff test.out test_listchars.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listchars.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr.failed test.ok test.out X* viminfo
cp test_listlbr.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr.in" 119 lines, 2868 charactersTest for linebreak and list option (non-utf8)



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |  endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width)

:let c=''

:for j in range(1,4)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu

:fu! DoRecordScreen()

:wincmd l

:$put =printf(\"\n%s\", g:test)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option (non-utf8)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o vim objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/main.o objects/memfile.o objects/message.o   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
[New File] 114 lines, 2792 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTabcd{ef

ghijklm

no}pqrs^[2k0f{^V^Vc%^[

:"

:let g:test ="Test 11: using block replace mode after wrapping"

:$put =g:test

:set linebreak wrap

Go^[150aa^[yypk147|^Vjr0

:"

:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$":set list listchars=space:_,trail:-,tab:>-,eol:$

:$put =g:test

:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |


endif
[?25labcd{ef[?12l[?25h[?25l

:[?12l[?25h10new|:vsp|:vert resize 20
[?25l       ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =linenorm! zt

:redraw!let line=ScreenChar(winwidth(0))

:call DoRecordScreen()%w! test.outqaENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,4)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 1: set         

+linebreak          

    abcdef          

+hijklmn            

+pqrstuvwxyz_1060ABCTest 1: set linebreak    abcdef          +hijklmn            +pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[?12l[?25h[?25l:[?12l[?25hset linebreak list listchars=
[?25l^Iabcdef hijklmn^I  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP      

              

Test 1: set

+linebreak 

    abcdef

+hijklmn  

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l^Iabcdef hijklmn^I  |

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOPTest 1: set linebreakabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines    abcdef                                                 +hijklmn                                                   +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                             ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l    abcdef          hijklmn            pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

           

Test 1: set

+linebreak

    abcdef

+hijklmn            

+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

[No Name] [+]        abcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines^Iabcdef hijklmn^I                                         +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Test 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou


ld break!"
[?25labcdef|^Iabcdef hijklmn^I[?12l[?25h[?25l:[?12l[?25hset nolist linebreak ts=8
[?25l    abcdef[?12l[?25h[?25l:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25l      

        

Test 3: set         linebreak nolist

    abcdef

+hijklmn   

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

1       

+aaaaaaaaaaaaaaaaaa [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l1|

+aaaaaaaaaaaaaaaaaa |||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     1aaaaaaaaaaaaaaaaaaTest 4: set linebreak with tab and 1 line as long as screen+: should break!1+aaaaaaaaaaaaaaaaaa~~4 more lines[?12l[?25h[?25l:[?12l[?25hlet line="_S_\t bla"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lTest 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    ~

~

_S_      bla[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l_S_      bla        

                    

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak with conceal and set list and tab displayed


by different char (line may not be truncated)"
[?25l_S_      bla|+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25labbbb[?12l[?25h[?25l:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25lSabb[?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 5: set         

+linebreak with     

+conceal and set    

+list and tab       

+displayed by       

+different char     

+(line may not be   

+truncated)         ~                                                          ~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  _S_      blaTest 5: set linebreak with conceal and set list and tab dis+played by different char (line may not be truncated)Sabbbbbb bla~~~4 more lines[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: this not"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25labbbbbb

~

~          

~              

Test 6: set     nebreak withvisual block mode

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE: this not    [?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE:             

+aaaaaaaaaaaaa      [?12l[?25h[?25l:[?12l[?25h1/^REMOVE:
[?25l[?12l[?25h[?25l[?12l[?25h[?25lR[?12l[?25h[?25lEMOVE: 

REMOVE:[?12l[?25h[?25lthis not        

aaaaaaaaaaaaa

~                   [?12l[?25h[?25l:[?12l[?25h$put
[?25l~                   

~                   

~                   

Test 6: set         

+linebreak with     

+visual block mode  

this not            

aaaaaaaaaaaaa       

~                   

                    REMOVE:             

REMOVE:[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lthis not            

aaaaaaaaaaaaa       

REMOVE:             

REMOVE:             

                    

                    

                    

                    

                    

                    Test 7: set

+linebreak with

+visual block mode

+and vbA

~                   

~                   [?12l[?25h[?25llong line:          [?12l[?25h[?25l foobar

+foobar foobar      @                   

@                           

             

       

       

           

               

                  

        

                    

                    +foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar[?12l[?25h+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar             

                    [?25lTARGET at

+end[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx at[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak sbr=
[?25lfoobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar TARGETx at 

end played by different char (line may not be truncated)[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set  

linebreak with

visual char mode

and changing block

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l1111-1111-1111-11-  

1111-1111-1111      [?12l[?25h[?25l[?12l[?25h[?25l111[?12l[?25h[?25l2222[?12l[?25h[?25l2222[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                [?12l[?25h[?25l1111-2222-1111-11-  

1111-2222-1111      

Test 9: using redo  

after block visual  

mode                

~                   

                    

                    

                    

                                        

aaa

aaa

a

~                   [?12l[?25h[?25l[?12l[?25h[?25la

a[?12l[?25h[?25l3 lines changedA

A

A[?12l[?25h[?25lA

AaA[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                

                    

AaA                 

AaA                 

A                   

~                   

                    

                    Test 10: using      

normal commands

after block-visual[?12l[?25h[?25l:[?12l[?25hset linebreak
[?25l[?12l[?25h[?25lAaA                 

AaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

                    

                    

                    abcd{ef

ghijklm

no}pqrs[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25lpqrs

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lAaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

~                   

~                   

                    Test 11: using      

block replace mode  

after wrapping[?12l[?25h[?25l:[?12l[?25hset linebreak wrap
[?25l[?12l[?25h[?25lA                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

Test 11: using      

block replace mode  

after wrapping      

                    [?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa        

~                   

~                   [?12l[?25h[?25l[?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l[?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa

~                   

~                   [?12l[?25h[?25l0

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaa0aaa

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$


"[?25laaaaaaaaaaaaaaaaaaaa|~[?12l[?25h[?25l:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l$[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         

~                   

~                   

~                   

                    

                    

                    

                    ~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25la_|

aaaaaaaaaaaaaaaaaaaa|

aa>-----a-$||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ~~_S_      blaTest 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)Sabbbbbb bla~~~[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines$                   

Test_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

a------------------ 

$                   Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a aaaaaaaaaaaaaaaaaaaaaaa12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a_          aaaaaaaaaaaaaaaaaaaaaa>-----a-$[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 62 lines, 2030 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr = test61; then \
#	  if diff test.out test_listlbr.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_search_mbyte.failed test.ok test.out X* viminfo
cp test_search_mbyte.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search_mbyte.in" 15 lines, 226 charactersTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for search('multi-byte char', 'bce')[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hsource small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hsource mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h/^Test bce:/+1
[?25l[?12l[?25h[?25l:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l15[?12l[?25h[?25l:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [New File] 5 lines, 27 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_search_mbyte = test61; then \
#	  if diff test.out test_search_mbyte.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_search_mbyte.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_utf8.failed test.ok test.out X* viminfo
cp test_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_utf8.in" 46 lines, 1245 charactersTests for Unicode manipulationsvim: set ft=vim :



STARTTEST

:so small.vim

:set encoding=utf-8

:"

:" Visual block Insert adjusts for multi-byte char

:new


:exe ":norm! gg0l\<C-V>jjIx\<Esc>"

:let r = getline(1, '$')

:"

:bwipeout!

:$put=r

:"

:" Test for built-in function strchars()


:$put=strchars(str)

:$put=strchars(str, 0)

:$put=strchars(str, 1)

:endfor

:"

:" Test for customlist completion[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for Unicode manipulationsvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 1151 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:return ['あ', 'い']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)

:return ['あたし', 'あたま', 'あたりめ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)

:return ['Nこ', 'Nん', 'Nぶ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']endfunctioncommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')"call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST test_utf8.in                                                                    [?12l[?25h[?25l:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
link.sh: Linked fine
[?25laaa

あああbbb[+][?12l[?25h[?25l:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk'
[?25lxaa

xあああ

bxbb[?12l[?25h[?25l:[?12l[?25hlet r = getline(1, '$')
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h# Ensure ERM is set to a sane value for testing
bwipeout!
[ yes != "yes" ] || flock debian env TERM=xterm /usr/bin/make -j1 -C src/vim-gtk test
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:       return ['あ', 'い']

:endfunction:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it'):":function! CustomComplete2(lead, line, pos):       return ['あたし', 'あたま', 'あたりめ']:endfunction:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')"function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']

:endfunctionommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"call garbagecollect(1):/^start:/,$wq! test.out

ENDTEST

 [?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

axaa

xあああ

bxbb3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for built-in function strchars()
[?25l[?12l[?25h[?25l:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l

:  [?12l[?25h:^I$put=strchars(str)


[?25l:  [?12l[?25h:^I$put=strchars(str, 0)


[?25l:  [?12l[?25h:^I$put=strchars(str, 1)


[?25l:  [?12l[?25h:endfor
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST



start:axaaxあああbxbb11133322133

1111[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for customlist completion
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あ', 'い']


[?25l:  [?12l[?25h:endfunction
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test1 ...'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 ''Test1 '


Test1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あたし', 'あたま', 'あたりめ']


[?25l:  [?12l[?25h:endfunction
[?25l:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた''Test2 あた'


Test2 あた[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['Nこ', 'Nん', 'Nぶ']


[?25l:  [?12l[?25h:endfunction
[?25lENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test3 ...N'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N''Test3 N'


Test3 N[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 22 lines, 86 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_utf8 = test61; then \
#	  if diff test.out test_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_wordcount.failed test.ok test.out X* viminfo
cp test_wordcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_wordcount.in" 126 lines, 2815 charactersTest for wordcount() function



STARTTEST

:so small.vim

:so mbyte.vim

:set enc=utf8

:set selection=inclusive fileformat=unix fileformats=unix

:new

:fu DoRecordWin(...)

:wincmd k

:if exists("a:1")

:call cursor(a:1)

:endif

:let result=[]

:call add(result, g:test)

:call add(result, getline(1, '$'))

:call add(result, wordcount())

:wincmd j

:return result

:endfu

:fu PutInWindow(args)

:wincmd k

:%d _[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for wordcount() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 121 lines, 2753 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"


:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"

:call PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])

:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:
[?12l[?25h[?25l

:[?12l[?25hset selection=inclusive fileformat=unix fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])[2]=g:visual_statcall Log()"/^RESULT test/,$w! test.out

:qa!ENDTEST

RESULT test:

test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hfu DoRecordWin(...)
[?25l

:  [?12l[?25h:^Iwincmd k


[?25l:  [?12l[?25h:       if exists("a:1")


[?25l:    [?12l[?25h:           call cursor(a:1)


[?25l:    [?12l[?25h:       endif


[?25l:  [?12l[?25h:       let result=[]


[?25l:  [?12l[?25h:       call add(result, g:test)


[?25l:  [?12l[?25h:       call add(result, getline(1, '$'))


[?25l:  [?12l[?25h:       call add(result, wordcount())


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:       return result


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu PutInWindow(args)
[?25l

:  [?12l[?25h:       wincmd k


[?25l:  [?12l[?25h:       %d _


[?25l:  [?12l[?25h:       call append(1, a:args)


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu Log()
[?25l

:  [?12l[?25h:   $put ='----'


[?25l:  [?12l[?25h:   $put =remove(g:log,0)


[?25l:  [?12l[?25h:   $put =string(g:log)


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu! STL()
[?25l

:  [?12l[?25h:    if mode() =~? 'V'


[?25l:    [?12l[?25h:       let g:visual_stat=wordcount()


[?25l:    [?12l[?25h:    endif


[?25l:  [?12l[?25h:    return string(wordcount())


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin()
[?25l[No Name]                                                                        test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 1: empty window

[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00, 'cursor_bytes': 0}][+][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25lone two three[+][?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 2: some words, cursor at start

[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worrds': 0, 'bytes': 15, 'cursor_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 3: some words, cursor at end

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 4: some words, cursor at end, ve=all

[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 15}][?12l[?25h[?25l





:[?12l[?25hset ve=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25lone two threeone two three--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 5: several lines with words

[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__chars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25l[No Name] [+]                                                                   test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset bomb
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2 lines, 18 characters writtenXtesta         [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 6: one line with BOM set

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 18, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25hwincmd k
[?25lXtest                                                                           test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset nobomb
[?25l[+][?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written    [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh'])
[?25lÄne M¤ne Müh[+]--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 7: one line with multibyte words

[['', 'Äne M¤ne Müh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worrds': 3, 'bytes': 17, 'cursor_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25lund raus bist dü!--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 8: several lines with multibyte words

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'cursor_chars': 31, 'wwords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l 

Äne M¤ne Müh 

und raus bist dü! ds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[?12l[?25h[?25lÄne M¤ne Mühnd raus bist dü!3 lines yankedursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 9: visual mode, complete buffer

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l[?12l[?25h[?25lursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 10: visual mode (empty)

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h2
[?25l2,1,3}[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_2}[?12l[?25h[?25lÄne M¤ne Mühds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[?12l[?25h[?25l
Äne M¤ne Mühursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[?12l[?25hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]s                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 11: visual mode, single line

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^RESULT test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 34 lines, 1905 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_wordcount = test61; then \
#	  if diff test.out test_wordcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_wordcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test11.failed test.ok test.out X* viminfo
cp test11.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test11.in" 84 lines, 3366 charactersTests for autocommands:

- FileWritePrewriting a compressed file

- FileReadPostreading a compressed file

- BufNewFilereading a file template

- BufReadPredecompressing the file to be read

- FilterReadPresubstituting characters in the temp file

- FilterReadPostsubstituting characters after filtering

- FileReadPreset options for decompression

- FileReadPostdecompress the file



Note: This test is skipped if "gzip" is not available.

$GZIP is made empty, "-v" would cause trouble.

Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being

modified outside of Vim (noticed on Solaris).



STARTTEST

:so small.vim

:" drop out when there is no gzip program

:if !executable("gzip")

: e! test.ok

: w! test.out

: qa!

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for autocommands:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 48 lines, 2298 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w" write it, after filtering

:au!" remove all autocommands

:e" Edit test.out again

:set nobin ff&   " use the default fileformat for writing

:w

:qa!

ENDTEST



startstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" drop out when there is no gzip program
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("gzip")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/[?12l[?25h[?25l:[?12l[?25hlet $GZIP = ""
[?25l[?12l[?25h[?25l:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePre    *.gz   '[,']!gzip
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePost   *.gz   undo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered

"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written


10 more lines; before #1  0 seconds ago


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileReadPost    *.gz   '[,']!gzip -d
[?25l:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w                           " write it, after filtering

:au!             " remove all autocommandse" Edit test.out againset nobin ff&   " use the default fileformat for writing

:wqa!ENDTESTstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx45678910

end of testfile[?12l[?25h[?25l

:[?12l[?25h$r Xtestfile.gz                " Read and decompress the testfile
[?25l"Xtestfile.gz" [Incomplete last line] 1 line, 111 characters
[?12l[?25h[?25lstart of test.c

/*

 * Here is a new .c file

 */

end of test.c

start of testfile[?12l[?25h[?25l

:[?12l[?25h?startstart?,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 29 lines, 788 characters written[?12l[?25h[?25l:[?12l[?25hau BufNewFile      *.c    read Xtest.c
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25lsearch hit BOTTOM, continuing at TOP"Xtest.c" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25he! foo.c                       " Will load Xtest.c
[?25l"foo.c" [New File]

"Xtest.c" 3 lines, 32 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileAppendPre   *.out  '[,']s/new/NEW/
[?25l/*

 * Here is a new .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FileAppendPost  *.out  !cat Xtest.c >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 4 lines, 33 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hau! FileAppendPre
[?25l/*

 * Here is a NEW .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile.gz                " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'


[?12l[?25h[?25l"Xtestfile.gz""Xtestfile.gz" 11 lines, 357 characters:!gzip 'Xtestfile'


[?12l[?25h[?25lcaught FileChangedShell


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 11 lines, 357 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hset shelltemp                  " need temp files here
[?25lstart of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>") . "


.t")
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi


le>")) . ".t >" . shellescape(expand("<afile>"))
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !rm ' . shellescape(expand("<afile>")) .


'.t'
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPost  *.out  '[,']s/x/X/g
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out                    " Edit the output file
[?25l"test.out" 50 lines, 1242 charactersstarstart of testfile2  Abcdefghijklmnopqrstuvwxyz3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4  Abcdefghijklmnopqrstuvwxyz5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6  Abcdefghijklmnopqrstuvwxyz7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8  Abcdefghijklmnopqrstuvwxyz9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfilestart of test.c/* * Here is a new .c file */end of test.cstart of testfileline 2  Abcdefghijklmnopqrstuvwxyzline 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 4  Abcdefghijklmnopqrstuvwxyzline 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines


28 lines filtered


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h23,$s/\r$//                 " remove CR for when sed adds them
[?25lE486: Pattern not found: \r$

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>


"))
[?25lstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE 5  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[?12l[?25h[?25l

:[?12l[?25hau  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau! FileReadPost   *.gz   '[,']s/l/L/
[?25l[?12l[?25h[?25l:[?12l[?25h$r Xtestfile.gz             " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" 11 lines, 357 characters


11 substitutions on 11 lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw                           " write it, after filtering
[?25l"test.out"61 lines, 1599 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau!             " remove all autocommands
[?25lE216: No such group or event: " remove all autocommands


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he               " Edit test.out again
[?25l"test.out"61 lines, 1599 charactersstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"test.out" 61 lines, 1599 characters[?12l[?25h[?25l:[?12l[?25hset nobin ff&   " use the default fileformat for writing
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test11 = test61; then \
#	  if diff test.out test11.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test11.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test52.failed test.ok test.out X* viminfo
cp test52.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test52.in" 65 lines, 1645 charactersTests for reading and writing files with conversion for Win32.



STARTTEST

:so mbyte.vim

:" make this a dummy test for non-Win32 systems

:if !has("win32") | e! test.ok | wq! test.out | endif

:"

:" write tests:

:" combine three values for 'encoding' with three values for 'fileencoding'

:" also write files for read tests

/^1

:set encoding=utf-8

:.w! ++enc=utf-8 test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=utf-8 Xutf8

/^2

:set encoding=cp1251

:.w ++enc=utf-8 >>test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=cp1251 Xcp1251

/^3[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for reading and writing files with conversion for Win32.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 57 lines, 1333 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xcp1251

:.w ++enc=cp1251 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp1251 >>test.out

:"

:" read three 'fileencoding's with cp866 'encoding'

:set encoding=cp866 fencs=utf-8,cp1251

:e Xutf8

:.w ++enc=cp866 >>test.out

:e Xcp1251

:.w ++enc=cp866 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp866 >>test.out

:"

:qa!

ENDTEST






[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" 18 lines, 1374 characters


"test.out" [New File] 18 lines, 1374 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test52 = test61; then \
#	  if diff test.out test52.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test52.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test85.failed test.ok test.out X* viminfo
cp test85.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test85.in" 85 lines, 1868 charactersTest for Lua interface and luaeval() function



STARTTEST

:so small.vim

:so lua.vim

:set nocompatible viminfo+=nviminfo

:lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"

:lua h = vim.dict(); h.list = l

:call garbagecollect()

/^1

:" change buffer contents

:lua curbuf = vim.buffer()

:lua curline = vim.eval"line('.')"

:lua curbuf[curline] = "1 changed line 1"

:" scalar test

:let tmp_string = luaeval('"string"')

:let tmp_1000 = luaeval('1000')

:if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"

:let scalar_res = "OK"

:else

:let scalar_res = "FAILED"

:endif

:call append(search("^1"), "scalar test " . scalar_res)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Lua interface and luaeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 77 lines, 1775 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")

:lua d[4] = d[0]

:lua d[5] = d[1]

:lua d[6] = d[2]

:lua d[7] = d[3]

:lua d[3] = nil

:lua d[2] = nil

:lua d[1] = nil

:lua d[0] = nil

:lua d = nil

:$put =string(d)



:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso lua.vim
[?25l"test.ok" 7 lines, 206 characters


"test.out" [New File] 7 lines, 206 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test85 = test61; then \
#	  if diff test.out test85.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test85.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test86.failed test.ok test.out X* viminfo
cp test86.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/farsi.o farsi.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test86.in" 1711 lines, 48481 charactersTests for various python features.     vim: set ft=vim :



NOTE: This will cause errors when run under valgrind.

This would require recompiling Python with:

  ./configure --without-pymalloc

See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:if !has('python') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py import vim

:py cb = vim.current.buffer

:let l = []

:py l=vim.bindeval('l')

:py f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py l.extend([1, "as'd", [1, 2, f, {'a': 1}]])

:$put =string(l)

:$put =string(l[-1])[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1700 lines, 48188 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" 1445 lines, 67439 characters


"test.out" [New File] 1445 lines, 67439 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test86 = test61; then \
#	  if diff test.out test86.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test86.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test87.failed test.ok test.out X* viminfo
cp test87.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE   -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/option.o option.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test87.in" 1707 lines, 49069 charactersTests for various python features.     vim: set ft=vim :



STARTTEST

:so small.vim

:set noswapfile

:if !has('python3') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py3 import vim

:py3 cb = vim.current.buffer

:let l = []

:py3 l=vim.bindeval('l')

:py3 f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]

:$put =string(l)

:$put =string(l[-1])

:try

:  $put =string(l[-4])

:catch

:  $put =v:exception[:13]

:endtry

:" List assignment[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1701 lines, 48985 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l"test.ok" 1445 lines, 77744 characters


"test.out" [New File] 1445 lines, 77744 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test87 = test61; then \
#	  if diff test.out test87.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test87.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test12.failed test.ok test.out X* viminfo
cp test12.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test12.in" 52 lines, 1199 charactersTests for 'directory' option.

- ".", in same dir as file

- "./dir", in directory relative to file

- "dir", in directory relative to current dir



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set dir=.,~

:/start of testfile/,/end of testfile/w! Xtest1

:" do an ls of the current dir to find the swap file (should not be there)

:if has("unix")

:  !ls .X*.swp >test.out

:else

:  r !ls X*.swp >test.out

:endif

:!echo first line >>test.out

:e Xtest1

:if has("unix")

:" Do an ls of the current dir to find the swap file, remove the leading dot

:" to make the result the same for all systems.

:  r!ls .X*.swp

:  s/\.*X/X/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'directory' option.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 965 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:!mkdir Xtest2

:set dir=./Xtest2,.,~

:e Xtest1

:!ls X*.swp >>test.out

:!echo under under >>test.out

:!ls Xtest2 >>test.out

:!echo under Xtest1.swp >>test.out

:!mkdir Xtest.je

:/start of testfile/,/end of testfile/w! Xtest2/Xtest3

:set dir=Xtest.je,~

:e Xtest2/Xtest3

:swap

:!ls Xtest2 >>test.out

:!echo under Xtest3 >>test.out

:!ls Xtest.je >>test.out

:!echo under Xtest3.swp >>test.out

:qa!

ENDTEST



start of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset dir=.,~
[?25l[?12l[?25h[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:  !ls .X*.swp >test.out


[?25l:!ls .X*.swp >test.out[?1l>[?12l[?25h[?1049l

ls: cannot access '.X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25helse


[?25l:  [?12l[?25h:  r !ls X*.swp >test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25h!echo first line >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70Cstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:" Do an ls of the current dir to find the swap file, remove the leading dot


[?25l:  [?12l[?25h:" to make the result the same for all systems.


[?25l:  [?12l[?25h:  r!ls .X*.swp


[?25l:  [?12l[?25h:  s/\.*X/X/


[?25l:  [?12l[?25h:  .w >>test.out
[?25l"test.out" 1L, 11C appended


:  [?12l[?25h:  undo


[?25l1 line less; before #1  0 seconds ago


:  [?12l[?25h:else


[?25l:  [?12l[?25h:  !ls X*.swp >>test.out


[?25l:  [?12l[?25h:endif
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest2
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hset dir=./Xtest2,.,~
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25h!ls X*.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l

ls: cannot access 'X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under under >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest.je
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25lsearch hit BOTTOM, continuing at TOP"Xtest2/Xtest3" [New] 4L, 70C writtenstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest2/Xtest3" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25hset dir=Xtest.je,~
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[?12l[?25h[?25l:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[?12l[?25h[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest.je >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test12 = test61; then \
#	  if diff test.out test12.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test12.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test25.failed test.ok test.out X* viminfo
cp test25.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test25.in" 31 lines, 840 charactersTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 540 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ln -s . test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25htags line
[?25lhis only works for Unix, because of the symbolic link.STARTTEST

:so small.vim

:set hidden" Create a link from test25.dir to the current directory.

:!rm -f test25.dirln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line:r !pwdd$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.testG^] x:.w! test.out:!rm -f test25.dir tags.test

:qa!ENDTESTtags line:
[?12l[?25h[?25l:[?12l[?25hr !pwd
[?25l[?12l[?25h[?25lSTARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST



tags line:

/<<PKGBUILDDIR>>/src/vim-basic/testdir
[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25htest
[?25l

SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/test25.dir/@                                                                               

SECTION_OFF     /<<PKGBUILDDIR>>/src/vim-basic/testdir/test25.dir//test25.in/^#define  SECTION_OFF  3$/[?12l[?25h[?25l



:[?12l[?25h.w! tags.test
[?25l"tags.test" [New File] 1 line, 114 characters written[?12l[?25h[?25l:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[?12l[?25h[?25l:[?12l[?25h" symbolic link.  When wrong, this will give the ATTENTION message.  The next
[?25l[?12l[?25h[?25l:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[?12l[?25h[?25l:[?12l[?25hset tags=tags.test
[?25l[?12l[?25h[?25l/*tx.c*/

#define  SECTION_OFF  3

#define  NUM_SECTIONS 3



SECTION_OFF[?12l[?25h#[?25lefine  SECTION_OFF  3[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 23 characters written[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir tags.test
[?25l[?1l>[?12l[?25h[?1049l

[No write since last change]



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test25 = test61; then \
#	  if diff test.out test25.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test25.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test49.failed test.ok test.out X* viminfo
cp test49.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test49.in" 32 lines, 705 charactersThis is a test of the script language.



If after adding a new test, the test output doesn't appear properly in

test49.failed, try to add one or more "G"s at the line ending in "test.out"



STARTTEST

:so small.vim

:se nocp nomore viminfo+=nviminfo

:lang mess C

:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy

:redir => funclist

:silent func

:redir END

:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of the script language.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 23 lines, 475 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endfor

:for v in keys(g:)

:  silent! exe "unlet " . v

:endfor

:unlet v

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hso test49.vim
[?25lError detected while processing function F:


line    5:


E583: multiple :else:     else^I^I


Error detected while processing function G:


line    5:


E584: :elseif after :else:     elseif 1^I^I" aborts function


Error detected while processing function H:


line    7:


E583: multiple :else:     else^I^I


Error detected while processing function I:


line    7:


E584: :elseif after :else:     elseif 1^I^I" aborts function


*** Test  16: OK (8722)


Error detected while processing function F:


line   18:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   34:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   47:


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


Error detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/test49.vim:


line  784:


E171: Missing :endif: endwhile 


*** Test  17: OK (285127993)gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fileio.o fileio.c

"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"/tmp/v0fbkxn/0" [New] 53L, 1582C written14L, 358C appended26L, 824C appended34L, 986C appended


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/1[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/1" 16L, 304C appended17L, 326C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/2[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/2"' -c 'breakad


dfile 8 /tmp/v0fbkxn/1' -S /tmp/v0fbkxn/1[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/2" 3L, 6C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/3[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/3" 6L, 127C appended7L, 149C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/4[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/4"' -c 'breakad


dfile 4 /tmp/v0fbkxn/3' -S /tmp/v0fbkxn/3[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/4" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/5[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/5" 21L, 486C appended22L, 508C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/6[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/6"' -c 'breakad


dfunc 7 F' -S /tmp/v0fbkxn/5[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/6" 3L, 18C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/7[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/7" 13L, 364C appended14L, 386C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/8[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/8"' -c 'breakad


dfunc 3 G' -S /tmp/v0fbkxn/7[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/8" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/9[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/9" 12L, 201C appended13L, 223C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/10[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/10"' -S /tmp/v0fbk


xn/9[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/11[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/11" 12L, 205C appended13L, 227C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/12[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/12"' -S /tmp/v0fbk


xn/11[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/13[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/13" 6L, 122C appended7L, 144C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/14[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/14"' -S /tmp/v0fbk


xn/13[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/15[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/15" 8L, 176C appended9L, 198C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/16[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/16"' -S /tmp/v0fbk


xn/15[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/17[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/17" 10L, 215C appended11L, 237C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/18[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/18"' -S /tmp/v0fbk


xn/17[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/19[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/19" 7L, 149C appended8L, 171C8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/20[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/20"' -S /tmp/v0fbk


xn/19[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/21[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/21" 9L, 135C appended10L, 157C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/22[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/22"' -S /tmp/v0fbk


xn/21[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/23[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/23" 10L, 155C appended11L, 177C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/24[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/24"' -S /tmp/v0fbk


xn/23[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/25[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/25" 12L, 204C appended13L, 226C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/26[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/26"' -S /tmp/v0fbk


xn/25[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/27[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/27" 12L, 214C appended13L, 236C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/28[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/28"' -S /tmp/v0fbk


xn/27[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/29[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/29" 12L, 211C appended13L, 233C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/30[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/30"' -S /tmp/v0fbk


xn/29[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/31[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/31" 14L, 263C appended15L, 285C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/32[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/32"' -S /tmp/v0fbk


xn/31[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/33[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/33" 14L, 277C appended15L, 299C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/34[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/34"' -S /tmp/v0fbk


xn/33[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/35" 58L, 1022C appended59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/36[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/36"' -S /tmp/v0fbk


xn/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/37[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/37" 23L, 418C appended24L, 440C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/38[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/38"' -S /tmp/v0fbk


xn/37[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/39[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/39" 23L, 437C appended24L, 459C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/40[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/40"' -c 'breaka


dd func 2 Interrupt' -S /tmp/v0fbkxn/39[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/40" 1L, 3C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/41[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/41" 21L, 386C appended22L, 408C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/42[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/42"' -S /tmp/v0fbk


xn/41[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/43[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/43" 25L, 432C appended26L, 454C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/44[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/44"' -S /tmp/v0fbk


xn/43[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/45" 16L, 392C appended17L, 414C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/46[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/46"' -S /tmp/v0fbk


xn/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  24: OK (41)


*** Test  25: OK (260177811)


*** Test  26: OK (1681500476)


*** Test  27: OK (1996459)


   function F()


1      try


2Xpath 1" X: 1


3try


4Xpath 2" X: 2


5return


6Xpath 4" X: 0


7finally


8Xpath 8" X: 8


9endtry


10Xpath 16" X: 0


11     finally


12Xpath 32" X: 32


13     endtry


14     Xpath 64" X: 0


   endfunction"/tmp/v0fbkxn/47"[noeol] 17L, 552C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/v0fbkxn/47" 14L, 502C written
"test49.in" 32L, 705C

   function G()

1      try

2Xpath 128" X: 128

3return

4Xpath 256" X: 0

5      finally

6Xpath 512" X: 512

7call F()

8Xpath 1024" X: 1024

9      endtry

10     Xpath 2048" X: 0

   endfunction"/tmp/v0fbkxn/48"[noeol] 13L, 406C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/v0fbkxn/48" 10L, 378C written
"test49.in" 32L, 705C

   function H()

1      try

2Xpath 4096" X: 4096

3call G()

4Xpath 8192" X: 8192

5      finally

6Xpath 16384" X: 16384

7return

8Xpath 32768" X: 0

9      endtry


10     Xpath 65536" X: 0


   endfunction"/tmp/v0fbkxn/49"[noeol] 13L, 409C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/v0fbkxn/49" 10L, 381C written
"test49.in" 32L, 705C

*** Test  28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/50[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/50" 39L, 721C appended40L, 743C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/v0fbkxn/51[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/51"' -S /tmp/v0fbkxn/50[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880Ctest49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/52[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/52" 23L, 509C appended24L, 531C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/53[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/53"' -S /tmp/v0fbk


xn/52[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/54[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/54" 60L, 1101C appended61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/55[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv


iminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/55"' -


c'breakadd func 3 F' -c 'breakadd file 19 /tmp/v0fbkxn/54' -c 'breakadd file 31


/tmp/v0fbkxn/54' -S /tmp/v0fbkxn/54[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/55" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/56[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/56" 60L, 1122C appended61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/57[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/57"' -S /tmp/v0fbk


xn/56[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  31: OK (190905173)


*** Test  32: OK (354833067)


*** Test  33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/58" 63L, 1288C appended64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/59[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbk


xn/59"' -c 'breakadd func 16 C' -S /tmp/v0fbkxn/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/59" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/60" 63L, 1285C appended64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/61[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbk


xn/61"' -c 'breakadd func 16 B' -S /tmp/v0fbkxn/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/61" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/62" 66L, 1430C appended67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/63[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/


63"' -c 'breakadd func 16 R' -S /tmp/v0fbkxn/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/63" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/64" 73L, 1488C appended74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/65[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/65"' -c 'breakadd


func 16 F' -S /tmp/v0fbkxn/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/65" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/66[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/66" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/67[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbk


xn/67"' -c 'breakadd func 16 E' -S /tmp/v0fbkxn/66[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/67" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/68[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/68" 83L, 1538C appended84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/69[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -


c'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi


mResult = "/tmp/v0fbkxn/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S


/tmp/v0fbkxn/68[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/70[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/70" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/71[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbk


xn/71"' -c 'breakadd func 16 T' -S /tmp/v0fbkxn/70[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/71" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  40: OK (357908480)


*** Test  41: OK (3076095)


*** Test  42: OK (1505155949)


*** Test  43: OK (1157763329)


*** Test  44: OK (1031761407)


*** Test  45: OK (1157763329)


*** Test  46: OK (739407)


*** Test  47: OK (371213935)


*** Test  48: OK (756255461)


*** Test  49: OK (179000669)


   function C()


1      try


2Xpath 1" X: 1


3throw "arrgh"


4Xpath 2" X: 0


5      catch /arrgh/


6Xpath 4" X: 4


7      endtry


8      Xpath 8" X: 8


   endfunction"/tmp/v0fbkxn/72"[noeol] 11L, 334C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/v0fbkxn/72" 8L, 295C written
"test49.in" 32L, 705C

   function T1()

1      XloopNEXT

2      try

3Xloop 1" X: 16 + 16*16

4throw "arrgh"

5Xloop 2" X: 0

6      finally


7Xloop 4" X: 64 + 64*16


8      endtry


9      Xloop 8" X: 0


   endfunction"/tmp/v0fbkxn/73"[noeol] 12L, 364C

9 substitutions on 9 lines

Pattern not found: ^\s*$
"/tmp/v0fbkxn/73" 9L, 323C written
"test49.in" 32L, 705C

   function T2()

1      try

2Xpath 4096" X: 4096

3call T1()

4Xpath 8192" X: 0

5      finally

6Xpath 16384" X: 16384

7      endtry


8      Xpath 32768" X: 0


   endfunction"/tmp/v0fbkxn/74"[noeol] 11L, 332C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/v0fbkxn/74" 8L, 305C written
"test49.in" 32L, 705C

*** Test  50: OK (363550045)

*** Test  51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/76[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/76" 2L, 41C appended3L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/v0fbkxn/77[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/77"' -S /tmp/v0fbkxn/76[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/77" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/75" 8L, 182C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/78[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/78" 7L, 115C appended8L, 137C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/79[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/79"' -S /tmp/v0fbkxn/78[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/79" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/75" 8L, 181C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/80[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/80" 12L, 180C appended13L, 202C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/81[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/81"' -S /tmp/v0fbkxn/80[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/81" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/75" 10L, 209C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/82[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/82" 8L, 139C appended9L, 161C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/83[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/83"' -S /tmp/v0fbkxn/82[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/83" 2L, 11C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/75" 10L, 217C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/84[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/84" 5L, 87C appended6L, 109C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/85[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!


>/tmp/v0fbkxn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =


1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/85"' -c 'breakadd file 4 /tmp/v0fbkxn


/84' -S /tmp/v0fbkxn/84[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/85" 1L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/75" [noeol] 9L, 202C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/86[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/86" 7L, 189C appended8L, 211C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/87[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/87"' -S /tmp/v0fbkxn/86[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/87" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/75" 9L, 252C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/88[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/88" 7L, 199C appended8L, 221C8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/89[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/89"' -S /tmp/v0fbkxn/88[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/89" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/75" 9L, 214C
"test49.in" 32L, 705C


*** Test  52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/91[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/91" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/92[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/92"' -S /tmp/v0fbkxn/91[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/92" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/93[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/93" 3L, 39C appended4L, 61C


3 substitutions on 3 lines
"/tmp/v0fbkxn/93" 4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/94[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/94"' -S /tmp/v0fbkxn/93[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/94" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/95[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/95" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/v0fbkxn/95" 5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/96[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/96"' -S /tmp/v0fbkxn/95[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/96" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/97[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/97" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/v0fbkxn/97" 4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/98[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/98"' -S /tmp/v0fbkxn/97[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/98" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/99[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/99" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/v0fbkxn/99" 6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/100[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/100"' -S /tmp/v0fbkxn/99[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/100" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/101[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/101" 1L, 9C appended2L, 31C2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/102[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/102"' -S /tmp/v0fbkxn/101[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/102" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 153C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/103[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/103" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/v0fbkxn/103"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/104[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/104"' -S /tmp/v0fbkxn/103[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/104" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/105[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/105" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/v0fbkxn/105"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/106[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/106"' -S /tmp/v0fbkxn/105[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/106" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/107[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/107" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/v0fbkxn/107"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/108[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/108"' -S /tmp/v0fbkxn/107[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/108" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/109[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/109" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/v0fbkxn/109"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/110[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/110"' -S /tmp/v0fbkxn/109[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/110" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/111[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/111" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/112[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/112"' -S /tmp/v0fbkxn/111[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/112" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/113[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/113" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/v0fbkxn/113"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/114[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/114"' -S /tmp/v0fbkxn/113[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/114" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/115[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/115" 4L, 46C appended5L, 68C


4 substitutions on 4 lines
"/tmp/v0fbkxn/115"5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/116[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/116"' -S /tmp/v0fbkxn/115[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/116" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/117[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/117" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/v0fbkxn/117"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/118[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/118"' -S /tmp/v0fbkxn/117[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/118" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/119[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/119" 5L, 66C appended6L, 88C


5 substitutions on 5 lines
"/tmp/v0fbkxn/119"6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/120[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/120"' -S /tmp/v0fbkxn/119[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/120" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/121[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/121" 4L, 37C appended5L, 59C


4 substitutions on 4 lines
"/tmp/v0fbkxn/121"5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/122[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/122"' -S /tmp/v0fbkxn/121[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/122" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 150C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/123[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/123" 4L, 41C appended5L, 63C


4 substitutions on 4 lines
"/tmp/v0fbkxn/123"5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/124[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/v0fbkxn/124"' -S /tmp/v0fbkxn/123[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/124" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/90" 6L, 159C
"test49.in" 32L, 705C


*** Test  53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/126[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/126" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/127[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/127"' -S /tmp/v0fbkxn/126[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/127" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 164C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/128[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/128" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/v0fbkxn/128"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/129[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/129"' -S /tmp/v0fbkxn/128[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/129" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/130[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/130" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/v0fbkxn/130"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/131[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/131"' -S /tmp/v0fbkxn/130[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/131" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/132[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/132" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/v0fbkxn/132"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/133[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/133"' -S /tmp/v0fbkxn/132[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/133" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/134[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/134" 4L, 53C appended5L, 75C


4 substitutions on 4 lines
"/tmp/v0fbkxn/134"5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/135[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/135"' -S /tmp/v0fbkxn/134[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/135" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/136[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/136" 5L, 62C appended6L, 84C


5 substitutions on 5 lines
"/tmp/v0fbkxn/136"6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/137[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/137"' -S /tmp/v0fbkxn/136[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/137" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/138[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/138" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/v0fbkxn/138"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/139[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/139"' -S /tmp/v0fbkxn/138[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/139" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/140[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/140" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/v0fbkxn/140"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/141[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/141"' -S /tmp/v0fbkxn/140[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/141" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/142[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/142" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/v0fbkxn/142"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/143[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/143"' -S /tmp/v0fbkxn/142[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/143" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 167C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/144[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/144" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/v0fbkxn/144"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/145[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/145"' -S /tmp/v0fbkxn/144[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/145" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/146[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/146" 7L, 95C appended8L, 117C


7 substitutions on 7 lines
"/tmp/v0fbkxn/146"8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/147[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/147"' -S /tmp/v0fbkxn/146[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/147" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/125" 6L, 167C
"test49.in" 32L, 705C


*** Test  54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/149[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/149" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/150[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/150"' -S /tmp/v0fbkxn/149[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/150" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 172C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/151[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/151" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/v0fbkxn/151"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/152[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/152"' -S /tmp/v0fbkxn/151[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/152" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/153[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/153" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/v0fbkxn/153"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/154[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/154"' -S /tmp/v0fbkxn/153[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/154" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/155[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/155" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/v0fbkxn/155"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/156[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/156"' -S /tmp/v0fbkxn/155[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/156" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/157[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/157" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/v0fbkxn/157"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/158[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/158"' -S /tmp/v0fbkxn/157[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/158" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/159[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/159" 1L, 10C appended2L, 32Cgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/os_unix.o os_unix.c
2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/160[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/160"' -S /tmp/v0fbkxn/159[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/160" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 166C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/161[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/161" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/v0fbkxn/161"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/162[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/162"' -S /tmp/v0fbkxn/161[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/162" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/163[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/163" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/v0fbkxn/163"gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fold.o fold.c
5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/164[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/164"' -S /tmp/v0fbkxn/163[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/164" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/165[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/165" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/v0fbkxn/165"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/166[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/166"' -S /tmp/v0fbkxn/165[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/166" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/167[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/167" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/v0fbkxn/167"6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/168[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/168"' -S /tmp/v0fbkxn/167[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/168" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/148" 6L, 170C
"test49.in" 32L, 705C


*** Test  55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/170[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/170" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/171[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/171"' -S /tmp/v0fbkxn/170[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/171" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/172[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/172" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/v0fbkxn/172"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/173[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/173"' -S /tmp/v0fbkxn/172[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/173" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/174[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/174" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/v0fbkxn/174"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/175[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/175"' -S /tmp/v0fbkxn/174[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/175" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/176[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/176" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/v0fbkxn/176"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/177[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/177"' -S /tmp/v0fbkxn/176[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/177" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/178[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/178" 3L, 35C appended4L, 57C


3 substitutions on 3 lines
"/tmp/v0fbkxn/178"4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/179[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/179"' -S /tmp/v0fbkxn/178[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/179" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/180[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/180" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/v0fbkxn/180"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/181[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/181"' -S /tmp/v0fbkxn/180[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/181" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/182[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/182" 4L, 47C appended5L, 69C


4 substitutions on 4 lines
"/tmp/v0fbkxn/182"5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/183[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/183"' -S /tmp/v0fbkxn/182[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/183" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/184[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/184" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/v0fbkxn/184"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/185[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/185"' -S /tmp/v0fbkxn/184[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/185" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/186[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/186" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/v0fbkxn/186"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/187[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/v0fbkxn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/v0fbkxn/187"' -S /tmp/v0fbkxn/186[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/187" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/v0fbkxn/169" 6L, 155C
"test49.in" 32L, 705C


*** Test  56: OK (511)


   function FuncException()


1      let g:exception = v:exception


   endfunction"/tmp/v0fbkxn/188" [noeol] 4L, 80C

Pattern not found: ^\s*$
"/tmp/v0fbkxn/188"1L, 36C written
"test49.in" 32L, 705C

   function FuncThrowpoint()


1      let g:throwpoint = v:throwpoint


   endfunction"/tmp/v0fbkxn/189" [noeol] 4L, 83C

Pattern not found: ^\s*$
"/tmp/v0fbkxn/189"1L, 38C written
"test49.in" 32L, 705C

   function T(arg, line)


1      if a:line == 2


2throw a:arg" in line 2


3      elseif a:line == 4


4throw a:arg" in line 4


5      elseif a:line == 6


6throw a:arg" in line 6


7      elseif a:line == 8


8throw a:arg" in line 8


9      endif


   endfunction"/tmp/v0fbkxn/190"[noeol] 12L, 341C

9 substitutions on 9 lines

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/v0fbkxn/190"9L, 292C written
"test49.in" 32L, 705C

   function G(arg, line)

1      call T(a:arg, a:line)

   endfunction"/tmp/v0fbkxn/191"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/v0fbkxn/191"1L, 30C written
"test49.in" 32L, 705C

   function F(arg, line)

1      call G(a:arg, a:line)

   endfunction"/tmp/v0fbkxn/192"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/v0fbkxn/192"1L, 30C written
"test49.in" 32L, 705C

*** Test  57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/193" 87L, 1700C appended88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/194[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/194"' -c 'break


add func 4 T' -S /tmp/v0fbkxn/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/194" 8L, 36C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/195" 293L, 5789C appended294L, 5811C


3 substitutions on 3 lines
"/tmp/v0fbkxn/195"294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/196[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/196"' -c 'br


eakadd file 115 /tmp/v0fbkxn/195' -c 'breakadd file 225 /tmp/v0fbkxn/195' -S /tm


p/v0fbkxn/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  59: OK (2038431743)
"/n/o/n/w/r/i/t/a/b/l/e/_/f/i/l/e"
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/197" 33L, 765C appended34L, 787C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/198[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/198"' -c 'break


add file 7 /tmp/v0fbkxn/197' -S /tmp/v0fbkxn/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/198" 3L, 27C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/199" 115L, 2272C appended116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/200[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/


200"' -c 'breakadd file 8 /tmp/v0fbkxn/199' -c 'breakadd file 36 /tmp/v0fbkxn/19


9' -c 'breakadd file 40 /tmp/v0fbkxn/199' -c 'breakadd file 69 /tmp/v0fbkxn/199'


-c 'breakadd file 95 /tmp/v0fbkxn/199' -c 'breakadd file 97 /tmp/v0fbkxn/199' -


S/tmp/v0fbkxn/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  61: OK (374889517)


   function F()


1      while 1


2      " Missing :endwhile


   endfunction"/tmp/v0fbkxn/201"[noeol] 5L, 73C

Pattern not found: ^\s*$
"/tmp/v0fbkxn/201"2L, 40C written
"test49.in" 32L, 705C

*** Test  62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" Error detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/test49.vim:


line 5500:


"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing


*** Test  63: OK (236978127)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/202" 149L, 2828C appended150L, 2850C


6 substitutions on 6 lines
"/tmp/v0fbkxn/202"150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/203[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/203"' -c 'break


add file 63 /tmp/v0fbkxn/202' -S /tmp/v0fbkxn/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/203" 16L, 97C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  64: OK (1499645335)


*** Test  65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/204[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/204" 78L, 1520C appended79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/205[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/205"' -c 'break


add func 8 F' -S /tmp/v0fbkxn/204[?1l>[?12l[?25h[?1049l

gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/getchar.o getchar.c


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/205" 6L, 22C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  66: OK (5464)


*** Test  67: OK (212514423)


*** Test  68: OK (212514423)


*** Test  69: OK (8995471)


*** Test  70: OK (69544277)


*** Test  71: OK (34886997)


*** Test  72: OK (1789569365)


   function F0()


   endfunction


   function F1()


   endfunction


*** Test  73: OK (9032615)
"/tmp/v0fbkxn/206" [New File]
"test49.in" 32L, 705C
"/tmp/v0fbkxn/207" [New File]
"test49.in" 32L, 705C


*** Test  74: OK (224907669)


*** Test  75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/208[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/208" 253L, 6369C appended254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/209[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|


set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp


/v0fbkxn/209"' -c 'breakadd func 2 INT' -S /tmp/v0fbkxn/208[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/209" 28L, 167C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  76: OK (1610087935)


Error detected while processing function ERR:


line    2:


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


*** Test  77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/210[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/210" 161L, 4543C appended162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/211[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/211"' -S /tmp/v0fb


kxn/210[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  78: OK (134217728)


Error detected while processing function NEXT:


line    1:


E121: Undefined variable: novar


E15: Invalid expression: novar | Xloop 1


E121: Undefined variable: novar


E488: Trailing characters


E108: No such variable: "novar"


E488: Trailing characters


E121: Undefined variable: novar


E15: Invalid expression: novar


E475: Invalid argument: {novar} | Xloop 1


E121: Undefined variable: novar


E15: Invalid expression:  novar


E475: Invalid argument: { novar} | Xloop 1


*** Test  79: OK (70288929)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/test49.vim:


line 7985:


E584: :elseif after :else: elseif 1 ||| 2


line 7995:


E584: :elseif after :else: elseif 1 ||| 2


line 8003:


E582: :elseif without :if: elseif 1 ||| 2


line 8011:


E582: :elseif without :if:     elseif 1 ||| 2


*** Test  80: OK (17895765)gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pathdef.o auto/pathdef.c

"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/212[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/212" 15L, 272C appended16L, 294C16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/213[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/213"' -S /tmp/v0fb


kxn/212[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/214[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/214" 12L, 227C appended13L, 249C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/215[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/215"' -c 'break


add file 8 /tmp/v0fbkxn/214' -S /tmp/v0fbkxn/214[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/215" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/216[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/216" 20L, 417C appended21L, 439C21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/217[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/217"' -S /tmp/v0fb


kxn/216[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/218[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/218" 24L, 480C appended25L, 502C25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/219[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/219"' -S /tmp/v0fb


kxn/218[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/220[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/220" 17L, 390C appended18L, 412C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/221[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/221"' -c 'break


add file 7 /tmp/v0fbkxn/220' -S /tmp/v0fbkxn/220[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/221" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/222[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/222" 21L, 444C appended22L, 466C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/223[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/223"' -c 'break


add func 6 I' -S /tmp/v0fbkxn/222[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/223" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/224[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/224" 17L, 307C appended18L, 329Cgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/gui_gtk_x11.o gui_gtk_x11.c
18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/225[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/225"' -S /tmp/v0fb


kxn/224[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/226[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/226" 14L, 266C appended15L, 288C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/227[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/227"' -c 'break


add file 8 /tmp/v0fbkxn/226' -S /tmp/v0fbkxn/226[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/227" 3L, 13C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/228" 154L, 3580C appended155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/229[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/229"' -c 'br


eakadd func 1 INT' -S /tmp/v0fbkxn/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/229" 18L, 118C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  84: OK (934782101)


TMP
"/tmp/v0fbkxn/230" [noeol] 2L, 6C/  
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"


"/tmp/v0fbkxn/232" 1L, 1C
"test49.in" 32L, 705C


:!echo XYZ >/tmp/v0fbkxn/233[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/234" [New File]
"test49.in" 32L, 705C


*** Test  85: OK (198689)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/test49.vim:


line 8769:


E123: Undefined function: F


Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1


line 8772:


E926: Current location list was changed


line 8773:


E193: :endfunction not inside a function


Error detected while processing function ExecAsScript[2]..MakeScript:


line    3:


E123: Undefined function: Fgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hardcopy.o hardcopy.c

"/tmp/v0fbkxn/235" c[noeol] 4L, 109C


search hit BOTTOM, continuing at TOP
line   10:

E486: Pattern not found: .*F(.*)


search hit BOTTOM, continuing at TOP
line   11:

E486: Pattern not found: ^\d*\s*endfunction\>


4 substitutions on 4 lines
"/tmp/v0fbkxn/235"3L, 109C written
"Make_all.mak" 207L, 3846C


Error detected while processing /tmp/v0fbkxn/235:


line    1:


E492: Not an editor command: Error detected while processing function ExecAsScr


ipt[2]..MakeScript:


line    2:


E492: Not an editor command: line    3:


line    3:


E492: Not an editor command: E123: Undefined function: F


Error detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/test49.vim:


line 8779:


E130: Unknown function: F


*** Test  86: OK (0)


5

*** Test  87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/v0fbkxn/0' >/tmp/v0fbkxn/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/v0fbkxn/236" 151L, 3929C appended152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/v0fbkxn/237[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi


nfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v0fbkxn/237"' -c


'breakadd func 5 ThrowOnInterrupt' -S /tmp/v0fbkxn/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/v0fbkxn/237" 16L, 281C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<6ECvf/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9009L, 206880C
"Make_all.mak" 207L, 3846C


*** Test  88: OK (50443995)


Press ENTER or type command to continue:[?12l[?25h" Go back to this file and append the results from register r.
[?25l#

# Common Makefile, defines the list of tests to run.

#



NO_PLUGIN = -U NONE --noplugin --not-a-term



# The first script creates small.vim.

SCRIPTS_FIRST = \test1.out



# Tests that run on all systems.

SCRIPTS_ALL = \test3.out \test4.out \test5.out \test7.out \test8.out \test9.out \test14.out \test15.out \test19.out \test20.out \test22.out \[?12l[?25h[?25l:[?12l[?25hbuf test49.in
[?25l"test49.in" 32L, 705C:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:":" make valgrind happy

:redir => funclis:silent func:redir END:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif:endfor:for v in keys(g:):  silent! exe "unlet " . v

:endfor:unlet v:qa!ENDTESTResults of test49.vim:[?12l[?25h

[?25l

83 more lines

*** Test  16: OK (8722)83 more lines[?12l[?25h[?25l:[?12l[?25h/^Results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 84L, 2484C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" make valgrind happy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => funclist
[?25l[?12l[?25h[?25l:[?12l[?25hsilent func
[?25l[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hfor line in split(funclist, "\n")
[?25l

:  [?12l[?25h:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')


[?25l:  [?12l[?25h:  if name != ''


[?25l:    [?12l[?25h:    exe "delfunc " . name


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy[?12l[?25h[?25l

:[?12l[?25hfor v in keys(g:)
[?25l

:  [?12l[?25h:  silent! exe "unlet " . v


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in[?12l[?25h[?25l

:[?12l[?25hunlet v
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test49 = test61; then \
#	  if diff test.out test49.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test49.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test97.failed test.ok test.out X* viminfo
cp test97.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test97.in" 23 lines, 484 charactersTest whether glob()/globpath() return correct results with certain escaped

characters.



STARTTEST

:so small.vim

:" make sure glob() doesn't use the shell

:set shell=doesnotexist

:" consistent sorting of file names

:set nofileignorecase

:e! test.out

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:w! Xxx{

:w! Xxx\$

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:"

:$put =string(globpath('sautest/autoload', '*.vim'))

:$put =string(globpath('sautest/autoload', '*.vim', 0, 1))

:w

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest whether glob()/globpath() return correct results with certain escaped[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 377 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[?12l[?25h[?25l:[?12l[?25hset shell=doesnotexist
[?25l[?12l[?25h[?25l:[?12l[?25h" consistent sorting of file names
[?25l[?12l[?25h[?25l:[?12l[?25hset nofileignorecase
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25l[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xxx{
[?25l

Cannot execute shell doesnotexist




E79: Cannot expand wildcards


"Xxx{" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25lXxx{

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25lXxx$[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l'sautest/autoload/Test104.vimsautest/autoload/footest.vim'[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test97 = test61; then \
#	  if diff test.out test97.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test97.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr_utf8.failed test.ok test.out X* viminfo
cp test_listlbr_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hashtab.o hashtab.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr_utf8.in" 134 lines, 4027 charactersTest for linebreak and list option in utf-8 mode



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!  test.out | qa! | endif

:so mbyte.vim

:set encoding=utf8

:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width, lines)

:let c=''

:for j in range(1,a:lines)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option in utf-8 mode[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 129 lines, 3948 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!


test.out | qa! | endif
[?25l:set list nolinebreak cc=3[?12l[?25h[?25l

:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text
[?12l[?25h[?25l

:[?12l[?25hif &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
[?25l[?12l[?25h[?25l:[?12l[?25h10new|:vsp|:vert resize 20
[?25l                    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  call DoRecordScreen()" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")else   call append('$', "Screen attributes are the same!")

:endif%w! test.out

:qaENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz 1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width, lines)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,a:lines)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[?12l[?25h[?25l:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo


l:\ub6"
[?25l▕———abcdef|▕———␣ˑ¶[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef|

+hijklmn▕———|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines¶                   

Test 1: set         

+linebreak + set    

+list + fancy       

+listchars¶         

▕———abcdefˑˑˑˑˑˑˑˑˑˑ
@                   Test 1: set linebreak + set list + fancy listchars▕———abcdef          +hijklmn▕———        +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶    [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[?12l[?25h[?25l:[?12l[?25hset list nolinebreak
[?25lhijklmn▕—pqrstuvwxyz␣1060ABCDEFGHIJKLMNOPˑ¶    

¶                

Test 1: set linebrea

+k + set list + fancy listchars¶   

▕———abcdefˑˑˑˑˑˑˑˑˑˑ¶          

+hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef hijklmn▕—|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|

¶|

Test 1: set linebrea|

+k + set list + fanc|

+y listchars¶|

▕———abcdefˑˑˑˑˑˑˑˑˑˑ|

+¶|

+hijklmn▕———ˑˑˑˑˑˑˑˑ|
@                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOPTest 1: set linebreak + set list + fancy listchars▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            +hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines▕———abcdef                                                 +hijklmn▕———                                               +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l▕———▕—¶                  

+pqrstuvwxyz␣1060ABC

+¶+DEFGHIJKLMNOPˑ¶ˑˑˑˑ¶                 

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ

+¶                  

▕———*mask = nil;¶~ [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l▕———*mask = nil;¶   

~                   

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l      
    [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l*mask = nil;    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 3: set         

+linebreak nolist   

    *mask = nil;    

~                   

~                   

~                   +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ¶                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       *mask = nil;Test 3: set linebreak nolist*mask = nil;~~~4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['#define ABCDE^I^I1','#define ABCDEF^I^I1','#define ABCDEFG^I^I


1','#define ABCDEFGH^I1', '#define MSG_MODE_FILE^I^I^I1','#define MSG_MODE_CONSO


LE^I^I2','#define MSG_MODE_FILE_AND_CONSOLE^I3','#define MSG_MODE_FILE_THEN_CONS


OLE^I4']
[?25l*mask = nil;    ||

Test 3: set|+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l#define             

+ABCDE      1       [?12l[?25h[?25l:[?12l[?25hvert resize 40
[?25l                    |                    |linebreak nolist|

    *mask = nil;                        |

~                    |                    |                    |

#define ABCDE1 |ABCDEF      1 |

#define ABCDEFG     1 |                    +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+][?12l[?25h[?25l:[?12l[?25h$-7
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l#define ABCDE       1                   

#define ABCDEF      1                   

#define ABCDEFG     1                   

                                        

                                        

                                        

                                        

                                        

                                        

                                        #define ABCDEFGH    1

#define MSG_MODE_FILE1

#define MSG_MODE_CONSOLE2

#define MSG_MODE_FILE_AND_CONSOLE   3

#define MSG_MODE_FILE_THEN_CONSOLE  4

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l>-->--->->--->>--->--->-->--->--->--->--->-->-[?12l[?25h[?25l:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25lAB>CDEF>->CDEFG>->CDEFGH>->_FILE>------->_CONSOLE>------->_FILE_AND_CONSOLE>------->_FILE_THEN_CONSOLE>-------AB[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l#define ABCDE>-->---1|

#define >CDEF>-->---1|

#define >CDEFG>->---1|

#define >CDEFGH>----1|

#define >_FILE>--------->--->---1|

#define >_CONSOLE>---------->---2|

#define >_FILE_AND_CONSOLE>---------3   |

#define >_FILE_THEN_CONSOLE>--------4   |||~                                       

~                                       

[No Name] [+]                            +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l>CDE>-7 more lines                                        

Test 4: set linebreak list listchars    
@                                       #define >CDEFG>->---1+ #define >CDEFGH>----1+#define >_FILE>--------->--->---1+ #define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+ABCDE>
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['bbeeeeee^I^I;^Isome text']
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l[?12l[?25h[?25l:[?12l[?25h$
[?25l@                                       

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        Test 4: set linebreak list listchars    

+and concealing

#define >CDE>-->---1

#define >CDEF>-->---1

#define >CDEFG>->---1

#define >CDEFGH>----1

#define >_FILE>--------->--->---1

#define >_CONSOLE>---------->---2

#define >_FILE_AND_CONSOLE>---------3

bbeeeeee>--->---;>--some text[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25lbbeeeeee>--->---;>--some text           

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l>;>some text      [?12l[?25h[?25l:[?12l[?25hsyn clear
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match meaning    /;\s*\zs.*/
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match hasword    /^\x\{8}/    contains=word
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match word       /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match beginword  /\<\x\x/     contained conceal
[?25leeeeee>--[?12l[?25h[?25l:[?12l[?25hsyn match endword    /\x\{6}\>/   contained
[?25l[?12l[?25h[?25l:[?12l[?25hhi meaning   guibg=blue
[?25lsome text[?12l[?25h[?25l:[?12l[?25hhi beginword guibg=green
[?25l[?12l[?25h[?25l:[?12l[?25hhi endword   guibg=red
[?25leeeeee[?12l[?25h[?25l:[?12l[?25hredraw!
[?25leeeeee>--->-;>some text||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

[No Name] [+]                            #define >CDEFG>->---1+#define >CDEFGH>----1+#define >_FILE>--------->--->---1+#define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l                                        

Test 5: set linebreak list listchars and

eeeeee>--->-;>some text                 #define >_CONSOLE>---------->---2      +                                      #define >_FILE_AND_CONSOLE>---------3  +                                                                                                                                                                                                                                                                                bbeeeeee    ; some textTest 5: set linebreak list listchars an+d concealing part2eeeeee>--->-;>some text                + [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 6: Screenattributes for comment    [?12l[?25h[?25l:[?12l[?25hcall append('$', ' /*^I^I and some more */')
[?25l /*>>- and some more */                 [?12l[?25h[?25l:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail


:\u02d1,eol:\ub6"
[?25leeeeee▕———————▕——————;▕—————some text¶|

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ¶▕———▕—————— and some more */¶#define >_CONSOLE>---------->---2         ;      some text[?12l[?25h[?25l:[?12l[?25hsyntax on
[?25lbbeeeeee▕some text5>some text6for

 /* and some more */#define >_CONSOLE>---------->---2       #define >_FILE_AND_CONSOLE>---------3   bbeeeeeesome text5>some text                 [?12l[?25h[?25l:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l▕—————▕——————▕—————ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ▕———▕——————[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n


"[?25lbbeeeeee▕—————▕——————;▕—————some text¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt0
[?25l /*▕———▕—————— and some more */¶        

~                                       

~                                       

~                                       

~                                       

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['106']
[?12l[?25h[?25l:let attr += ['106']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25lScreenAttributes for test6:¶            [?12l[?25h[?25l:[?12l[?25hif attr[0] != attr[1] && attr[1] != attr[3] && attr[3] != attr[5]
[?25l

:  [?12l[?25h:   call append('$', "Attribut 0 and 1 and 3 and 5 are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Not all attributes are different")


[?25l:  [?12l[?25h:endif
[?25l/*▕———▕—————— and some more */¶|

ScreenAttributes for test6:¶|

Attribut 0 and 1 and 3 and 5 are differe||
~                                       #define >_CONSOLE>---------->---2      + #define >_FILE_AND_CONSOLE>---------3  + [?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select


ion=exclusive and multibyte char"
[?25l/*▕———▕—————— and some more */¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set linebreak with visual block [?12l[?25h[?25llong line:ˑ¶                            [?12l[?25h[?25l¶                                

¶                            

¶                                       

¶                                      

oobar foobar foobar foobar foobarˑ¶[?12l[?25h[?25l
foobar foobar TARGET¶               [?12l[?25h[?25lÃ' at end¶[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx' at end¶[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=[]
[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l /*▕———▕—————— and some more */¶ScreenAttributes for test6:¶Attribut 0 and 1 and 3 and 5 are differe

Test 8: set linebreak with visual block

long line: foobar foobar foobar foobar f

¶                                       [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25hset list nolinebreak cc=3
[?25l*

Scr

Att

Tesn 

a b

a b[?12l[?25h[?25l:[?12l[?25hsign define foo text=^+
[?25l[?12l[?25h[?25l:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l   /*▕———▕—————— and some more */¶  ScreenAttributes for test6:¶  Attribut 0 and 1 and 3 and 5 are diff

  Test 8: set linebreak with visual bloc

  long line: foobar foobar foobar foobar

  ¶ 

+a b c¶  a b c¶  

  ~~  #define >_CONSOLE>-->---2  +     #define >_FILE_AND_CONSOLE>--3  +     bbeeeeee  ;      some text    Test 5: set linebreak list listchars   +and concealing part2  eeeeee>--->-;>some text  +[?12l[?25h[?25l:[?12l[?25hnorm! 2kztj
[?25l  ¶                                     

+a b c¶                                

  a b c¶                                

  ~                                     

  ~                                     

                                        

                                        

                                        

                                        

                                          

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     [?12l[?25h[?25l:[?12l[?25hlet line1=line('.')
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['91']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hlet line2=line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=attr
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['91']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l  ¶ |

+a b c¶|

  a b c¶||||||||  

  

  

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     

[No Name] [+]                              #define >_CONSOLE>---------->---2      +     #define >_FILE_AND_CONSOLE>---------3  +     bbeeeeee;      some text    Test 5: set linebreak list listchars  +and concealing part2  eeeeee>--->-;>some text  +[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l3 more lines¶                                     Test 9: a multibyte sign and colorcolu  ¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ+a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ  a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑa b cTest 9: a multibyte sign and colorcolumn  ¶                     ++a b c¶                                 a b c¶               [?12l[?25h[?25l:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[?12l[?25h[?25l:[?12l[?25hif attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]
[?25l

:  [?12l[?25h:   call append('$', "Screen attributes are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Screen attributes are the same!")


[?25l:  [?12l[?25h:endif
[?25l  ¶ |

+a b c¶|

  a b c¶|

  ¶ |Screen attributes are the same!¶        a b c    Test 9: a multibyte sign and colorcol  +umn[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 57 lines, 1882 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr_utf8 = test61; then \
#	  if diff test.out test_listlbr_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test54.failed test.ok test.out X* viminfo
cp test54.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/gui_gtk_gresources.o auto/gui_gtk_gresources.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_cscope.o if_cscope.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test54.in" 22 lines, 658 charactersSome tests for buffer-local autocommands



STARTTEST

:so small.vim

:e xx

:if has("vms")

: !del test.out.*

: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.oout

:else

: !rm -f test.out

: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out

:endif

:e somefile" here, autocommand for xx shall write test.out

:" but autocommand shall not apply to buffer named <buffer>:bwipe xx" here, autocommand shall be auto-deleted

:e xx" nothing shall be written

:e somefile" nothing shall be written

:qa!

ENDTEST



start of test file xx

end of test file xx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSome tests for buffer-local autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 15 lines, 555 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25he xx
[?25l"xx" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !del test.out.*


[?25l:  [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te


st.out


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !rm -f test.out


[?25l:!rm -f test.out[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25he somefile           " here, autocommand for xx shall write test.out 
[?25l:!echo buffer-local autommand in xx>> test.out


[?12l[?25h[?25l"somefile" [New File]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h                     " but autocommand shall not apply to buffer named <buffer


>[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe xx             " here, autocommand shall be auto-deleted
[?25l[?12l[?25h[?25l:[?12l[?25he xx                 " nothing shall be written
[?25l"xx" [New File][?12l[?25h[?25l:[?12l[?25he somefile           " nothing shall be written
[?25l"somefile" [New File][?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test54 = test61; then \
#	  if diff test.out test54.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test54.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test17.failed test.ok test.out X* viminfo
cp test17.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test17.in" 135 lines, 2431 charactersTests for:

- "gf" on ${VAR},

- ":checkpath!" with various 'include' settings.



STARTTEST

:so small.vim

:if has("ebcdic")

: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}

:else

: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}

:endif

:"

:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 564 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out

:w! test.out

gf

:set ff=unix

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:endif
[?25l:"

:if has("unix")

:let $CDIR = "."

/CDIR[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:let $CDIR = "."


[?25l:  [?12l[?25h/CDIR


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:if has("amiga")


[?25l:    [?12l[?25h:let $TDIR = "/testdir"


[?25l:    [?12l[?25h:else


[?25l:    [?12l[?25h:let $TDIR = "."


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h/TDIR


[?25l:  [?12l[?25h:endif
[?25l:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif

:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat': > nmake -f Make_dos.mak test17.outw! test.outgf:set ff=unix

:w! test.out

:brewindENDTEST${CDIR}/test17a.in[?12l[?25h[?25l

:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[?12l[?25h[?25l:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[?12l[?25h[?25l:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[?12l[?25h[?25l:[?12l[?25h"  > nmake -f Make_dos.mak test17.out
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 135 lines, 2431 characters written[?12l[?25h[?25l

"/<<PKGBUILDDIR>>/src/vim-basic/testdir/./test17a.in" 3 lines, 88


characters


Press ENTER or type command to continue[?12l[?25h[?25lThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 3 lines, 88 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out:w! test.outgf:set ff=unix:w! test.out:brewindENDTEST        ${CDIR}/test17a.in        $TDIR/test17a.inSTARTTEST:" check for 'include' without \zs or \ze:lang C:call delete("./Xbase.a"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":e! Xdir1/dir2/foo.ai#include   "bar.a"^[:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perl.o auto/if_perl.c
23 lines, 396 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.a

i#include"foo.a"^[:

:w

:e Xbase.a

:set path=Xdir1/dir2

i#include    <foo.a>^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and \ze

:call delete("./Xbase.b")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*/\zs[^/]\+\ze'

:function! DotsToSlashes()

:  return substitute(v:fname, '\.', '/', 'g') . '.b'

:endfunction[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.a")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l#include   "bar.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][?12l[?25h[?25l#include      "baz.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][?12l[?25h[?25l#include"foo.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l#include    <foo.a>[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.a


Xdir1/dir2/foo.a -->


  Xdir1/dir2/bar.a


  Xdir1/dir2/bar.a -->


    Xdir1/dir2/baz.a


    Xdir1/dir2/baz.a -->


      "foo.a"  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l#include    <foo.a>

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi#include            "foo.a"^[:

:w:e Xbase.a:set path=Xdir1/dir2i#include    <foo.a>^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and \ze:call delete("./Xbase.b"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*/\zs[^/]\+\ze':function! DotsToSlashes():  return substitute(v:fname, '\.', '/', 'g') . '.b':endfunction:let &includeexpr='DotsToSlashes()'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 27 lines, 532 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.b")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h[?25l:[?12l[?25hfunction! DotsToSlashes()
[?25l

:  [?12l[?25h:  return substitute(v:fname, '\.', '/', 'g') . '.b'


[?25l:  [?12l[?25h:endfunction
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:[?12l[?25h[?25l:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   /bar/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][?12l[?25h[?25l%inc      /baz/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][?12l[?25h[?25l%inc/foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    /foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.b


Xdir1/dir2/foo.b -->


  Xdir1/dir2/bar.b


  Xdir1/dir2/bar.b -->


    Xdir1/dir2/baz.b


    Xdir1/dir2/baz.b -->


      foo  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    /foo/

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi%inc            /foo/^[:

:w:e Xbase.b:set path=Xdir1/dir2i%inc    /foo/^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and no \ze:call delete("./Xbase.c"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze':function! StripNewlineChar():  if v:fname =~ '\n$':    return v:fname[:-2]:  endif[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 39 lines, 745 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.c")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hfunction! StripNewlineChar()
[?25l

:  [?12l[?25h:  if v:fname =~ '\n$'


[?25l:    [?12l[?25h:    return v:fname[:-2]


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  return v:fname


[?25l:  [?12l[?25h:endfunction
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c[?12l[?25h[?25l

:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   bar.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][?12l[?25h[?25l%inc      baz.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    FALSE.c foo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.c


Xdir1/dir2/foo.c -->


  Xdir1/dir2/bar.c


  Xdir1/dir2/bar.c -->


    Xdir1/dir2/baz.c


    Xdir1/dir2/baz.c -->


      foo.c  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    FALSE.c foo.c

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:w:e Xdir1/dir2/baz.ci%inc            foo.c^[::w:e Xdir1/dir2/FALSE.ci%inc            foo.c^[::w:e Xbase.c:set path=Xdir1/dir2i%inc    FALSE.c foo.c^[::w:redir! >>test.out:checkpath!:redir END:brewind:" change "\" to "/" for Windows and fix 'fileformat':e test.out:%s#\\#/#g:set ff&:w:qENDTEST[?12l[?25h[?25l:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[?12l[?25h[?25l:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 charactersThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!--- Included files in path ---

Xdir1/dir2/foo.a

Xdir1/dir2/foo.a -->

  Xdir1/dir2/bar.a  Xdir1/dir2/bar.a -->    Xdir1/dir2/baz.a

    Xdir1/dir2/baz.a -->

      "foo.a"  (Already listed)--- Included files in path ---Xdir1/dir2/foo.b

Xdir1/dir2/foo.b -->

  Xdir1/dir2/bar.b

  Xdir1/dir2/bar.b -->

    Xdir1/dir2/baz.b

    Xdir1/dir2/baz.b -->foo  (Already listed)[?12l[?25h[?25l:[?12l[?25h%s#\\#/#g
[?25lE486: Pattern not found: \\[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[?12l[?25h[?25l:[?12l[?25hq
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test17 = test61; then \
#	  if diff test.out test17.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test17.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test30.failed test.ok test.out X* viminfo
cp test30.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available.



STARTTEST

:so small.vim

:" first write three test files, one in each format

:set fileformat=unix

:set fileformats=

:/^unix/;/eof/-1w! XXUnix

:/^dos/;/eof/-1w! XXDos

:set bin noeol

:$w! XXMac

Gonoeol^[

:$w! XXEol

:set nobin eol

:enew!

:bwipe XXUnix XXDos XXMac

:" create mixed format files

:if has("vms")

: !copy XXUnix,XXDos XXUxDs.

: !copy XXUnix,XXMac XXUxMac.

: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for a lot of variations of the 'fileformats' option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 221 lines, 3592 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72

Go8^[:$r XXtt81

:$r XXtt82

Go9^[:$r XXtt91

:$r XXtt92

:$r XXtt93

Go10^[:$r XXUnix

:set nobinary ff&

:w

:qa!

ENDTEST



unix

unix

eof



dos^M

dos^M

eof



mac^Mmac^M[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" first write three test files, one in each format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=
[?25l[?12l[?25h[?25l:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25hset bin noeol
[?25l[?12l[?25h[?25l:[?12l[?25h$w! XXMac
[?25l"XXMac" [New File][Incomplete last line] 1 line, 8 characters written[?12l[?25h[?25l

noeol[?12l[?25h[?25l

:[?12l[?25h$w! XXEol
[?25l"XXEol" [New File][Incomplete last line] 1 line, 5 characters written[?12l[?25h[?25l:[?12l[?25hset nobin eol
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[?12l[?25h[?25l:[?12l[?25h" create mixed format files
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !copy XXUnix,XXDos XXUxDs.


[?25l:  [?12l[?25h: !copy XXUnix,XXMac XXUxMac.


[?25l:  [?12l[?25h: !copy XXDos,XXMac  XXDosMac.


[?25l:  [?12l[?25h: !copy XXMac,XXEol  XXMacEol.


[?25l:  [?12l[?25h: !copy XXUnix,XXDos,XXMac XXUxDsMc.


[?25l:  [?12l[?25h:elseif has("win32")


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos XXUxDs


[?25l:  [?12l[?25h: !copy /b XXUnix+XXMac XXUxMac


[?25l:  [?12l[?25h: !copy /b XXDos+XXMac XXDosMac


[?25l:  [?12l[?25h: !copy /b XXMac+XXEol XXMacEol


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos+XXMac XXUxDsMc


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !cat XXUnix XXDos >XXUxDs


[?25l:!cat XXUnix XXDos >XXUxDs[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXMac >XXUxMac


[?25l:!cat XXUnix XXMac >XXUxMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXDos XXMac >XXDosMac


[?25l:!cat XXDos XXMac >XXDosMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXMac XXEol >XXMacEol


[?25l:!cat XXMac XXEol >XXMacEol[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXDos XXMac >XXUxDsMc


[?25l:!cat XXUnix XXDos XXMac >XXUxDsMc[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25hendif
[?25l:[?12l[?25h"
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUnix
[?25l"XXUnix" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" 2 lines, 10 charactersdos^M

dos^M[?12l[?25h[?25l:[?12l[?25hw! XXtt01
[?25l"XXtt01" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line] 1 line, 8 charactersmacmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt02
[?25l"XXtt02" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=dos
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdos^Mdos^Meofmac^Mmac^M[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [CR missing][dos format] 2 lines, 10 charactersunixunix~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt11
[?25l"XXtt11" [New File][dos format] 2 lines, 12 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [dos format] 2 lines, 10 charactersdosdos[?12l[?25h[?25l:[?12l[?25hw! XXtt12
[?25l"XXtt12" [New File][dos format] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line][dos format] 1 line, 8 charactersmac^Mmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt13
[?25l"XXtt13" [New File][dos format] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=mac
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdosdoseofmac^Jmac[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [Incomplete last line][mac format] 1 line, 10 charactersunix^Junix^J

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt21
[?25l"XXtt21" [New File][mac format] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [Incomplete last line][mac format] 3 lines, 10 charactersdos^Jdos^J[?12l[?25h[?25l:[?12l[?25hw! XXtt22
[?25l"XXtt22" [New File][mac format] 3 lines, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [mac format] 2 lines, 8 charactersmac

mac~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt23
[?25l"XXtt23" [New File][mac format] 2 lines, 8 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l^Jdos

^Jeof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt31
[?25l"XXtt31" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt32
[?25l"XXtt32" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [mac format] 4 lines, 28 charactersunix^Junix^Jdos^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt33
[?25l"XXtt33" [New File][mac format] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters^Jdoseof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt41
[?25l"XXtt41" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt42
[?25l"XXtt42" [New File] 3 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [Incomplete last line][dos format] 3 lines, 18 charactersdodos

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt43
[?25l"XXtt43" [New File][dos format] 3 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" 4 lines, 20 charactersunixunix

dos^Mdos^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt51
[?25l"XXtt51" [New File] 4 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt52
[?25l"XXtt52" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [mac format] 4 lines, 18 charactersdo^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt53
[?25l"XXtt53" [New File][mac format] 4 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt54
[?25l"XXtt54" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [CR missing][dos format] 4 lines, 20 charactersunixunix

dosdos

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt61
[?25l"XXtt61" [New File][dos format] 4 lines, 22 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line][CR missing][dos format] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:dos[?12l[?25h[?25l:[?12l[?25hw! XXtt62
[?25l"XXtt62" [New File][dos format] 4 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt63
[?25l"XXtt63" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [Incomplete last line][mac format] 3 lines, 13 charactersmacmac

noeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt64
[?25l"XXtt64" [New File][mac format] 4 lines, 26 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt71
[?25l"XXtt71" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,dos,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt72
[?25l"XXtt72" [New File] 2 lines, 24 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,dos,unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt81
[?25l"XXtt81" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line][mac format] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lmac,dos,unix:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt82
[?25l"XXtt82" [New File][mac format] 2 lines, 23 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h" try with 'binary' set
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt91
[?25l"XXtt91" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt92
[?25l"XXtt92" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt93
[?25l"XXtt93" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix nobin
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXtt01
[?25l"XXtt01" gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_xcmdsrv.o if_xcmdsrv.c
1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt02
[?25l"XXtt02" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt11
[?25l"XXtt11" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt12
[?25l"XXtt12" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt13
[?25l"XXtt13" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt21
[?25l"XXtt21" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt22
[?25l"XXtt22" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt23
[?25l"XXtt23" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt31
[?25l"XXtt31" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt32
[?25l"XXtt32" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt33
[?25l"XXtt33" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt41
[?25l"XXtt41" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt42
[?25l"XXtt42" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt43
[?25l"XXtt43" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt51
[?25l"XXtt51" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt52
[?25l"XXtt52" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt53
[?25l"XXtt53" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt54
[?25l"XXtt54" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt61
[?25l"XXtt61" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt62
[?25l"XXtt62" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt63
[?25l"XXtt63" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt64
[?25l"XXtt64" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt71
[?25l"XXtt71" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt72
[?25l"XXtt72" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt81
[?25l"XXtt81" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt82
[?25l"XXtt82" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt91
[?25l"XXtt91" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt92
[?25l"XXtt92" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt93
[?25l"XXtt93" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results.
[?25l[?12l[?25h[?25l:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[?12l[?25h[?25l:[?12l[?25h" Add a newline at the end.
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25h$r XXtt01
[?25l"XXtt01" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt02
[?25l"XXtt02" 2 lines, 13 charactersmac^Mmac^MEND[?12l[?25h

[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXtt11
[?25l"XXtt11" 3 lines, 16 charactersunix^Munix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt12
[?25l"XXtt12" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt13
[?25l"XXtt13" 2 lines, 14 charactersmac^Mmac^M^MEND[?12l[?25h

[?25l

2[?12l[?25h[?25l:[?12l[?25h$r XXtt21
[?25l"XXtt21" 3 lines, 15 charactersunixunix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt22
[?25l"XXtt22" 3 lines, 15 charactersdos^Mdos^M^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt23
[?25l"XXtt23" 1 line, 12 characters

mac^Mmac^MEND[?12l[?25h[?25l

3[?12l[?25h[?25l

:[?12l[?25h$r XXtt31
[?25l"XXtt31" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt32
[?25l"XXtt32" 6 lines, 36 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt33
[?25l"XXtt33" 5 lines, 32 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

4[?12l[?25h[?25l

:[?12l[?25h$r XXtt41
[?25l"XXtt41" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt42
[?25l"XXtt42" 4 lines, 23 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt43
[?25l"XXtt43" 4 lines, 24 charactersunix

mac^Mmac^M

END

dos^M[?12l[?25h[?25ldos^M

mac^Mmac^M^M

END
[?12l[?25h[?25l

5[?12l[?25h[?25l

:[?12l[?25h$r XXtt51
[?25l"XXtt51" 5 lines, 24 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt52
[?25l"XXtt52" 6 lines, 33 charactersunix

dos^M

dos^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt53
[?25l"XXtt53" 3 lines, 22 charactersunix

dos^M

dos^M

mac^Mmac^M

END

dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt54
[?25l"XXtt54" 3 lines, 24 charactersdos^M

mac^Mmac^MEND

unix,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

6[?12l[?25h[?25l

:[?12l[?25h$r XXtt61
[?25l"XXtt61" 5 lines, 26 characters

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt62
[?25l"XXtt62" 5 lines, 39 charactersunix^M

dos^M

dos^M

END

dos,mac:dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt63
[?25l"XXtt63" 6 lines, 36 charactersunix^M

unix^M

mac^Mmac^M^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt64
[?25l"XXtt64" 1 line, 30 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

dos,mac:mac^Mmac^Mmac^Mnoeol^MEND[?12l[?25h[?25l

7[?12l[?25h[?25l

:[?12l[?25h$r XXtt71
[?25l"XXtt71" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt72
[?25l"XXtt72" 3 lines, 28 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix,dos,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

8[?12l[?25h[?25l

:[?12l[?25h$r XXtt81
[?25l"XXtt81" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt82
[?25l"XXtt82" 1 line, 27 charactersunix

dos^M

dos^M

mac^Mmac^M

END

mac,dos,unix:mac^Mnoeol^MEND[?12l[?25h[?25l

9[?12l[?25h[?25l

:[?12l[?25h$r XXtt91
[?25l"XXtt91" 5 lines, 32 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt92
[?25l"XXtt92" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt93
[?25l"XXtt93" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

10[?12l[?25h[?25l

:[?12l[?25h$r XXUnix
[?25l"XXUnix" 2 lines, 10 characters

unix[?12l[?25h[?25l

:[?12l[?25hset nobinary ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test30 = test61; then \
#	  if diff test.out test30.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test30.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test32.failed test.ok test.out X* viminfo
cp test32.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test32.in" 60 lines, 1391 charactersTest for insert expansion



:se cpt=.,w

* add-expands (word from next line) from other window

* add-expands (current buffer first)

* Local expansion, ends in an empty line (unless it becomes a global expansion)

* starts Local and switches to global add-expansion

:se cpt=.,w,i

* i-add-expands and switches to local

* add-expands lines (it would end in an empty line if it didn't ignored it self):se cpt=kXtestfile

* checks k-expansion, and file expansion (use Xtest11 instead of test11,

* because TEST11.OUT may match first on DOS)

:se cpt=w

* checks make_cyclic in other window

:se cpt=u nohid

* checks unloaded buffer expansion

* checks adding mode abortion

:se cpt=t,d

* tag expansion, define add-expansion interrupted

* t-expansion



STARTTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for insert expansion[?12l[?25h[?25l/^STARTTEST
[?12l[?25h[?25l

:so small.vim[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 533 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTO^N^[IX^[A^X^F^N^[

:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use

:" CTRL-X CTRL-F again to verify this doesn't cause trouble.

OX^X^F^H^H^H^H^H^H^H^H^X^F^[ddk

:se cpt=w

OST^N^P^P^P^P^[

:se cpt=u nohid

^WoOEN^N

unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[

:wq! test.out

ENDTEST



start of testfile

run1

run2

end of testfile



test11  36Gepeto/Tag/

asd     test11file      36G

Makefileto      run[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [New] 3L, 57C written[?12l[?25h[?25l:[?12l[?25hse cot=
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[:wq! test.out

ENDTESTstart of testfile

run1run2test32.in                                                                       [?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 4match in file test32.in^-- Keyword completion (^N^P) match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Adding Keyword completion (^N^P) Word from other line#include "Xtestfile"

run1 run2[+][?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h[?25l3[?12l[?25h

[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) match 1 of 115-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) Word from other line-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4 match 3 of 4 match 4 of 4 Back at original-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) match 1 of 2match in file test32.ine-- Adding Keyword completion (^N^P) Word from other linerun3 run3



run1 run2[?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h

[?25l:[?12l[?25hse cpt=.,w,i
[?25l[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 3.-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...
Scanning: test32.ine-- Whole line completion (^L^N^P) match 1 of 57INSERT --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 57Addinge Whole line completion (^L^N^P) -- Searching...
Scanning: test32.ine-- Adding Whole line completion (^L^N^P) The only match Back at original The only matchMakefileto      run3

Makefileto      run3

Makefileto      run3[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=kXtestfile
[?25l[?12l[?25h[?25l:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C writtenXtest11.one+   [?12l[?25h[?25l:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning dictionary: Xtestfile-match in file Xtestfile-- Keyword completion (^N^P) match 1 of 9test11[+]I[?12l[?25h [?25l-- Keyword completion (^N^P) match 1 of 9-- INSERT --[?12l[?25h[?25l-- INSERT --Xtest11
[?12l[?25h[?25l-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 2. match 2 of 2.two[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[?12l[?25h[?25l:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 4.INSERTa -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 443.
Make_all.mak

run1 run2d[?12l[?25h [?25l-- INSERT --[?12l[?25h[?25l
run1 run2~                                                                               [?12l[?25h

[?25l:[?12l[?25hse cpt=w
[?25l[?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match
STARTTEST

run1 run2[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=u nohid
[?25l[?12l[?25h[?25l



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 3-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only matchENDTEST

unless[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...match 1 of 3.INSERTm --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 3Definition completion (^D^N^P)^ U-- Searching...Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...
Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) Word from other lineINSERT --f-- Keyword completion (^N^P) -- Searching...
Scanning tags.pincluded file: Xtestfile
-- Keyword completion (^N^P) The only matchtest11file      36Gepeto/Tag/ asd

asd[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h

ru[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New] 15L, 175C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test32 = test61; then \
#	  if diff test.out test32.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test32.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test58.failed test.ok test.out X* viminfo
cp test58.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/list.o list.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2591 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :STARTTESTso small.vim

:"Don't want to depend on the locale from the environment

:set enc=latin1e!"Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spelliasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[?12l[?25h[?25l:[?12l[?25hset maxmem=512 spell
[?25lvim



STARTTESTlatin1maxmem

iasdaff/.dic

:func TestOne(aff, dicspellfilea:affa:dicspldic and .aff

  exea:aff . 'affstarta:aff . 'affend/-1w! Xtest.aff

  exea:dic . 'dicstarta:dic . 'dicend/-1w! Xtest.dic

  mkspell! Xtest Xtest[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
[?25lChange "asdTests" to:


 1 "Acid tests"


 2 "Attests"


 3 "Ass Tests"


 4 "As Tests"


 5 "Sad Tests"


 6 "Ads Tests"


 7 "As tests"


 8 "As detests"


 9 "Add Tests"


10 "Aid Tests"


11 "Ash Tests"


12 "Ad Tests"


13 "And Tests"


14 "Ask Tests"


15 "Asp Tests"


16 "USD Tests"


17 "Astutest"


18 "Autotests"


19 "Sadists"


20 "Asst Tests"


21 "Assad Tests"


22 "SSD Tests"


Type number and <Enter> or click with mouse (empty cancels): [?12l[?25h[?25l:[?12l[?25h"
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.latin1.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 46 lines, 754 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']th['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 151 lines, 3412 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.latin1.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.latin1.add
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment[?12l[?25h[?25l/[?12l[?25h^test2:
[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mark.o mark.c
str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 44 lines, 447 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 98 nodes; 88 (89%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 505 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"








2affend



2good: puts


badendaddstar

/regions=usgbnz

elequ/2/3

addendtest2:test elekwint test elekwent asdf[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 29 nodes; 23 (79%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 115 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 105 nodes; 86 (81%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 87 nodes; 68 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 22 lines, 223 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend




bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



Test NOSLITSUGS



8affstart

SET ISO8859-1



NOSPLITSUGS

8affend



8dicstart[?12l[?25h[?25l:[?12l[?25h" NOSLITSUGS
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" 3 lines, 27 characters written


"Xtest.dic" 4 lines, 20 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 8 of 26 nodes; 18 (69%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 90 bytes


4 lines yanked


4 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" Numbers
[?25lNOSPLITSUGS

8affend



8dicstart

1234

foo

bar

faabar

8dicend



8good: foo bar faabar

bad: foobar barfooTest Numbers9affstart9affend9dicstart

1234

foo[?12l[?25h[?25l:[?12l[?25hcall TestOne('9', '9')
[?25lError detected while processing function TestOne:


line    5:


E493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff


"Xtest.dic" 3 lines, 13 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 2 of 15 nodes; 13 (86%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 65 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1# ile: Xtest.latin1.spl

Comment


input[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1

# file: Xtest.latin1.spl

Comment

deol


input[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 289 lines, 3844 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test58 = test61; then \
#	  if diff test.out test58.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test58.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test59.failed test.ok test.out X* viminfo
cp test59.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 106 lines, 2520 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment.  The .aff and .dic
[?25l[?12l[?25h[?25l:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :STARTTESTso small.vimso mbyte.vimDon't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.enc=latin1e!

:set enc=utf-8:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25hset enc=utf-8
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset fenc=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.utf-8.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 48 lines, 768 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']the['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 153 lines, 3426 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.utf-8.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"[?12l[?25h[?25l/[?12l[?25h^test2:
[?25ltomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !![?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25hlink.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o vim objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/main.o objects/memfile.o objects/message.o   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 46 lines, 461 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 102 nodes; 92 (90%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 525 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25laddstart

/regions=usgbnz

elequint/2

elekwint/3

addend



1good: wrong OK puts. Test the end

bad:  inputs comment ok Ok. test déôl end the

badend



2good: puts

bad: inputs comment ok Ok end the. test déôl

badendTest rules for compounding.3affstart

SET ISO8859-1COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 31 nodes; 25 (80%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 125 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 107 nodes; 88 (82%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 26 lines, 338 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 91 nodes; 72 (79%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaébar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaé bar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 270 lines, 3685 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test59 = test61; then \
#	  if diff test.out test59.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test59.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test72.failed test.ok test.out X* viminfo
cp test72.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test72.in" 146 lines, 2110 charactersTests for undo file.

Since this script is sourced we need to explicitly break changes up in

undo-able pieces.  Do that by setting 'undolevels'.



STARTTEST

:so small.vim

:"

:" Test 'undofile': first a simple one-line change.

:set nocompatible viminfo+=nviminfo visualbell

:set ul=100 undofile nomore

:e! Xtestfile

ggdGithis is one line^[:set ul=100

:s/one/ONE/

:set ul=100

:w

:bwipe!

:e Xtestfile

u:.w! test.out

:"

:" Test 'undofile', change in original file fails check

:set noundofile

:e! Xtestfile

:s/line/Line/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for undo file.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 135 lines, 1913 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar

:.w >>test.out

u:.w >>test.out

u:.w >>test.out

u:.w >>test.out

:"

:" Rename the undo file so that it gets cleaned up.

:if has("vms")

: call rename("_un_Xtestfile", "Xtestundo")

:else

: call rename(".Xtestfile.un~", "Xtestundo")

:endif

:qa!

ENDTEST



1111 -----

2222 -----



123456789[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset ul=100 undofile nomore
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --this is one line[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hs/one/ONE/
[?25lONE
[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 change; before #2  0 seconds agoone
[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undolink.sh: Linked fine
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3'
# Ensure ERM is set to a sane value for testing
[ yes != "yes" ] || flock debian env TERM=xterm /usr/bin/make -j1 -C src/vim-gtk3 test
file', change in original file fails check
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 1L, 17CONE
[?12l[?25h[?25l:[?12l[?25hs/line/Line/
[?25lL
[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE Line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" TODO: this beeps
[?25l[?12l[?25h[?5h[?5l[?25lAlready at oldest change[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 17C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --one

twothreefourfivesixseveneightnineten[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17Conetwonineten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 7L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile ul=0
[?25l[?12l[?25h[?25l-- INSERT --six
u[?12l[?25hs[?25l[?12l[?25h[?25l1 line less; before #8  0 seconds ago

~                                                                               [?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cnine

ten~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile ul=100
[?25l[?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l1 more line; before #4  0 seconds agofive[?12l[?25h[?25l1 more line; before #3  0 seconds agofour[?12l[?25h[?25l1 more line; before #2  0 seconds agothree[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 10L, 49C appended[?12l[?25h[?25l:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cninten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile cm=zip
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l-- INSERT --monday

tuesdaywednesdaythursdayfriday[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25lmonday

friday

~                                                                               [?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [crypted] 2L, 14Cmonday

friday

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [crypted] 2L, 14C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l1 more line; before #11  0 seconds agothursday[?12l[?25h[?25l1 more line; before #10  0 seconds agowednesday[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 4L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][crypted] 1L, 14C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25ljan

feb

bar apr[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile"gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memline.o memline.c
 [blowfish] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [blowfish] 4L, 20Cjan

feb

bar apr

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #15  1 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #14  1 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #13  1 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******




~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][blowfish] 2L, 20C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[?12l[?25h[?25l~                                                                               --No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lEnter encryption key: [?12l[?25h*******


[?25lEnter same key again: [?12l[?25h*******


[?25ljan

feb[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Enter encryption key: [?12l[?25h*******


[?25l"Xtestfile" [blowfish2] 4L, 20Cjan

feb

bar ap

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish2] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #19  0 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #18  0 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #17  0 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: call rename("_un_Xtestfile", "Xtestundo")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: call rename(".Xtestfile.un~", "Xtestundo")


[?25l:  [?12l[?25h:endif
[?25ljan

feb

mar

apr[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test72 = test61; then \
#	  if diff test.out test72.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test72.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test78.failed test.ok test.out X* viminfo
cp test78.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test78.in" 46 lines, 1464 charactersInserts 10000 lines with text to fill the swap file with two levels of pointer

blocks.  Then recovers from the swap file and checks all text is restored.



We need about 10000 lines of 100 characters to get two levels of pointer

blocks.



STARTTEST

:so small.vim

:set nocp fileformat=unix undolevels=-1 viminfo+=nviminfo

:e! Xtest

ggdG

:let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01223456789abcdefghijklmnoparstuvwxyz0123456789"

:let i = 1

:let linecount = 10000

:while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile

:preserve

:" get the name of the swap file

:redir => swapname

:swapname

:redir END

:let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][::cntrl:]]*$', '\1', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 10000 lines with text to fill the swap file with two levels of pointer[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1208 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set nobin

:new

:only!

:bwipe! Xtest

:call rename('Xswap', swapname)

:recover Xtest

:call delete(swapname)

:new

:call append(0, 'recovery start')

:wincmd w

:let linedollar = line('$')

:if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected "" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linnecount = linedollar | endif

:let i = 1

:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile

:q!

:call append(line('$'), 'recovery end')

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01


23456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet linecount = 10000
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899991    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899992    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899993    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899994    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899995    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899996    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899997    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899998    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789[?12l[?25h[?25l:[?12l[?25hpreserve
[?25lFile preserved[?12l[?25h[?25l:[?12l[?25h" get the name of the swap file
[?25l[?12l[?25h[?25l:[?12l[?25hredir => swapname
[?25l[?12l[?25h[?25l:[?12l[?25hswapname
[?25l.Xtest.swp[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][


:cntrl:]]*$', '\1', '')
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899a[?12l[?25h[?25l

:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hexe 'sp ' . swapname
[?25l".Xtest.swp"[noeol] 611L, 1224704Cb0VIM 8.0^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@lW^@^@buildd^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@mb-lxc-01^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@/<<PKGBUILDDIR>>/src/vim-basic/testddir/Xtest^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@.Xtest.swp                                                                      799a

999899a

999999a

1000099a~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw! Xswap
[?25l"Xswap" [New][noeol] 611L, 1224704C written[?12l[?25h[?25l:[?12l[?25hecho swapname
[?25l.Xtest.sw[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       b0VIM 8.0^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@lW^@^@buildd^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@mb-lxc-01^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@/<<PKGBUILDDIR>>/src/vim-basic/testddir/Xtest^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@.Xtest.swp                                                                      9999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

10000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789



~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe! Xtest
[?25l[?12l[?25h[?25l:[?12l[?25hcall rename('Xswap', swapname)
[?25l[?12l[?25h[?25l:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"


Original file "/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtest"


"/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtest" [New File]Recovery completed. You should check if everything is OK.


(You might want to write out this file under another name


and run diff with the original file to check for changes)


You may want to delete the .swp file now.






Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall delete(swapname)
[?25l1abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

2abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

3abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

4abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

5       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567896       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567897       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567898       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678911      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678912      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@                                                                               [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       199a

299a

399a

4 99a

5 99a

Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hcall append(0, 'recovery start')
[?25lrecovery start[+][?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name] [+]                                                                    Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hlet linedollar = line('$')
[?25l[?12l[?25h[?25l:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected 


" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li


necount = linedollar | endif
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen


d(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hq!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'recovery end')
[?25lrecovery end[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New] 3L, 29C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test78 = test61; then \
#	  if diff test.out test78.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test78.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test83.failed test.ok test.out X* viminfo
cp test83.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test83.in" 76 lines, 1273 charactersTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for tag search with !_TAG_FILE_ENCODING.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 58 lines, 1021 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h[?25l:[?12l[?25hif !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [New File] 2 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [New File] 2 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25lTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hcall setline('.', 'Results of test83')
[?25lResults of test83
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case1:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l[No Name]                                                                       Results of test83test83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=Xtags1
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" 2 lines, 35 characterstext for tags1

abcdefghijklmnopqrsXtags1.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case2:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       Results of test83case1: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags2
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characterstext for tags2

ABCXtags2.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case3:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               [No Name]                                                                       case1: okcase2: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags3
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characterstext for tags3

ABCXtags3.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

case3: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 4 lines, 48 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test83 = test61; then \
#	  if diff test.out test83.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test83.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test89.failed test.ok test.out X* viminfo
cp test89.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test89.in" 71 lines, 1514 characters- Some tests for setting 'number' and 'relativenumber'

  This is not all that useful now that the options are no longer reset when

  setting the other.

- Some tests for findfile() function



STARTTEST

:so small.vim

:set hidden nocp nu rnu viminfo+=nviminfo

:redir @a | set nu? rnu? | redir END

:e! xx

:redir @b | set nu? rnu? | redir END

:e! #

:$put ='results:'

:$put a

:$put b

:"

:set nonu nornu

:setglobal nu

:setlocal rnu

:redir @c | setglobal nu? | redir END

:set nonu nornu

:setglobal rnu

:setlocal nu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l- Some tests for setting 'number' and 'relativenumber'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 63 lines, 1305 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =':set MUST reset the other global value'

:$put g

:$put h

:"

:let cwd=getcwd()

:cd ..

:" Tests may be run from a shadow directory, so an extra cd needs to be done to

:" get above src/

:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

:$put =''

:$put ='Testing findfile'

:$put =''

:set ssl

:$put =findfile('test19.in','src/test*')

:exe "cd" cwd

:cd ..

:$put =findfile('test19.in','test*')

:$put =findfile('test19.in','testdir')

:exe "cd" cwd

:/^results/,$w! test.out

:q!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l 21 :$put g 20 :$put h

 19 :" 18 :let cwd=getcwd()

 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/

 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 13 :$put =''

 12 :$put ='Testing findfile'

 11 :$put =''

 10 :set ssl

  9 :$put =findfile('test19.in','src/test*')

  8 :exe "cd" cwd

  7 :cd ..

  6 :$put =findfile('test19.in','test*')

  5 :$put =findfile('test19.in','testdir')

  4 :exe "cd" cwd

  3 :/^results/,$w! test.out

  2 :q!

  1 ENDTEST

71  [?12l[?25h[?25l:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! xx
[?25l"xx" [New File]1   

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1 21 :$put g

 20 :$put h

 19 :" 18 :let cwd=getcwd() 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/ 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif 13 :$put ='' 12 :$put ='Testing findfile' 11 :$put ='' 10 :set ssl  9 :$put =findfile('test19.in','src/test*')  8 :exe "cd" cwd  7 :cd ..  6 :$put =findfile('test19.in','test*')  5 :$put =findfile('test19.in','testdir')  4 :exe "cd" cwd  3 :/^results/,$w! test.out  2 :q!  1 ENDTEST71  "test89.in" line 71 of 71 --100%-- col 1[?12l[?25h[?25l:[?12l[?25h$put ='results:'
[?25l

1

 20

 19

 18

 17ee 

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

72  results:[?12l[?25h[?25l

:[?12l[?25h$put a
[?25l3 more lines21

 20ee 

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

75    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h$put b
[?25l3 more lines22

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

78    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal rnu
[?25l 22 :" get above src/

 21 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 20 :$put =''

 19 :$put ='Testing findfile'

 18 :$put =''

 17 :set ssl

 16 :$put =findfile('test19.in','src/test*')

 15 :exe "cd" cwd

 14 :cd ..

 13 :$put =findfile('test19.in','test*')

 12 :$put =findfile('test19.in','testdir')

 11 :exe "cd" cwd

 10 :/^results/,$w! test.out

  9 :q!

  8 ENDTEST

  7 

  6 results:

  5 

  4   number

  3   relativenumber

  2 

  1   number

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nu
[?25l 56 :" get above src/

 57 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 58 :$put =''

 59 :$put ='Testing findfile'

 60 :$put =''

 61 :set ssl

 62 :$put =findfile('test19.in','src/test*')

 63 :exe "cd" cwd

 64 :cd ..

 65 :$put =findfile('test19.in','test*')

 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l

 79 :setlocal must NOT reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put c
[?25l 80 

 81   number[?12l[?25h[?25l

:[?12l[?25h$put d
[?25l 82 

 83   relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l

:setglobal MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put e
[?25lnumber[?12l[?25h[?25l

:[?12l[?25h$put f
[?25lrelativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber

 79 :setlocal must NOT reset the other global value

 80 

 81   number

 82 

 83   relativenumber

 84 :setglobal MUST reset the other global value

 85 

 86   number

 87 

 88   relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l22

 21

 20

 1

 18

 17

 16

 15

 1

 13

 12

 11

 10

  

  8

  7

  6

  5

  

  3

  2

  1

88    [?12l[?25h[?25l:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber:setglobal MUST reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l 22 :$put =findfile('test19.in','testdir')

 21 :exe "cd" cwd

 20 :/^results/,$w! test.out

 19 :q!

 18 ENDTEST

 17 

 16 results:

 15 

 14   number

 13   relativenumber

 12 

 11   number

 10   relativenumber

  9 :setlocal must NOT reset the other global value

  8 

  7   number

  6 

  5   relativenumber

  4 :setglobal MUST reset the other global value

  3 

  2   number

  1 

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hset nu
[?25l88    [?12l[?25h[?25l:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':set MUST reset the other global value'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

89  :set MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put g
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

91    number[?12l[?25h[?25l

:[?12l[?25h$put h
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

93    relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic[?12l[?25h[?25l:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[?12l[?25h[?25l:[?12l[?25h" get above src/
[?25l[?12l[?25h[?25l:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

94  [?12l[?25h[?25l

:[?12l[?25h$put ='Testing findfile'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

95  Testing findfile[?12l[?25h[?25l

:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

96  [?12l[?25h[?25l

:[?12l[?25hset ssl
[?25l[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

97  src/testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

98  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

99  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[?12l[?25h[?25l:[?12l[?25h/^results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 28L, 356C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test89 = test61; then \
#	  if diff test.out test89.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test89.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_arglist.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_arglist.vim" 318 lines, 6653 characters


Executing Test_argadd()
"a" [New File]bababababd


Executing Test_argc()
"a" [New File]

Executing Test_argdelete()
"a" [New File]a" [New File]
"bb


Executing Test_argedit()
"a" [New File]ba


"c" [New File]
"x


"y" [New File]


Executing Test_argidx()
"a" [New File]cabc


Executing Test_arglist_autocmd()
"Xxx1" 1L, 15C
"Xxx21L, 15C1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx21 of 2)

3 buffers wiped out


Executing Test_arglistid()
"a" [New File]

Executing Test_argpos()
"a" [New File]d


"c" [New File]
"ba


"d" [New File]
"a


Executing Test_argument()
"d" [New File]cbafile] --No lines in buffer-- (1 of 4)
"c3


a b [c] d
"c" [New File]


"x" [New File]
"z


Executing Test_argv()
"a" [New file] --No lines in buffer--


Executing Test_zero_argadd()
"b" [New file] --No lines in buffer-- (2 of 4)
"aFbedited" [New File]
"a" [New File]test_arglist.res" [New File][New] 0L, 0C written


Executed 11 tests
"messages" [New File][New] 15L, 326C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_assert.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_assert.vim" 127 lines, 2933 characters


Executing Test_assert_equal()


Executing Test_assert_exception()


Executing Test_assert_fail_fails()


Executing Test_assert_false()


Executing Test_assert_inrange()


Executing Test_assert_notequal()


Executing Test_assert_true()


Executing Test_compare_fail()


Executing Test_match()


Executing Test_notmatch()


Executing Test_user_is_happy()




oooo$$$$$$$$$$$$oooo


oo$$$$$$$$$$$$$$$$$$$$$$$$o


oo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$oo$   $$ o$


     o $ ooo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o$$ $$ $$o$


  oo $ $ "$      o$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$o$$$o$$o$


  "$$$$$$o$     o$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$o    $$$$$$$$


    $$$$$$$    $$$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$$$$$$$$$$$$$$


    $$$$$$$$$$$$$$$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$$$$$$  """$$$


     "$$$""""$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$


      $$$   o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$o


     o$$"   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o


     $$$    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" "$$$$$$ooooo$$$$o


    o$$$oooo$$$$$  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$   o$$$$$$$$$$$$$$$$$


    $$$$$$$$"$$$$   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     $$$$""""""""


   """"$$$$    "$$$$$$$$$$$$$$$$$$$$$$$$$$$$"      o$$$


"$$$o     """$$$$$$$$$$$$$$$$$$"$$"$$$


$$$o"$$""$$$$$$""""o$$$


$$$$oo$$$"


"$$$$o      o$$$$$$o"$$$$oo$$$$


"$$$$$oo     ""$$$$o$$$$$o   o$$$$""


""$$$$$oooo  "$$$o$$$$$$$$$"""


""$$$$$$$oo $$$$$$$$$$


""""$$$$$$$$$$$


$$$$$$$$$$$$


$$$$$$$$$$"


"$$$""""


[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][New] 0L, 0C written


Executed 12 tests
"messages" 15L, 326C30L, 734C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_autochdir.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autochdir.vim" 17 lines, 332 characters


Executing Test_set_filename()
"samples/Xtest" [New] 0L, 0C written
"test_autochdir.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"30L, 734C34L, 806C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_backspace_opt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_backspace_opt.vim" 59 lines, 1673 characters


Executing Test_backspace_option()
"test_backspace_opt.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"34L, 806C38L, 886C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_breakindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_breakindent.vim" 241 lines, 7365 characters


Executing Test_breakindent01()|

    abcdefghijklmnop|

    qrstuvwxyzABCDEF|

    GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent02()|

    abcdefghijklmnop|

    >>qrstuvwxyzABCD|

    >>EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent03()|

    abcdefghijklmnop|

++  qrstuvwxyzABCDEF|

++  GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent04()|

    abcdefghijklmnop|

  qrstuvwxyzABCDEFGH|

  IJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent05()|

    abcdefghijklmnop|qrstuvwxyzABCD|EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent06()|

    abcdefghijklmnop|

   qrstuvwxyzABCDEFG|

   HIJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07()  1 |

  2     abcdefghijkl|

?mnopqrstuvw|

?xyzABCDEFGH|

?IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07a()  1 |

  2     abcdefghijkl|

    ?    mnopqrstuvw|

    ?    xyzABCDEFGH|

    ?    IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08()  1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08a()  1 $|

  2 ^Iabcdefghijklmn|

    #  opqrstuvwxyzA|

    #  BCDEFGHIJKLMN|

    #  OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent09()  1 $|

  2 ^Iabcdefghijklmn|

       #opqrstuvwxyz|

       #ABCDEFGHIJKL|

       #MNOP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent10()  1 |

  2 abcdefgh|

~ijklmnop|

~qrstuvwx|

~yzABCDEF|

~GHIJKLMN|

~OP      ||||~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent11()


Executing Test_breakindent12() 1 |

 2 >--->--->--->--->|

   ---{      ||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        {~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent13()


Executing Test_breakindent14()|

e|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  e~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent15()|1234567890|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  1234567890~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent16()1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            "test_breakindent.res" [New File][New] 0L, 0C written


Executed 18 tests
"messages" 38L, 886C59L, 1492C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_bufwintabinfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_bufwintabinfo.vim" 116 lines, 3459 characters


Executing Test_get_buf_options()


Executing Test_get_win_options()


Executing Test_getbufwintabinfo()
"Xtestfile1" [New File]212


Already only one window
"test_bufwintabinfo.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"59L, 1492C65L, 1639C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cdo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cdo.vim" 205 lines, 5116 characters


Executing Test_cdo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2


Executing Test_ldo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2
"test_cdo.res" [New File]gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/menu.o menu.c
[New] 0L, 0C written


Executed 2 tests
"messages"65L, 1639C70L, 1718C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"70L, 1718C73L, 1758C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_charsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_charsearch.vim" 62 lines, 1475 characters


Executing Test_charsearch()


Executing Test_search_cmds()
"test_charsearch.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"73L, 1758C78L, 1859C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cmdline.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cmdline.vim" 243 lines, 7346 characters


Executing Test_complete_list():e test


test1.intest85.out


test1.oktest86.in


test1.outtest86.ok


test103.intest86.out


test103.oktest87.in


test103.outtest87.ok


test104.intest87.out


test104.oktest88.in


test104.outtest88.ok


test107.intest88.out


test107.oktest89.in


test107.outtest89.ok


test108.intest89.out


test108.oktest9.in


test108.outtest9.ok


test11.intest9.out


test11.oktest90.in


test11.outtest90.ok


test12.intest90.out


test12.oktest91.in


test12.outtest91.ok


test14.intest91.out


test14.oktest94.in


test14.outtest94.ok


test15.intest94.out


test15.oktest95.in


test15.outtest95.ok


test17.intest95.out


test17.oktest97.in


test17.outtest97.ok


test17a.intest97.out


test19.intest98.in


test19.oktest98.ok


test19.outtest98.out


test20.intest99.in


test20.oktest99.ok


test20.outtest99.out


test22.intest_alot.vim


test22.oktest_alot_latin.vim


test22.outtest_alot_utf8.vim


test23.intest_arglist.res


test23.oktest_arglist.vim


test23.outtest_assert.res


test24.intest_assert.vim


test24.oktest_assign.vim


test24.outtest_autochdir.res


test25.intest_autochdir.vim


test25.oktest_autocmd.vim


test25.outtest_autocmd_option.in


test26.intest_autocmd_option.ok


test26.oktest_autocmd_option.out


test26.outtest_autoformat_join.in


test28.intest_autoformat_join.ok


test28.oktest_autoformat_join.out


test28.outtest_backspace_opt.res


test29.intest_backspace_opt.vim


test29.oktest_breakindent.res


test29.outtest_breakindent.vim


test3.intest_bufwintabinfo.res


test3.oktest_bufwintabinfo.vim


test3.outtest_cdo.res


test30.intest_cdo.vim


test30.oktest_changelist.in


test30.outtest_changelist.ok


test31.intest_changelist.out


test31.oktest_channel.py


test31.outtest_channel.res


test32.intest_channel.vim


test32.oktest_channel_pipe.py


test32.outtest_charsearch.res


test33.intest_charsearch.vim


test33.oktest_close_count.in


test33.outtest_close_count.ok


test34.intest_close_count.out


test34.oktest_cmdline.vim


test34.outtest_command_count.vim


test36.intest_comparators.in


test36.oktest_comparators.ok


test36.outtest_comparators.out


test37.intest_crypt.vim


test37.oktest_cscope.vim


test37.outtest_cursor_func.vim


test38.intest_delete.vim


test38.oktest_diffmode.vim


test38.outtest_digraph.vim


test39.intest_display.vim


test39.oktest_erasebackword.in


test39.outtest_erasebackword.ok


test4.intest_erasebackword.out


test4.oktest_eval.in


test4.outtest_eval.ok


test40.intest_eval.out


test40.oktest_eval_func.vim


test40.outtest_ex_undo.vim


test41.intest_execute_func.vim


test41.oktest_expand.vim


test41.outtest_expand_dllpath.vim


test42.intest_expr.vim


test42.oktest_expr_utf8.vim


test42.outtest_farsi.vim


test43.intest_feedkeys.vim


test43.oktest_file_perm.vim


test43.outtest_fileformat.vim


test44.intest_filter_cmd.vim


test44.oktest_filter_map.vim


test44.outtest_fixeol.in


test45.intest_fixeol.ok


test45.oktest_fixeol.out


test45.outtest_float_func.vim


test48.intest_fnameescape.vim


test48.oktest_fnamemodify.vim


test48.outtest_fold.vim


test49.intest_functions.vim


test49.oktest_getcwd.in


test49.outtest_getcwd.ok


test49.vimtest_getcwd.out


test5.intest_gf.vim


test5.oktest_glob2regpat.vim


test5.outtest_gn.vim


test50.intest_goto.vim


test50.oktest_gui.vim


test51.intest_hardcopy.vim


test51.oktest_help_tagjump.vim


test51.outtest_hide.vim


test52.intest_history.vim


test52.oktest_hlsearch.vim


test52.outtest_increment.vim


test53.intest_increment_dbcs.vim


test53.oktest_insertcount.in


test53.outtest_insertcount.ok


test54.intest_insertcount.out


test54.oktest_job_fails.vim


test54.outtest_join.vim


test55.intest_json.vim


test55.oktest_jumps.vim


test55.outtest_lambda.vim


test56.intest_langmap.vim


test56.oktest_largefile.vim


test56.outtest_lispwords.vim


test57.intest_listchars.in


test57.oktest_listchars.ok


test57.outtest_listchars.out


test58.intest_listlbr.in


test58.oktest_listlbr.ok


test58.outtest_listlbr.out


test59.intest_listlbr_utf8.in


test59.oktest_listlbr_utf8.ok


test59.outtest_listlbr_utf8.out


test60.intest_man.vim


test60.oktest_mapping.vim


test60.outtest_marks.vim


test60.vimtest_match.vim


test64.intest_matchadd_conceal.vim


test64.oktest_matchadd_conceal_utf8.vim


test64.outtest_menu.vim


test65.intest_messages.vim


test65.oktest_mksession.vim


test65.outtest_mksession_utf8.vim


test66.intest_nested_function.vim


test66.oktest_netbeans.py


test66.outtest_netbeans.vim


test67.intest_normal.vim


test67.oktest_options.vim


test67.outtest_packadd.vim


test68.intest_partial.vim


test68.oktest_perl.vim


test68.outtest_popup.vim


test69.intest_profile.vim


test69.oktest_quickfix.vim


test69.outtest_regexp_latin.vim


test7.intest_regexp_utf8.vim


test7.oktest_reltime.vim


test7.outtest_ruby.vim


test70.intest_search.vim


test70.oktest_search_mbyte.in


test70.outtest_search_mbyte.ok


test72.intest_search_mbyte.out


test72.oktest_searchpos.vim


test72.outtest_set.vim


test73.intest_signs.vim


test73.oktest_smartindent.vim


test73.outtest_sort.vim


test75.intest_source_utf8.vim


test75.oktest_startup.vim


test75.outtest_startup_utf8.vim


test77.intest_stat.vim


test77.oktest_statusline.vim


test77.outtest_substitute.vim


test77a.intest_syn_attr.vim


test77a.oktest_syntax.vim


test78.intest_system.vim


test78.oktest_tabline.vim


test78.outtest_tabpage.vim


test79.intest_tagcase.vim


test79.oktest_tagjump.vim


test79.outtest_taglist.vim


test8.intest_textobjects.vim


test8.oktest_timers.vim


test8.outtest_true_false.vim


test80.intest_undo.vim


test80.oktest_unlet.vim


test80.outtest_usercommands.vim


test82.intest_utf8.in


test82.oktest_utf8.ok


test82.outtest_utf8.out


test83-tags2test_viminfo.vim


test83-tags3test_viml.vim


test83.intest_visual.vim


test83.oktest_window_cmd.vim


test83.outtest_window_id.vim


test84.intest_wordcount.in


test84.oktest_wordcount.ok


test84.outtest_wordcount.out


test85.intest_writefile.vim


test85.ok


:e test
"test" [New File]


Executing Test_complete_tab():e Xtest...file
"Xtestfile" 1L, 9C


Executing Test_complete_wildmenu():e Xtest...file1...


Xtestfile1  Xtestfile2  
Xtestfile1                                                         :e Xtest...Xtestfile1
Xtestfile1 file1...Xtestfile1Xtestfile2 2:te Xtestfile2"Xtestfile2" 1L, 10C

Executing Test_expand_star_star():find **/fileXname...a/b/fileXname
"a/b/fileXname" 1L, 9C
"Xtestfile2" [New File]


Executing Test_getcompletion():cscope find 


a  c  d  e  f  g  i  s  t


:cscope find :sign list 


Testing


:sign list Executing Test_illegal_address()


Executing Test_paste_in_cmdline():abc "def ghi
:"abc def ghi
:"
:aaa "asdf bbb
:"aaa asdf bbb
:"
:aaa "/tmp/some bbb
:"aaa /tmp/some bbb
:"
:aaa veryl"ongword bbb
:"aaa verylongword bbb
:"
:aaa "a;b-c*d bbb
:"aaa a;b-c*d bbb
:"
:=toupper(getline(1))
:ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D 
:"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D
:"


Executing Test_remove_char_in_cmdline():abc defef
:"abc ef
:"
:abc defdef
:"abcdef
:"
:abc def ghighi
:"abc ghi
:"
:abc def
:def"def
"test_cmdline.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"78L, 1859C89L, 2168C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_command_count.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_command_count.vim" 191 lines, 4742 characters


Executing Test_command_count_0()
"DoesNotExistEver" [New File]

Executing Test_command_count_1()


"a" [New File]


loading buffers


"b" [New File]


loading buffers


"c" [New File]


loading buffers


"d" [New File]


loading buffers


"e" [New File]


loading buffers
"c" [New File]beb


Executing Test_command_count_2()


"d" [New File]
"a


Already only one window
"x" [New File]

Already only one window


Executing Test_command_count_3()
"aaa" [New File]bbb
"ccc
"test_command_count.vim" 191L, 4742C


2 buffers deleted


Executing Test_command_count_4()
"cc" [New File]

"dd" [New File]


"ee" [New File]
"aa


"bb" [New File]


"cc" [New File]


"dd" [New File]


"ee" [New File]
"cc


"ee" [New File]


"ff" [New File]
"test_command_count.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"89L, 2168C97L, 2380C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_crypt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_crypt.vim" 83 lines, 2590 characters


Executing Test_crypt_blowfish()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][blowfish] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 3L, 98C


Executing Test_crypt_blowfish2()
"Xtest.txt" [New File]:X
Enter encryption key: ******
Enter same key again: ******


"Xtest.txt" [New][blowfish2] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [blowfish2] 3L, 98C


Executing Test_crypt_zip()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][crypted] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [crypted] 3L, 98C


Executing Test_head_only_2()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_head_only_3()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][converted][New][noeol] 1L, 80C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 2L, 27C


Executing Test_uncrypt_blowfish2()
"Xtest.txt" [New File][converted][New][noeol] 1L, 103C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: *******


"Xtest.txt" [blowfish2] 2L, 44C


Executing Test_uncrypt_zip()
"Xtest.txt" [New File][converted][New][noeol] 1L, 45C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [converted][crypted] 2L, 26C"test_crypt.res" [New File][converted][New] 0L, 0C written

Executed 8 tests
"messages"97L, 2380Cgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc1.o misc1.c
108L, 2667C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cscope.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"108L, 2667C111L, 2706C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_diffmode.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_diffmode.vim" 237 lines, 4954 characters


Executing Test_diff_fold_sync()


Executing Test_diffget_diffput()


Executing Test_diffoff()  -------------------------------------|

  -------------------------------------|

  Two|

  Three|||||||||||||||||||  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    

[No Name] [+]                             One                                                                             Two  Three                                    ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     [No Name] [+]                           Two                                    

Three                                  

~                                      

~                                      

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   OneTwoThree~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   



Executing Test_filler_lines()


7 more lines


10 more lines


Executing Test_setting_cursor()
"Xtest1" [New File]

90 more lines
"Xtest1" [New] 91L, 262C written2" [New File]

100 more lines
"Xtest2"[New] 101L, 293C written101L, 293C191L, 262C


Executing Test_vert_split()
"Xtest" [New] 5L, 25C written"Xtest2" [New] 6L, 29C written


"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3"Xtest" 5L, 25C2" 6L, 29C
"test_diffmode.vim" 237L, 4954Cres" [New File][New] 0L, 0C written


Executed 6 tests
"messages"111L, 2706C120L, 2928C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_digraph.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_digraph.vim" 461 lines, 14928 characters


Executing Test_digraph_cmndline()
Executing T


Executing Test_digraphs()

Executing Test_digraphs_option()

Executing Test_digraphs_output()


Executing Test_loadkeymap()"test_digraph.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"120L, 2928C128L, 3123C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_display.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049lExecuting Test_display_foldcolumn()e more noise blah blah<82|

> more stuff here||||||||||~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                  e more noise blah blah<|

  82> more stuff here    ||||||||||  

  

  

  

  

  

  

  

  ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                "test_display.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"128L, 3123C132L, 3199C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_farsi.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_farsi.vim" 84 lines, 2881 characters




Executed 2 tests
"messages"[converted] 132L, 3199C[converted] 137L, 3295C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fnameescape.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fnameescape.vim" 21 lines, 467 characters


Executing Test_fnameescape()
"Xspa ce"[New] 21L, 467C written
"Xemark![New] 21L, 467C written
"test_fnameescape.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"137L, 3295C141L, 3368C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fold.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fold.vim" 97 lines, 3328 characters


Executing Test_address_fold()


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


8 lines yanked


10 lines yanked


4 lines yanked


Executing Test_indent_fold()


Executing Test_indent_fold2()
"test_fold.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"141L, 3368C147L, 3495C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gf.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gf.vim" 33 lines, 1138 characters


Executing Test_gf_url()
"test_gf.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"147L, 3495C151L, 3554C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gn.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gn.vim" 93 lines, 2821 characters


Executing Test_gn_command()/[u]niquepattern/s
/a:0\@!\zs\d\+
"test_gn.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"151L, 3554C155L, 3617C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gui.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"155L, 3617C158L, 3653C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hardcopy.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hardcopy.vim" 62 lines, 2001 characters


Executing Test_printheader_parsing()


Executing Test_printmbfont_parsing()


Executing Test_printoptions_parsing()


Executing Test_with_syntax()Printing page 1 (0%)Printed: test_hardcopy.vim
"test_hardcopy.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"158L, 3653C165L, 3836C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hide.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hide.vim" 97 lines, 2443 characters


Executing Test_hide()
"Xf1" [New File]

"Xf1" [New File]
"Xf212121


one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"165L, 3836C169L, 3895C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_history.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_history.vim" 106 lines, 3567 characters


Executing Test_History()


Executing Test_Search_history_window()/a
/b
/a

b

a

b

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Tests for the history functions



test_history.vim                                                                /a

/b

/

/

/

/

/~                                                                              ~                                                                              ~                                                                              ~                                                                              [Command Line]                                                                  [?12l[?25h[?25l/a
"test_history.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"169L, 3895C174L, 4000C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hlsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hlsearch.vim" 34 lines, 1013 characters


Executing Test_hlsearch()/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

~                                                                               [No Name] [+]                                                                   " Test for v:hlsearch



function! Test_hlsearch()

  new

  call setline(1, repeat(['aaa'], 10))

  set hlsearch nolazyredraw

  let r=[]

  " redraw is needed to make hlsearch highlight the matches

  exe "normal! /aaa\<CR>" | redraw

  let r1 = screenattr(1, 1)

test_hlsearch.vim                                                               aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





"test_hlsearch.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"174L, 4000C178L, 4067C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment.vim" 760 lines, 19011 characters


Executing Test_normal_increment_01()
"dummy" [New File]

Executing Test_normal_increment_02()
"dummy" [New File]

Executing Test_normal_increment_03()
"dummy" [New File]

Executing Test_visual_increment_01()
"dummy" [New File]

Executing Test_visual_increment_02()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_03()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_04()
"dummy" [New File]

Executing Test_visual_increment_05()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_06()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_07()
"dummy" [New File]5 lines changed

Executing Test_visual_increment_08()
"dummy" [New File]

Executing Test_visual_increment_09()
"dummy" [New File]

Executing Test_visual_increment_10()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_11()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_12()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_13()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_14()
"dummy" [New File]

Executing Test_visual_increment_15()
"dummy" [New File]

Executing Test_visual_increment_16()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_17()
"dummy" [New File]

Executing Test_visual_increment_18()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_19()
"dummy" [New File]

Executing Test_visual_increment_20()
"dummy" [New File]

Executing Test_visual_increment_21()
"dummy" [New File]

Executing Test_visual_increment_22()
"dummy" [New File]

Executing Test_visual_increment_23()
"dummy" [New File]

Executing Test_visual_increment_24()
"dummy" [New File]

Executing Test_visual_increment_25()
"dummy" [New File]

Executing Test_visual_increment_26()
"dummy" [New File]

Executing Test_visual_increment_27()
"dummy" [New File]

Executing Test_visual_increment_28()
"dummy" [New File]

Executing Test_visual_increment_29()
"dummy" [New File]

Executing Test_visual_increment_30()
"dummy" [New File]

Executing Test_visual_increment_31()
"dummy" [New File]

Executing Test_visual_increment_32()
"dummy" [New File]_31" [New File]


Executing Test_visual_increment_33()
"dummy" [New File]

Executing Test_visual_increment_34()
"dummy" [New File]

Executing Test_visual_increment_35()
"dummy" [New File]

Executing Test_visual_increment_36()
"dummy" [New File]

Executing Test_visual_increment_37()
"dummy" [New File]

Executing Test_visual_increment_38()
"dummy" [New File]"test_increment.res" [New File][New] 0L, 0C written


Executed 41 tests
"messages" 178L, 4067C222L, 5628C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment_dbcs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment_dbcs.vim" 30 lines, 604 characters


Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 222L, 5628C[converted] 226L, 5709C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_job_fails.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_job_fails.vim" 19 lines, 598 characters


Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"226L, 5709C230L, 5784C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_json.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_json.vim" 287 lines, 10700 characters


Executing Test_js_decode()


Executing Test_js_encode()


Executing Test_json_decode()


Executing Test_json_encode()


"test_json.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"230L, 5784C237L, 5934C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_langmap.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_langmap.vim" 28 lines, 628 characters


Executing Test_langmap()
"test_langmap.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"237L, 5934C241L, 5999C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_man.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_man.vim" 60 lines, 1358 characters


Executing Test_g_ft_man_open_mode()




Cannot find a 'vim'.


Executing Test_nomodifiable()




Cannot find a 'vim'.
"test_man.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"241L, 5999C246L, 6102C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_marks.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_marks.vim" 26 lines, 775 characters


Executing Test_Incr_Marks()


Executing Test_Restore_DelMark()1 more line; before #2  0 seconds ago
1 line less; after #2  0 seconds agomore line; before #2  0 seconds ago
"test_marks.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"246L, 6102C251L, 6202C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_matchadd_conceal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049lExecuting Test_clearmatches()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_default_conceal_char()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #+This+is+a+Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_conceallevel_3()#ThisisaTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #Thisisa Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_syn_conceal()Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_repeat_conceal_with_syntax_off()TARGET_TARGETTARGET
t_ttsimple_matchadd()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_simple_matchadd_and_conceal()#XThisXisXaXTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_syn_and_match_conceal()#ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #*This*is*a*Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_using_matchaddpos()#Pis a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       "test_matchadd_conceal.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"251L, 6202C263L, 6616C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession.vim" 104 lines, 2315 characters


Executing Test_mksession()
"/tmp/vBgRMWc/0" [New] 9L, 203C written


search hit BOTTOM, continuing at TOP
"test_mksession.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 263L, 6616C[converted] 267L, 6685C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession_utf8.vim" 104 lines, 2328 characters


Executing Test_mksession_utf8()
"/tmp/vAAqXVa/0" [New] 9L, 215C written


search hit BOTTOM, continuing at TOP
"test_mksession_utf8.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"267L, 6685C271L, 6764C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_nested_function.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_nested_function.vim" 67 lines, 1305 characters


Executing Test_max_nesting()


Executing Test_nested_argument()


[]


Executing Test_nested_functions()
"test_nested_function.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"271L, 6764C277L, 6909C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_netbeans.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"277L, 6909C280L, 6950C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_normal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_normal.vim" 2280 lines, 58740 characters


Executing Test_normal00_optrans()

Executing Test_normal01_keymodel()
4 lines yankedExecuting Test_normal02_selectmode()10 fewer lines

Executing Test_normal02_selectmode2():set im
[?12l[?25h[?25l:set noim


Executing Test_normal03_join()


Executing Test_normal04_filter():.!sed -e 's/^/|    /'
[?12l[?25h[?1l>[?1049lone
[?1049h[?1h=[?25l:.!sed -e 's/^/|    /'
[?12l[?25h[?25l:.!
:!echo one
[?1l>[?12l[?25h[?1049l

[No write since last change]

one


Press ENTER or type command to continue[?1049h[?1h=[?25l:.!!
[?12l[?25h

[?25lExecuting Test_normal05_formatexpr()


Executing Test_normal05_formatexpr_newbuf()
"another" [New File]

Executing Test_normal05_formatexpr_setopt()


Executing Test_normal06_formatprg():.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered

Executing Test_normal07_internalfmt()
7 fewer lin

Executing Test_normal08_fold()


Executing Test_normal09_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal09a_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal10_expand()


Executing Test_normal11_showcmd()

Executing Test_normal12_nv_error()


Executing Test_normal13_help()
"help.txt" [readonly] 225L, 8437C


Executing Test_normal14_page()


Executing Test_normal14_page_eol()

Executing Test_normal15_z_scroll_vert()


Executing Test_normal16_z_scroll_hor()


Executing Test_normal17_z_scroll_hor2()


Executing Test_normal18_z_fold()


Executing Test_normal19_z_spell()
Word 'goood' added to ./Xspellfile.add
search hit BOTTOM, continuing at TOPWord 'goood' added to ./Xspellfile.add2 goood' added to ./Xspellfile.add/tmp/vpk77ZD/11removed from /tmp/vpk77ZD/11goood' added to /tmp/vpk77ZD/11removed from /tmp/vpk77ZD/11added to ./Xspellfile.addremoved from ./Xspellfile.add2 goood' added to ./Xspellfile.addremoved from ./Xspellfile.addgoood' added to ./Xspellfile2.add

Executing Test_normal20_exmode()


Executing Test_normal21_nv_hat()
"Xfoobar" [New File]ile2" [New File]

Executing Test_normal22_zet()


Executing Test_normal23_K()
"version8.txt" [readonly] 14932L, 562906Cline 1 of 14932 --0%-- col 1
"man" [New File]aa%bb" [New File]
"cc|dd
:! man --pager=cat 'man'[?1l>[?12l[?25h[?1049l

[No write since last change]

stdin not open for reading!


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25lExecuting Test_normal24_rot13()


Executing Test_normal25_tag()
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"insert.txt" [readonly] 2003L, 82815Cline 49 of 2003 --2%-- col 7-49


Executing Test_normal26_put()


Executing Test_normal27_bracket()


21 substitutions on 21 lines


Executing Test_normal28_parenthesis()


Executing Test_normal29_brace()
17 fewer lines4 fewer lines3

Executing Test_normal30_changecase()


Executing Test_normal31_r_cmd()

Executing Test_normal32_g_cmd1()
/x_foo?abc

Executing Test_normal33_g_cmd2()/[1-8]
search hit BOTTOM, continuing at TOP
9 substitutions on 9 linesblock of 3 lines yanked5

Executing Test_normal34_g_cmd3()


Executing Test_normal35_g_cmd4()


Executing Test_normal36_g_cmd5()


Executing Test_normal37_g_cmd6()
"1.txt" [New File]23


Executing Test_normal38_nvhome()


Executing Test_normal39_cw()

Executing Test_normal40_ctrl_bsl()

Executing Test_normal41_insert_reg()=a
=a
=a


Executing Test_normal42_halfpage()


Executing Test_normal43_textobject1()


Executing Test_normal44_textobjects2()


Executing Test_normal45_drop()


Executing Test_normal46_ignore()


Executing Test_normal47_autocmd()


Executing Test_normal47_visual_buf_wipe()


Executing Test_normal48_wincmd()


Executing Test_normal49_counts()


Executing Test_normal50_commandline()q:  :xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :set im

:set noim

:.!sed -e 's/^/|    /'

:.!

:!echo one

:.!!

:

[Command Line]                                                                  [?12l[?25h[?25l[?12l[?25h[?25l:^M   



Executing Test_normal51_FileChangedRO()
"Xreadonly.log" 1L, 4C
Error detected while processing ...13]..Test_normal51_FileChangedRO:
line    8:W10: Warning: Changing a readonly file

Executing Test_normal52_rl()3_digraph()


Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][New] 0L, 0C written


Executed 61 tests
"messages" 280L, 6950C348L, 9314C written
[?1l>[?12l[?25h[?1049l

VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_packadd.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_packadd.vim" 238 lines, 8288 characters


Executing Test_colorscheme()


Executing Test_colorscheme_completion():colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')acolorscheme one')dcolorscheme one')dcolorscheme one')(colorscheme one')lcolorscheme one')icolorscheme one'),colorscheme one') colorscheme one')'colorscheme one')
:colorscheme ...one...three')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')acolorscheme three')dcolorscheme three')dcolorscheme three')(colorscheme three')lcolorscheme three')icolorscheme three'),colorscheme three') colorscheme three')'colorscheme three')
:colorscheme ...one...three...wo')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')acolorscheme two')dcolorscheme two')dcolorscheme two')(colorscheme two')lcolorscheme two')icolorscheme two'),colorscheme two') colorscheme two')'colorscheme two')
:colorscheme ...one...three...wo...')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')acolorscheme ')dcolorscheme ')dcolorscheme ')(colorscheme ')lcolorscheme ')icolorscheme '),colorscheme ') colorscheme ')'colorscheme ')


Executing Test_helptags()


Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C writtenalso/loaded.vim" [New File][New] 1L, 29C writtenftdetect/test.vim" [New File[New] 1L, 26C written


Executing Test_packadd_completion():packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')apackadd pluginA')dpackadd pluginA')dpackadd pluginA')(packadd pluginA')lpackadd pluginA')ipackadd pluginA'),packadd pluginA') packadd pluginA')'packadd pluginA')
:packadd ...pluginA...B')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')apackadd pluginB')dpackadd pluginB')dpackadd pluginB')(packadd pluginB')lpackadd pluginB')ipackadd pluginB'),packadd pluginB') packadd pluginB')'packadd pluginB')
:packadd ...pluginA...B...C')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')apackadd pluginC')dpackadd pluginC')dpackadd pluginC')(packadd pluginC')lpackadd pluginC')ipackadd pluginC'),packadd pluginC') packadd pluginC')'packadd pluginC')
:packadd ...pluginA...B...C...')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')apackadd ')dpackadd ')dpackadd ')(packadd ')lpackadd ')ipackadd '),packadd ') packadd ')'packadd ')


Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C written


Executing Test_packloadall()


Executing Test_runtime()
"test_packadd.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"348L, 9314C359L, 9597C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_perl.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_perl.vim" 123 lines, 3037 characters
"test_perl.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"359L, 9597C362L, 9634C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_profile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_profile.vim" 146 lines, 6247 characters


Executing Test_profile_completion():profile ...continue file func pause start
:"profile continue file func pause start
:"
:profile start test_prof...ile.vim
:"profile start test_profile.vim
:"


Executing Test_profile_errors()


Executing Test_profile_file()


Executing Test_profile_func()
"test_profile.res" [New File]gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc2.o misc2.c
[New] 0L, 0C written


Executed 4 tests
"messages"362L, 9634C369L, 9803C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_quickfix.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_quickfix.vim" 1693 lines, 46351 characters


Executing Test_Autocmd()
"F1" [New File]

(1 of 1): Line 10
"F2" [New File]

(1 of 2): Line 10


Executing Test_Autocmd_Exception()


Executing Test_adjust_lnum()


Already only one window
"Xqftestfilec" 20L, 131C


9 fewer lines


Already only one window
"Xqftestfilel" 20L, 131C


9 fewer lines


Executing Test_browse()
"Xqftestfile1" 20L, 131C


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


Executing Test_caddbuffer_to_empty()
"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


(2 of 1486):


Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File]

Executing Test_caddexpr_wrong()


(1 of 1):


(1 of 1):


Executing Test_cage()


error list 9 of 10; 1 errors      :cgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :cgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 9 of 10; 1 errors      :lgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :lgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


Executing Test_cbottom()


Executing Test_cbuffer()
"Xtestfile7" [New File]

(1 of 2): Line 700
"Xtestfile7" [New File]


(1 of 2): Line 700


Executing Test_cexpr()


Executing Test_cfile()
"Xtestfile1" [New File]


(1 of 2): Line 700


"Xtestfile1" [New File]


(1 of 2): Line 700


Executing Test_cgetexpr_works()


Executing Test_clist()


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


Executing Test_cwindow()~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Quickfix List]                                                                 ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Location List]                                                                 Executing Test_dirstack_cleanup()


(1 of 1): 0


Executing Test_duplicate_buf()
"DoesNotExist" [New File]2" [New File]


Xgrepthis
"Xgrepthis" line 1 of 2 --50%-- col 1


(1 of 2): this one


Xgrepthis
(1 of 2): this one


Executing Test_efm()


Executing Test_efm1()
"Xtestfile" 21L, 903C


(1 of 20): 1506-045 (S) Undeclared identifier fd_set.


(20 of 20): What is the title of the quickfix window?


Executing Test_efm2()
"Xtestfile" [New File]


Executing Test_efm_dirstack()


Executing Test_efm_ignore_continuations()


Executing Test_errortitle()


Executing Test_grep()


Already only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lAlready only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lExecuting Test_helpgrep()

"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1

(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


Executing Test_history()


error list 1 of 10; 1 errors      :  cexpr 'Xtestfile:Line search text'


error list 1 of 2; 1 errors:  cexpr 'Xtestfile:Line search text'


error list 1 of 3; 13 errors      :lexpr ""


error list 1 of 2; 13 errors      :lexpr ""


Executing Test_invalid_efm()


Executing Test_locationlist()


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


W19: Deleting augroup that is still in use
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" 1L, 11Cbar1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=

[?25lAlready only one window


Executing Test_locationlist_curwin_was_closed()


W19: Deleting augroup that is still in use
Executing Test_long_lines()"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C


Error detected while processing function RunTheTest[13]..Test_nomem:


line    2:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C


line    5:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C


line    8:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C


line   11:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C


line   14:


E342: Out of memory!  (allocating 1025 bytes)


Executing Test_qf_property()


Executing Test_qf_title()


Executing Test_quickfix_set_list_with_act()


Executing Test_quickfix_was_changed_by_autocmd()


error list 9 of 10; 1 errors      :setqflist()


W19: Deleting augroup that is still in use
error list 9 of 10; 1 errors      :setloclist()


error list 9 of 10; 1 errors      :setloclist()


W19: Deleting augroup that is still in use
Executing Test_setqflist()"Xtestfile" [New File]

(2 of 2):


(3 of 3):


(2 of 2):


(3 of 3):


Executing Test_setqflist_empty_middle()


test_quickfix.vim
"test_quickfix.vim" 1693L, 46351C


(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :vimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :vimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setqflist()


error list 10 of 10; 2 errors     :vimgrep matches test_quickfix.vim


test_quickfix.vim
(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :lvimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :lvimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setloclist()


error list 10 of 10; 2 errors     :lvimgrep matches test_quickfix.vim


Executing Test_setqflist_empty_older()


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :vimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :vimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :vimgrep three test_quickfix.vim


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :lvimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :lvimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :lvimgrep three test_quickfix.vim


Executing Test_switchbuf()
"Xqftestfile1" 20L, 131C220L, 131C1" line 1 of 20 --5%-- col 1


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" line 1 of 20 --5%-- col 1


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C220L, 131C


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


Already only one window
"Xqftestfile1" 20L, 131C220L, 131C320L, 131C


Executing Test_two_windows()
"one" [New File]two


Executing Test_vimgreptitle()


file
"file" [New File]


Cannot open file "file"
"test_quickfix.res" [New File][New] 0L, 0C written


Executed 42 tests
"messages" 369L, 9803C414L, 11106C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_ruby.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_ruby.vim" 34 lines, 820 characters
"test_ruby.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"414L, 11106C417L, 11143C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_search.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search.vim" 296 lines, 8731 characters


Executing Test_search_cmdline()/foobar
/the
search hit BOTTOM, continuing at TOP/thes
/foobar
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
?the
?the
?the
?the
?the
?the
?the
?the
?the
?the
search hit TOP, continuing at BOTTOM/thes
/thes
/thes
/thes
/thei
/theis
/theiss
/themthe\>
Executing Test_search_cmdline2()/the
/the
/the
/the
/the
/the
/the
/foo
6 their

  7 the

  8 them

  9 these

 10 foobar

[No Name] [+]                                                                   " Test for the search command



func Test_search_cmdline()

  if !exists('+incsearch')

    return

  endif

  " need to disable char_avail,

  " so that expansion of commandline works

  call test_disable_char_avail(1)

  new

  call setline(1, ['  1', '  2 these', '  3 the', '  4 their', '  5 there', '  66 their', '  7 the', '  8 them', '  9 these', ' 10 foobar'])

  " Test 1

  " CTRL-N / CTRL-P skips through the previous search history

  set noincsearch

  :1

test_search.vim                                                                 Executing Test_searchpair()


Executing Test_use_sub_pat()
"test_search.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"417L, 11143C424L, 11305C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_signs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_signs.vim" 199 lines, 6383 characters


Executing Test_sign()
"foo" [New File]a  b  c xd                                                                                 ~

[No Name] [+]                                                                   " Test for signs



if !has('signs')

  finish

endif

test_signs.vim                                                                  ~                                                                               ~                                                                               ~                                                                               ~                                                                               foo                                                                               a

  b

x c

  d

[No Name] [+]                                                                     a  bx c  d  ~   "foo" [New file] --No lines in buffer--
"barF

Executing Test_sign_completion():sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
:sign jump 1 ...buffer= file=
:"sign jump 1 buffer= file=
:"


Executing Test_sign_delete_buffer()


Executing Test_sign_invalid_commands()


Executing Test_sign_undefine_still_placed()
"foobar" [New File]test_signs.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"424L, 11305C432L, 11518C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_smartindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_smartindent.vim" 14 lines, 376 characters


Executing Test_nosmartindent()/some
search hit BOTTOM, continuing at TOP"test_smartindent.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"432L, 11518C436L, 11593C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup.vim" 185 lines, 4581 characters


Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l1: /<<PKGBUILDDIR>>/src/vim-basic/testdir/Xbefore.vim


  2: /<<PKGBUILDDIR>>/src/vim-basic/testdir/Xhere/plugin/here.vim


  3: /<<PKGBUILDDIR>>/src/vim-basic/testdir/Xhere/pack/foo/start/


foobar/plugin/foo.vim


  4: /<<PKGBUILDDIR>>/src/vim-basic/testdir/Xafter/plugin/later.v


im

  5: /<<PKGBUILDDIR>>/src/vim-basic/testdir/Xafter.vim


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25lError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/Xafter.vim:


line    2:


E528: Must specify a ' value: viminfo+=nviminfo


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=

[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=

[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 1 line, 10 characters[?12;25h[?12l[?25h"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=

[?25lExecuting Test_startup_script()[?1000h


Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l"test_startup.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"436L, 11593C446L, 11844C written
[?1000l

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup_utf8.vim" 64 lines, 1366 characters


Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"/dev/fd/63" [readonly] 2 lines, 24 characters


"Xtestout" [New File] 2 lines, 24 characters written


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 2 lines, 24 characters[?12;25h[?12l[?25h"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=[?25l"test_startup_utf8.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"446L, 11844C451L, 11955C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_stat.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_stat.vim" 64 lines, 1598 characters


Executing Test_checktime()
"Xtest.tmp" 1L, 13C[?12l[?25h[?25l1L, 25C


Executing Test_existent_directory()


Executing Test_existent_file()[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/move.o move.c



[?25lExecuting Test_nonexistent_file()


Executing Test_win32_symlink_dir()
"test_stat.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"451L, 11955C459L, 12156C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_substitute.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_substitute.vim" 41 lines, 1151 characters


Executing Test_multiline_subst()


search hit BOTTOM, continuing at TOP
3 substitutions on 3 lines

3 substitutions on 2 lines
"test_substitute.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"459L, 12156C463L, 12232C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_syntax.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_syntax.vim" 164 lines, 4101 characters


Executing Test_syn_iskeyword()CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


syntax iskeyword @,48-57,_,192-255CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


Executing Test_syntax_after_reload()
"Xsomefile" [New File][New] 2L, 12C written
"other" [New File]Xsomefile" 2L, 12C


Executing Test_syntax_completion():syn ...case clear cluster conceal enable include iskeyword keyword list manual ma


tch off on region reset spell sync"syn case clear cluster conceal enable include iskeyword keyword list manual match off on region reset spell sync
:syn case ...ignore match
:"syn case ignore match
:"
:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=


minlines= region"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= minlines= region
:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu


rsorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange Dif


fDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn


Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro


MatchParen ModeMsg MoreMsg NonText Normal Number Operator Pmenu PmenuSbar PmenuS


el PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Spec


ial SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal SpellRare


Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLine


Fill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNO


SWarningMsg WildMenu sqlComment sqlFold sqlFunction sqlKeyword sqlNumber sqlOpe


rator sqlSpecial sqlStatement sqlString sqlTodo sqlType vimAbb vimAddress vimAuH


ighlight vimAuSyntax vimAugroup vimAugroupError vimAugroupKey vimAugroupSyncA vi


mAutoCmd vimAutoCmdOpt vimAutoCmdSfxList vimAutoCmdSpace vimAutoEvent vimAutoEve


ntList vimAutoSet vimBehave vimBehaveError vimBehaveModel vimBracket vimBufnrWar


nvimClusterName vimCmdSep vimCmplxRepeat vimCollClass vimCollClassErr vimCollec


tion vimCommand vimComment vimCommentString vimCommentTitle vimCommentTitleLeade"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange Di

fDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro MatchParen ModeMsg MoreMsg NonText Normal Number Operator Pmenu PmenuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal SpellRare Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNOS WarningMsg WildMenu sqlComment sqlFold sqlFunction sqlKeyword sqlNumber sqlOperator sqlSpecial sqlStatement sqlString sqlTodo sqlType vimAbb vimAddress vimAuHighlight vimAuSyntax vimAugroup vimAugroupError vimAugroupKey vimAugroupSyncA vimAutoCmd vimAutoCmdOpt vimAutoCmdSfxList vimAutoCmdSpace vimAutoEvent vimAutoEventList vimAutoSet vimBehave vimBehaveError vimBehaveModel vimBracket vimBufnrWarn vimClusterName vimCmdSep vimCmplxRepeat vimCollClass vimCollClassErr vimCollection vimCommand vimComment vimCommentString vimCommentTitle vimCommentTitleLead
:syn match ...Boolean Character ColorColumn Comment Conceal Conditional Constant C
:"syn match Boolean Character ColorColumn Comment Conceal Conditional Constant 
:"


Executing Test_syntax_list()
"../memfile_test.c" [readonly] 143L, 3142C


--- Syntax items ---




--- Syntax items ---


"Xsomefile" [New File]


Executing Test_syntime()
"../memfile_test.c" [readonly] 143L, 3142C/* vi:set ts=8 sts=4 sw=4 noet:

 *

 * VIM - Vi IMproved    by Bram Moolenaar

 *

 * Do ":help uganda"  in Vim to read copying and usage conditions.

 * Do ":help credits" in Vim to see a list of people who contributed.

 * See README.txt for an overview of the Vim source code.

 */



/*

 * memfile_test.c: Unittests for memfile.c

 * Mostly by Ivan Krasilnikov.

 */



#undef NDEBUG

#include <assert.h>



/* Must include main.c because it contains much more than just main() */

#define NO_VIM_MAIN

#include "main.c"



/* This file has to be included because the tested functions are static */

#include "memfile.c"

"Xsomefile" [New File]
"test_syntax.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"463L, 12232Cgcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mbyte.o mbyte.c
471L, 12429C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_system.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_system.vim" 92 lines, 2910 characters


Executing Test_System()
"Xdummy" [New File]

Executing Test_system_exmode()
"test_system.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"471L, 12429C476L, 12524C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_textobjects.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_textobjects.vim" 43 lines, 946 characters


Executing Test_inner_block_with_cpo_M_left_backslash()


Executing Test_inner_block_with_cpo_M_right_backslash()


Executing Test_inner_block_without_cpo_M()
"test_textobjects.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"476L, 12524C482L, 12723C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_undo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_undo.vim" 265 lines, 6936 characters


Executing Test_U_command()Executing Test_global_local_undolevels()
"one" [New File]

6 fewer lines; before #8  0 seconds ago
"two" [New File]

3 fewer lines; before #11  0 seconds ago
"three" [New File]

Executing Test_insert_expr()=setline('.','1234')
1 line less; before #4  0 seconds ago3=setline('.','1234')
1 line less; before #7  0 seconds ago=string(123)
1 line less; before #9  0 seconds ago


Executing Test_undo_del_chars()
1 change; before #3  0 seconds ago21


1 change; before #6  1 seconds ago5
4s; after #3
1; before #21


3 changes; after #6  1 seconds ago3 changes; before #7  0 seconds ago


3 changes; before #1  3 seconds ago


3 changes; after #6  3 seconds ago


3 changes; after #9  0 seconds ago


Executing Test_undo_write()
"Xtest" [New File]"Xtest" [New] 1L, 12C written"Xtest" 3L, 20C written1 line less; before #4  0 seconds ago


2 fewer lines; before #2  0 seconds ago


1 line less; before #1  0 seconds ago


1 more line; after #1  0 seconds ago


2 more lines; after #3  0 seconds ago


1 more line; after #4  0 seconds ago


Executing Test_undofile_earlier()
"Xfile" [New File]"Xfile" [New] 3L, 14C written3L, 14C


Finished reading undo file Xundofile


3 fewer lines; before #1  2017/07/13 18:57:53


Executing Test_undojoin()1 line less; before #2  0 seconds ago2 fewer lines; before #3  0 seconds ago


Executing Test_undolist()1 change; before #2  0 seconds agoExecuting Test_undotree()

1 change; before #2  0 seconds ago
"Xtest" [New] 1L, 4C written
"test_undo.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"482L, 12723C494L, 13030C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_usercommands.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_usercommands.vim" 104 lines, 2527 characters


Executing Test_Ambiguous()


Executing Test_CmdUndefined()


Executing Test_cmdmods()
"test_usercommands.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"494L, 13030C500L, 13158C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viminfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viminfo.vim" 515 lines, 13496 characters


Executing Test_cmdline_history()


Executing Test_cmdline_history_order()


Executing Test_global_vars()


Executing Test_viminfo_bad_syntax()


Executing Test_viminfo_encoding()
"Xviminfo" [converted] 73L, 3460C


Executing Test_viminfo_file_mark_tabclose()
"Xtestfileintab" [New File]viminfo" 83L, 3639C


Executing Test_viminfo_file_mark_zero_time()


Executing Test_viminfo_file_marks()
"ten" [New File]again" [New File]
"thirty" [New File]
"twen
"again" [New File]fourty" [New File]
"Xviminfo" 90L, 3437C


Executing Test_viminfo_jumplist()
"testbuf" [New File]/20
/30
/last pos
/15
/last pos
?30
/15
/last pos
?30
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here


Executing Test_viminfo_marks()
"bufa" [New File]b


Executing Test_viminfo_oldfiles()


Executing Test_viminfo_read_and_write()


Executing Test_viminfo_registers()
"test_viminfo.res" [New File][New] 0L, 0C written


Executed 13 tests
"messages" 500L, 13158C516L, 13670C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viml.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viml.vim" 1316 lines, 31904 characters


Error detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/test_viml.vim:


line  432:


E492: Not an editor command: ^Iasdf


line  444:


E492: Not an editor command: ^Iasdf


line  452:


E492: Not an editor command: asdf


line  455:


E492: Not an editor command: asdf | Xpath 'p'


Error detected while processing function T8_F:


line    5:


E492: Not an editor command: ^I    asdf


line    7:


E492: Not an editor command: ^I    asdf | Xpath 'd'


line   19:


E492: Not an editor command: ^I    asdf


line   21:


E492: Not an editor command: ^I    asdf | Xpath 'l'


line   29:


E121: Undefined variable: novar


E15: Invalid expression: novar^I^I" returns (default return value 0)


Error detected while processing function T8_G:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function T8_H:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function F[2]..G[2]..H[2]..I:


line    2:


E492: Not an editor command:     asdf^I^I" error


Error detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te


stdir/test_viml.vim:


line  663:


E15: Invalid expression: | strlen("\"") | Xpath 'j'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'


line  673:


E15: Invalid expression: | strlen("\"") | Xpath 'n'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'


line  682:


E15: Invalid expression: | strlen("\"") | Xpath 'r'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'


line  717:


E492: Not an editor command:     asdf^I^I" error


1

line  787:


E492: Not an editor command:     asdf^I^I" error


line  794:


E492: Not an editor command:     asdf^I^I" error


line  817:


E121: Undefined variable: asdf


E15: Invalid expression: asdf


line  828:


E121: Undefined variable: asdf


E15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'


Error detected while processing function F:


line    8:


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar^I" possibly undefined


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif


Executing Test_arg_abort()


Executing Test_braces_skipped()


Executing Test_curlies()


Executing Test_defining_functions()


Executing Test_echo_and_string()


foo bar


'foo bar'


-1.2


-1.2


string


function('string')


{'a': {...}}


{'a': {...}}


[[...]]


[[...]]


[{}, {}, {}]


[{}, {}, {}]


{'a': {}, 'b': {}}


{'a': {}, 'b': {}}


[[], [], []]


[[], [], []]


{'a': [], 'b': []}


{'a': [], 'b': []}


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {...}, {...}]


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {'one': 'yes', 'two': 'yes', 'th


ree': 'yes'}, {'one': 'yes', 'two': 'yes', 'three': 'yes'}]


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {...}}


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {'one': 'yes', 'two':


'yes', 'three': 'yes'}}


[[1, 2, 3], [...], [...]]


[[1, 2, 3], [1, 2, 3], [1, 2, 3]]


{'a': [1, 2, 3], 'b': [...]}


{'a': [1, 2, 3], 'b': [1, 2, 3]}


Executing Test_endwhile_function()


Executing Test_endwhile_script()


   function T1_F()


1      Xpath 'a'


2      let first = 1


3      while 1


4Xpath 'b'


5if first


6Xpath 'c'


7let first = 0


8break


9else


10Xpath 'd'


11return


12endif


13     endwhile


   endfunction"/tmp/vrusvCi/0" [noeol] 16L, 299C

13 substitutions on 13 lines

Pattern not found: ^\s*$
"/tmp/vrusvCi/0" 13L, 248C written
"test_viml.vim" 1316L, 31904C

   function T1_G()

1      Xpath 'h'

2      let first = 1

3      while 1

4Xpath 'i'

5if first

6Xpath 'j'

7let first = 0

8break

9else

10Xpath 'k'

11return


12endif


13if 1    " unmatched :if


14     endwhile


   endfunction"/tmp/vrusvCi/1" [noeol] 17L, 334C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vrusvCi/1" 14L, 281C written
"test_viml.vim" 1316L, 31904C

Executing Test_error_in_function()

Executing Test_error_in_script()

Executing Test_expr_parsing()

Executing Test_finish()

   function T4_F()

1      if 1

2Xpath 'a'

3let loops = 3

4while loops > 0"    3:  2:     1:

5Xpath 'b' . loops

6if (loops == 2)

7Xpath 'c' . loops

8return


9Xpath 'd' . loops


10endif


11Xpath 'e' . loops


12let loops = loops - 1


13endwhile


14Xpath 'f'


15     else


16Xpath 'g'


17     endif


   endfunction"/tmp/vrusvCi/2" [noeol] 20L, 504C

17 substitutions on 17 lines

Pattern not found: ^\s*$
"/tmp/vrusvCi/2" 17L, 445C written
"test_viml.vim" 1316L, 31904C

Executing Test_func_abort()

Executing Test_if_bar_fail()

Executing Test_if_fail()

Executing Test_if_while()

Executing Test_num64()

Executing Test_return()

Executing Test_script_lines()

Executing Test_skip()

Executing Test_type()

Executing Test_while_fail()
"test_viml.res" [New File][New] 0L, 0C written

Executed 21 tests
"messages" 516L, 13670C540L, 14309C written

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_visual.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_visual.vim" 25 lines, 506 characters


Executing Test_block_shift_multibyte()


Executing Test_dotregister_paste()"test_visual.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"540L, 14309C545L, 14423C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_window_id.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_window_id.vim" 103 lines, 2714 characters


Executing Test_win_getid()
"one" [New File]twohree" [New File]
"four" [New File]ive


Executing Test_win_getid_curtab()
"X" [New File]test_window_id.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"545L, 14423C550L, 14527C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_writefile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_writefile.vim" 16 lines, 490 characters


Executing Test_WriteFile()
"test_writefile.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"550L, 14527C554L, 14596C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_latin.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_latin.vim" 7 lines, 280 characters


Executing Test_eow_with_optional()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_nested_backrefs()


Executing Test_recursive_substitute()
"test_alot_latin.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"[converted] 554L, 14596C[converted] 562L, 14812C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049lExecuting Test_classes_re1()gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/normal.o normal.c



Executing Test_classes_re2()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_match_using_multibyte_conceal_char()#ˑThisˑisˑaˑTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " A series of tests that can run in one Vim invocation.

" This makes testing go faster, since Vim doesn't need to restart.



" These tests use utf8 'encoding'.  Setting 'encoding' is already done in

" runtest.vim.  Checking for the multi_byte feature is in the individual

" files, so that they can be run by themselves.



source test_expr_utf8.vim

source test_matchadd_conceal_utf8.vim

source test_regexp_utf8.vim

test_alot_utf8.vim                                                              Executing Test_source_latin()
"Xscript"[New] 2L, 44C written
Executing Test_source_utf8()"Xscript"[New] 2L, 42C written:%s/àx/--à1234--/g
:%s/Àx/--À1234--/g


Executing Test_strcharpart()


Executing Test_strgetchar()
"test_alot_utf8.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"562L, 14812C574L, 15147C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot.vim" 48 lines, 1233 characters


Executing Test_BufEnter()
"NewFile" [New File]Xdir" is a directory


Executing Test_abbreviation()Executing Test_abs()


Executing Test_acos()


Executing Test_asin()


Executing Test_atan()


Executing Test_atan2()


Executing Test_augroup_deleted()


W19: Deleting augroup that is still in use
Executing Test_augroup_warning()

W19: Deleting augroup that is still in useentering


Executing Test_auto_partial_rebind()


Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File]

"bb.txt" [New File]


Executing Test_autocmd_bufunload_avoiding_SEGV_02()

"a.txt" [New File]
"test_alot.vim" 48L, 1233C


Executing Test_autocmd_bufunload_with_tabnext()


Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File]

Executing Test_bind_in_python()


Executing Test_break_undo()Executing Test_bufunload()


Executing Test_cancel_ptjump()


Already only one window:ptjump word
  # pri kind tagfile


  1 Fwordfile1


cmd1


  2 Fwordfile2


cmd2


Type number and <Enter> (empty cancels): 
"help.txt" [readonly] 225L, 8437C


Executing Test_caught_error_in_statusline()source test_messages.vim

source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



                                                                                Executing Test_caught_error_in_tabline()                                                                                source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



test_alot.vim                                                                   Executing Test_ceil()


Executing Test_closure_counter()


Executing Test_closure_refcount()


Executing Test_closure_unlet()


Executing Test_color_names()


Executing Test_compare_null_dict()


Executing Test_compare_partials()


Executing Test_compl_vim_cmds_after_register_expr()=s:test_func()
 AAAAA_Group             BufAdd                  BufCreate               BufDelete               BufEnter                BufFilePost             BufFilePre              BufHidden               BufLeave                BufNew                  BufNewFile              BufRead                 BufReadCmd              BufReadPost             tBufReadPre              BufUnload               BufWinEnter             BufWinLeave             BufWipeout              BufWrite                BufWriteCmd             BufWritePost           Executing Test_complete_no_undo()=UndoComplete()
xxx

aaa

yyy

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   test_tabpage.vimtest_tagcase.vimtest_tagjump.vimtest_timers.vimtest_true_false.vimtest_unlet.vimsource test_window_cmd.vimsource test_options.vime hereTest3: text with a (parenthesis here

test_alot.vim                                                                   January        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       1 change; before #2  0 seconds ago=UndoComplete()

bbb

yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       -- INSERT --January        1 change; before #4  0 seconds ago=UndoComplete()


yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December           
January



~              

~              

~              

~              

~              

~              

~              

~              February       

March          

April          

May            

June           

July           

August         

September      -- INSERT --January        1 change; before #5  0 seconds ago


Executing Test_completefunc_opens_new_window_one()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_opens_new_window_two()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_with_scratch_buffer()January        

February

March     

April   

May      January        

February       info2-1

2-2

2-3



February

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis hereJanuary        

February       

March          

April          

May            



[Scratch]                                                                       test_alot.vim                                                                   [Scratch] [Preview]                                                             [Scratch]                                                                       
March~              

~              

~              

~              

~              January        

February       

March          

April          

May            3

3

3[Scratch]                                                                        [Scratch]                                                                       February       

March          
April

~              

~              

~              

~              

~              January        

February       

March          

April          

May            4

4

4[Scratch]                                                                        [Scratch]                                                                       March          

April          Executing Test_completefunc_works()


search hit BOTTOM, continuing at TOPthreedef       

threeDEF       threedef       

threeDEF       
threeDEF

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~              

~              

~              

~              

~              threedef       

threeDEF       Executing Test_completion_ctrl_e_without_autowrap()Executing Test_cos()


Executing Test_cosh()


Executing Test_cursorhold_insert()[?12l[?25h[?25lExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25lExecuting Test_cursorline_keep_col()


Executing Test_curswant_with_autocommand()

Executing Test_cycle_partial_job()


Executing Test_cyclic_dict_arg()


Executing Test_cyclic_list_arg()


Executing Test_delete_myself()[?12l[?25h


[?25lExecuting Test_dict()


Executing Test_dictionary()


Executing Test_dir_delete()


Executing Test_early_bar()


Executing Test_empty_buffer()


Executing Test_empty_doau()


No matching autocommands


Executing Test_equal()


Executing Test_ex_undo()
"ex-undo" [New File]

1 line less; before #3  0 seconds ago


1 line less; after #1  0 seconds ago


2 fewer lines; before #1  0 seconds ago


Executing Test_execute_list()


Executing Test_execute_string()


this


theend


something


Executing Test_existing()


Executing Test_exp()


Executing Test_expand()


Executing Test_feedkeys_x_with_empty_string()Executing Test_file_delete()
"Xfile" [New File][New] 2L, 4C written


Executing Test_file_perm()


Executing Test_fileformat_after_bw()
"a.txt" [New File]ex-undo" [New File]


Executing Test_filetype_valid()


Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File]ex-undo" [New File]

Executing Test_filter_cmd_completion():filter ^I"=execute('let cmdline = getcmdline()')
:filter ^I:filter pat^I"=execute('let cmdline = getcmdline()')
:filter pat^I:filter /pat^I"=execute('let cmdline = getcmdline()')
:filter /pat^I:filter /pat/^I"=execute('let cmdline = getcmdline()')
:filter /pat/^I:filter pat pri...nt"=execute('let cmdline = getcmdline()')
:filter pat print:filter /pat/ pri...nt"=execute('let cmdline = getcmdline()')
:filter /pat/ print:filter #pat# pri...nt"=execute('let cmdline = getcmdline()')
:filter #pat# printExecuting Test_filter_fails()


Executing Test_filter_map_dict_expr_funcref()


Executing Test_filter_map_dict_expr_string()


Executing Test_filter_map_list_expr_funcref()


Executing Test_filter_map_list_expr_string()


Executing Test_floor()


Executing Test_fmod()


Executing Test_fnamemodify()
"test_alot.vim" 48L, 1233C


Executing Test_func_unref()


Executing Test_funcref()


0

Executing Test_function_in_dict()


Executing Test_function_with_funcref()


Executing Test_gD()


Executing Test_gD_char()


Executing Test_gD_comment()


Executing Test_gD_inline_comment()


Executing Test_gD_string()


Executing Test_gD_string_same_line()


Executing Test_gD_too()


Executing Test_gd()


Executing Test_gd_comment()


Executing Test_gd_comment_in_string()


Executing Test_gd_inline_comment()


Executing Test_gd_inline_comment_body()


Executing Test_gd_inline_comment_only()


Executing Test_gd_kr_style()


Executing Test_gd_missing_braces()


Executing Test_gd_not_local()


Executing Test_gd_string()


Executing Test_gd_string_in_comment()


Executing Test_gd_string_only()


Executing Test_gd_trailing_comment()


Executing Test_gd_trailing_multiline_comment()


Executing Test_get_partial_items()


Executing Test_getreg_empty_list()


Executing Test_global_local_lispwords()


Executing Test_help_complete()


Executing Test_help_respect_current_file_lang()
"testdoc.abx" [readonly] 2L, 25Cja[readonly] 2L, 25Cline 1 of 2 --50%-- col 2-9txt[readonly] 2L, 25C
Executing Test_help_tagjump()"help.txt" [readonly] 225L, 8437C
"options.txt" [readonly] 8739L, 370255Cline 7652 of 8739 --87%-- col 7-49
"eval.txt" [readonly][converted] 10613L, 408230C line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1320 of 8739 --15%-- col 4-25
"cmdline[readonly] 1147L, 46822C


Executing Test_if()


Executing Test_info()


Executing Test_invalid()


Executing Test_invalid_submatch()


Executing Test_isnan()


Executing Test_join_with_count()


Executing Test_keymap_valid()


Executing Test_keyword_jump()
"Xtestfile" 9L, 141C


Executing Test_lambda_call_lambda_from_lambda()


Executing Test_lambda_capture_by_reference()


Executing Test_lambda_circular_reference()


Executing Test_lambda_closure_counter()


Executing Test_lambda_combination()


Executing Test_lambda_delfunc()


Executing Test_lambda_do_not_share_local_variable()


Executing Test_lambda_fails()


Executing Test_lambda_feature()


Executing Test_lambda_refer_local_variable_from_other_scope()


Executing Test_lambda_scope()


Executing Test_lambda_share_scope()


Executing Test_lambda_side_effect()


Executing Test_lambda_with_a_var()


Executing Test_lambda_with_filter()


Executing Test_lambda_with_map()


Executing Test_lambda_with_partial()


Executing Test_lambda_with_sort()


Executing Test_lambda_with_timer()[?12l[?25h


[?25l1[?12l[?25h

[?25l2[?12l[?25h

[?25l3[?12l[?25h

[?25l4[?12l[?25h

[?25l5[?12l[?25h

[?25l6[?12l[?25h

[?25l7[?12l[?25h

[?25l8[?12l[?25h

[?25lExecuting Test_load_menu()


Executing Test_log()


Executing Test_log10()


Executing Test_loop_over_null_list()


Executing Test_map_ctrl_c_insert()Executing Test_map_ctrl_c_visual():'<,'>$put ='vmap works'


Executing Test_map_cursor()1 line less; before #8  0 seconds ago


Executing Test_map_feedkeys():call feedkeys(".", "in")
:call feedkeys(".", "in")
Executing Test_map_langmap():call append(line('$'), '+')


Executing Test_map_meta_quotes()Executing Test_match()


abcdefghijklmnopq

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   abcdΣabcdef

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos()12345

NP

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   12345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   012345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos_using_negative_priority()x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchstrpos()


Executing Test_max_min_errors()


Executing Test_messages()


hello0x

-1 match priority

vmap works    hello1234567898


hello9xhello9
Executing Test_missing_attr()


Executing Test_move_cursor()


Executing Test_named_function_closure()


Executing Test_no_type_checking()


Executing Test_noinsert_complete()=s:complTest1()
~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       x

-1 match priority

vmap worksTest1: text with a (here some more text)

Test1: text with a (here some more text)Test2: text wit a (here some more text [und undo])fooc d[No Name]                                                                        source         

soundfold      ndfold=s:complTest2()


~              

~              source         

soundfold      Executing Test_non_zero_arg()


Executing Test_not_existing()


Executing Test_not_lamda()


Executing Test_omnifunc_with_check()


search hit BOTTOM, continuing at TOPfour1

~                                                                               ~                                                                               ~                                                                               [+]four1          

four2          2

~              

~              four1          

four2          four1          

four2          

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          four3          

four4          

four5          

four6          4

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          5

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          four4          

four5          Executing Test_oneshot()[?12l[?25h


[?25lExecuting Test_option_value()


Executing Test_options()
"option-window" [New File]


Executing Test_partial_args()


Executing Test_partial_dict()


Executing Test_partial_exists()


Executing Test_partial_implicit()


Executing Test_partial_string()


Executing Test_path_keep_commas()


Executing Test_paused()[?12l[?25h


[?25lExecuting Test_popup_complete()=ListMonths()

June

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               June           

July           -- INSERT --June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       



February       

March          





March          

April          April          

May            May            

June           June           

July           July           

August         =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           =ListMonths()


~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()

June~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJune           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()
ne

~              

~              June           

July           ~              

~              June           

July           -- INSERT --June           

Julyly

~              

~              July           
July           =ListMonths()
ne

~              
June           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December        
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July           =ListMonths()

January

~              

~              

~              January        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July                 
January

~              

~              

~              January        

June           

July           January        =ListMonths()


~              

~              

~              January        

June           

July           =ListMonths()

June~              

~              

~              June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       



February       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       October        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       
Nov

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November         
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October        =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       October        

November       September      

October        =ListMonths()
=ListMonths()
December2015

December~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xDecember       =ListMonths()

March~                                                                               ~              March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()
March~              
March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()

March

~                                                                               ~              

~              March          

May            =ListMonths()
M~              
March          

May            =ListMonths()
M~              
March          

May            Executing Test_popup_complete2()=ListMonths()
Executing Test_popup_completion_insertmode()=ListMonths()
~                                                                               ~                                                                               ~              

~                  January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       
March~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        February       

March          
April

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        March          

April          
May~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        April          

May             
June

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        May            

June           ly

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        June           

July             
August

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        July           

August            
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        August         

September      
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October         
November

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November       
Dec

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       Executing Test_pow()


Executing Test_printf_64bit()


Executing Test_printf_errors()


0

0

1

0

0

Executing Test_printf_float()


0.000000


Executing Test_printf_misc()


Executing Test_printf_spec_b()


Executing Test_printf_spec_s()


Executing Test_ptag_with_notagstack()


Executing Test_read_only()


Executing Test_recursive_delete()
"Xdir1/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written


Executing Test_redefine_dict_func()


Executing Test_ref_job_partial_dict()


Executing Test_reltime()[?12l[?25h


[?25lExecuting Test_repeat_many()[?12l[?25h


[?25lExecuting Test_repeat_three()[?12l[?25h


[?25lExecuting Test_retain_partial()[?12l[?25h


[?25lExecuting Test_round()


Executing Test_script_function_in_dict()


Executing Test_script_function_in_dict_arg()


Executing Test_searchpos()
"one" [New File]

Executing Test_set_add()


Executing Test_set_backslash()


Executing Test_set_reg_null_list()


Executing Test_set_tagcase()


Executing Test_setmatches()


Executing Test_signcolumn()


Executing Test_sin()


Executing Test_sinh()


Executing Test_sort_default()


Executing Test_sort_float()


Executing Test_sort_nested()


Executing Test_sort_numbers()


Executing Test_sort_numeric()


Executing Test_sort_strings()


Executing Test_special_char()


Executing Test_sqrt()


Executing Test_static_tagjump()
"Xfile1" [New File][New] 3L, 18C written


Executing Test_statusline_will_be_disabled_with_error()x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                                                                                                               Executing Test_stop_all_in_callback()[?12l[?25h


[?25lExecuting Test_stop_in_callback()[?12l[?25h


[?25lExecuting Test_stopall()


Executing Test_str2float()


Executing Test_str2nr()


Executing Test_strcharpart()


Executing Test_strgetchar()


Executing Test_substitute_expr()


Executing Test_substitute_expr_arg()


Executing Test_symlink_delete()
"Xfile" [New File][New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written
"Xdir4/Xfile" [New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_syntax_valid()


Executing Test_tabline_will_be_disabled_with_error()                                                                                x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               [No Name]                                                                       Executing Test_tabnext_on_buf_unload1()


Executing Test_tabnext_on_buf_unload2()


"x" [Not edited] --No lines in buffer--
"y" [New File]

Executing Test_tabpage()
"Xtestfile" [New File]

2 fewer lines; before #1  0 seconds ago


Executing Test_tabpage_with_autocmd()


Executing Test_tabpage_with_tab_modifier()
"help.txt" [readonly] line 1 of 225 --0%-- col 1


"ex-undo" [New File]


Executing Test_tagcase()
"Xtext" [New File]

Executing Test_tan()


Executing Test_tanh()


Executing Test_thesaurus()


Executing Test_three_windows()
"Xtestje1" [New File][New] 1L, 8C written2" [New File][New] 1L, 8C written3" [New File][New] 1L, 8C written11L, 8C


"Xtestje3" 1L, 8C21L, 8C11L, 8C


"Xanother" [New File]
"Xtestje11L, 8C
"Xanother" [New File]


Already only one window
"help.txt" [readonly] 225L, 8437C


Executing Test_tostring()


Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=

[?25l"colored" [New File]


Executing Test_trunc()


Executing Test_valid()


Executing Test_version()


Executing Test_vim_did_enter()


Executing Test_whichwrap()


Executing Test_win_tab_autocmd()


"somefile" [New File]


Executing Test_window_cmd_cmdwin_with_vsp()


Executing Test_window_cmd_ls0_with_split()


Executing Test_window_cmd_wincmd_gf()
"test_gf.txt" 0L, 0C
W19: Deleting augroup that is still in use
Executing Test_with_directories()"Xdir1/file" [New File]

"Xdir1/file" [New] 2L, 4C written


"Xdir3/Xdir4/file" [New] 2L, 4C written2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File]Executing Test_with_partial_callback()[?12l[?25h[?25ltilde()rong_arguments()
"test_alot.res" [New File]

"test_alot.res" [New] 0L, 0C written
Executed 245 tests"messages" 574L, 15147C


"messages" 822L, 23179C written


[?1l>[?12l[?25h[?1049l

From test_arglist.vim:
Executing Test_argadd()
Executing Test_argc()
Executing Test_argdelete()
Executing Test_argedit()
Executing Test_argidx()
Executing Test_arglist_autocmd()
Executing Test_arglistid()
Executing Test_argpos()
Executing Test_argument()
Executing Test_argv()
Executing Test_zero_argadd()
Executed 11 tests

From test_assert.vim:
Executing Test_assert_equal()
Executing Test_assert_exception()
Executing Test_assert_fail_fails()
Executing Test_assert_false()
Executing Test_assert_inrange()
Executing Test_assert_notequal()
Executing Test_assert_true()
Executing Test_compare_fail()
Executing Test_match()
Executing Test_notmatch()
Executing Test_user_is_happy()
Executing Test_wrong_error_type()
Executed 12 tests

From test_autochdir.vim:
Executing Test_set_filename()
Executed 1 test

From test_backspace_opt.vim:
Executing Test_backspace_option()
Executed 1 test

From test_breakindent.vim:
Executing Test_breakindent01()
Executing Test_breakindent02()
Executing Test_breakindent03()
Executing Test_breakindent04()
Executing Test_breakindent05()
Executing Test_breakindent06()
Executing Test_breakindent07()
Executing Test_breakindent07a()
Executing Test_breakindent08()
Executing Test_breakindent08a()
Executing Test_breakindent09()
Executing Test_breakindent10()
Executing Test_breakindent11()
Executing Test_breakindent12()
Executing Test_breakindent13()
Executing Test_breakindent14()
Executing Test_breakindent15()
Executing Test_breakindent16()
Executed 18 tests

From test_bufwintabinfo.vim:
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
Executed 3 tests

From test_cdo.vim:
Executing Test_cdo()
Executing Test_ldo()
Executed 2 tests

From test_channel.vim:
Executed 0 test

From test_charsearch.vim:
Executing Test_charsearch()
Executing Test_search_cmds()
Executed 2 tests

From test_cmdline.vim:
Executing Test_complete_list()
Executing Test_complete_tab()
Executing Test_complete_wildmenu()
Executing Test_expand_star_star()
Executing Test_getcompletion()
Executing Test_illegal_address()
Executing Test_paste_in_cmdline()
Executing Test_remove_char_in_cmdline()
Executed 8 tests

From test_command_count.vim:
Executing Test_command_count_0()
Executing Test_command_count_1()
Executing Test_command_count_2()
Executing Test_command_count_3()
Executing Test_command_count_4()
Executed 5 tests

From test_crypt.vim:
Executing Test_crypt_blowfish()
Executing Test_crypt_blowfish2()
Executing Test_crypt_zip()
Executing Test_head_only_2()
Executing Test_head_only_3()
Executing Test_uncrypt_blowfish()
Executing Test_uncrypt_blowfish2()
Executing Test_uncrypt_zip()
Executed 8 tests

From test_cscope.vim:
Executed 0 test

From test_diffmode.vim:
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()
Executing Test_filler_lines()
Executing Test_setting_cursor()
Executing Test_vert_split()
Executed 6 tests

From test_digraph.vim:
Executing Test_digraph_cmndline()
Executing Test_digraphs()
Executing Test_digraphs_option()
Executing Test_digraphs_output()
Executing Test_loadkeymap()
Executed 5 tests

From test_display.vim:
Executing Test_display_foldcolumn()
Executed 1 test

From test_farsi.vim:
Executing Test_farsi_map()
Executing Test_farsi_toggle()
Executed 2 tests

From test_fnameescape.vim:
Executing Test_fnameescape()
Executed 1 test

From test_fold.vim:
Executing Test_address_fold()
Executing Test_indent_fold()
Executing Test_indent_fold2()
Executed 3 tests

From test_gf.vim:
Executing Test_gf_url()
Executed 1 test

From test_gn.vim:
Executing Test_gn_command()
Executed 1 test

From test_gui.vim:
Executed 0 test

From test_hardcopy.vim:
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()
Executed 4 tests

From test_hide.vim:
Executing Test_hide()
Executed 1 test

From test_history.vim:
Executing Test_History()
Executing Test_Search_history_window()
Executed 2 tests

From test_hlsearch.vim:
Executing Test_hlsearch()
Executed 1 test

From test_increment.vim:
Executing Test_normal_increment_01()
Executing Test_normal_increment_02()
Executing Test_normal_increment_03()
Executing Test_visual_increment_01()
Executing Test_visual_increment_02()
Executing Test_visual_increment_03()
Executing Test_visual_increment_04()
Executing Test_visual_increment_05()
Executing Test_visual_increment_06()
Executing Test_visual_increment_07()
Executing Test_visual_increment_08()
Executing Test_visual_increment_09()
Executing Test_visual_increment_10()
Executing Test_visual_increment_11()
Executing Test_visual_increment_12()
Executing Test_visual_increment_13()
Executing Test_visual_increment_14()
Executing Test_visual_increment_15()
Executing Test_visual_increment_16()
Executing Test_visual_increment_17()
Executing Test_visual_increment_18()
Executing Test_visual_increment_19()
Executing Test_visual_increment_20()
Executing Test_visual_increment_21()
Executing Test_visual_increment_22()
Executing Test_visual_increment_23()
Executing Test_visual_increment_24()
Executing Test_visual_increment_25()
Executing Test_visual_increment_26()
Executing Test_visual_increment_27()
Executing Test_visual_increment_28()
Executing Test_visual_increment_29()
Executing Test_visual_increment_30()
Executing Test_visual_increment_31()
Executing Test_visual_increment_32()
Executing Test_visual_increment_33()
Executing Test_visual_increment_34()
Executing Test_visual_increment_35()
Executing Test_visual_increment_36()
Executing Test_visual_increment_37()
Executing Test_visual_increment_38()
Executed 41 tests

From test_increment_dbcs.vim:
Executing Test_increment_dbcs_1()
Executed 1 test

From test_job_fails.vim:
Executing Test_job_start_fails()
Executed 1 test

From test_json.vim:
Executing Test_js_decode()
Executing Test_js_encode()
Executing Test_json_decode()
Executing Test_json_encode()
Executed 4 tests

From test_langmap.vim:
Executing Test_langmap()
Executed 1 test

From test_man.vim:
Executing Test_g_ft_man_open_mode()
Executing Test_nomodifiable()
Executed 2 tests

From test_marks.vim:
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()
Executed 2 tests

From test_matchadd_conceal.vim:
Executing Test_clearmatches()
Executing Test_default_conceal_char()
Executing Test_matchadd_and_conceallevel_3()
Executing Test_matchadd_and_syn_conceal()
Executing Test_matchadd_repeat_conceal_with_syntax_off()
Executing Test_simple_matchadd()
Executing Test_simple_matchadd_and_conceal()
Executing Test_syn_and_match_conceal()
Executing Test_using_matchaddpos()
Executed 9 tests

From test_mksession.vim:
Executing Test_mksession()
Executed 1 test

From test_mksession_utf8.vim:
Executing Test_mksession_utf8()
Executed 1 test

From test_nested_function.vim:
Executing Test_max_nesting()
Executing Test_nested_argument()
Executing Test_nested_functions()
Executed 3 tests

From test_netbeans.vim:
Executed 0 test

From test_normal.vim:
Executing Test_normal00_optrans()
Executing Test_normal01_keymodel()
Executing Test_normal02_selectmode()
Executing Test_normal02_selectmode2()
Executing Test_normal03_join()
Executing Test_normal04_filter()
Executing Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()
Executing Test_normal07_internalfmt()
Executing Test_normal08_fold()
Executing Test_normal09_operatorfunc()
Executing Test_normal09a_operatorfunc()
Executing Test_normal10_expand()
Executing Test_normal11_showcmd()
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
Executing Test_normal14_page()
Executing Test_normal14_page_eol()
Executing Test_normal15_z_scroll_vert()
Executing Test_normal16_z_scroll_hor()
Executing Test_normal17_z_scroll_hor2()
Executing Test_normal18_z_fold()
Executing Test_normal19_z_spell()
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
Executing Test_normal22_zet()
Executing Test_normal23_K()
Executing Test_normal24_rot13()
Executing Test_normal25_tag()
Executing Test_normal26_put()
Executing Test_normal27_bracket()
Executing Test_normal28_parenthesis()
Executing Test_normal29_brace()
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()
Executing Test_normal32_g_cmd1()
Executing Test_normal33_g_cmd2()
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
    Skipped
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()
Executing Test_normal40_ctrl_bsl()
Executing Test_normal41_insert_reg()
Executing Test_normal42_halfpage()
Executing Test_normal43_textobject1()
Executing Test_normal44_textobjects2()
Executing Test_normal45_drop()
Executing Test_normal46_ignore()
Executing Test_normal47_autocmd()
    Skipped
Executing Test_normal47_visual_buf_wipe()
Executing Test_normal48_wincmd()
Executing Test_normal49_counts()
Executing Test_normal50_commandline()
Executing Test_normal51_FileChangedRO()
Executing Test_normal52_rl()
Executing Test_normal53_digraph()
Executing Test_normal54_Ctrl_bsl()
Executed 61 tests
SKIPPED Test_normal35_g_cmd4(): output of g< can't be tested currently
SKIPPED Test_normal47_autocmd(): not possible to test cursorhold autocmd while waiting for input in normal_cmd

From test_packadd.vim:
Executing Test_colorscheme()
Executing Test_colorscheme_completion()
Executing Test_helptags()
Executing Test_packadd()
Executing Test_packadd_completion()
Executing Test_packadd_noload()
Executing Test_packloadall()
Executing Test_runtime()
Executed 8 tests

From test_perl.vim:
Executed 0 test

From test_profile.vim:
Executing Test_profile_completion()
Executing Test_profile_errors()
Executing Test_profile_file()
Executing Test_profile_func()
Executed 4 tests

From test_quickfix.vim:
Executing Test_Autocmd()
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Executing Test_browse()
Executing Test_caddbuffer_to_empty()
Executing Test_caddbuffer_wrong()
Executing Test_caddexpr_wrong()
Executing Test_cage()
Executing Test_cbottom()
Executing Test_cbuffer()
Executing Test_cexpr()
Executing Test_cfile()
Executing Test_cgetexpr_works()
Executing Test_clist()
Executing Test_cwindow()
Executing Test_dirstack_cleanup()
Executing Test_duplicate_buf()
Executing Test_efm()
Executing Test_efm1()
Executing Test_efm2()
Executing Test_efm_dirstack()
Executing Test_efm_ignore_continuations()
Executing Test_errortitle()
Executing Test_grep()
Executing Test_helpgrep()
Executing Test_history()
Executing Test_invalid_efm()
Executing Test_locationlist()
Executing Test_locationlist_cross_tab_jump()
Executing Test_locationlist_curwin_was_closed()
Executing Test_long_lines()
Executing Test_nomem()
Executing Test_qf_property()
Executing Test_qf_title()
Executing Test_quickfix_set_list_with_act()
Executing Test_quickfix_was_changed_by_autocmd()
Executing Test_setqflist()
Executing Test_setqflist_empty_middle()
Executing Test_setqflist_empty_older()
Executing Test_switchbuf()
Executing Test_two_windows()
Executing Test_vimgreptitle()
Executed 42 tests

From test_ruby.vim:
Executed 0 test

From test_search.vim:
Executing Test_search_cmdline()
Executing Test_search_cmdline2()
Executing Test_searchpair()
Executing Test_use_sub_pat()
Executed 4 tests

From test_signs.vim:
Executing Test_sign()
Executing Test_sign_completion()
Executing Test_sign_delete_buffer()
Executing Test_sign_invalid_commands()
Executing Test_sign_undefine_still_placed()
Executed 5 tests

From test_smartindent.vim:
Executing Test_nosmartindent()
Executed 1 test

From test_startup.vim:
Executing Test_after_comes_later()
Executing Test_compatible_args()
Executing Test_file_args()
Executing Test_help_arg()
Executing Test_read_stdin()
Executing Test_startup_script()
Executing Test_startuptime()
Executed 7 tests

From test_startup_utf8.vim:
Executing Test_read_fifo_utf8()
Executing Test_read_stdin_utf8()
Executed 2 tests

From test_stat.vim:
Executing Test_checktime()
Executing Test_existent_directory()
Executing Test_existent_file()
Executing Test_nonexistent_file()
Executing Test_win32_symlink_dir()
Executed 5 tests

From test_substitute.vim:
Executing Test_multiline_subst()
Executed 1 test

From test_syntax.vim:
Executing Test_syn_iskeyword()
Executing Test_syntax_after_reload()
Executing Test_syntax_completion()
Executing Test_syntax_list()
Executing Test_syntime()
Executed 5 tests

From test_system.vim:
Executing Test_System()
Executing Test_system_exmode()
Executed 2 tests

From test_textobjects.vim:
Executing Test_inner_block_with_cpo_M_left_backslash()
Executing Test_inner_block_with_cpo_M_right_backslash()
Executing Test_inner_block_without_cpo_M()
Executed 3 tests

From test_undo.vim:
Executing Test_U_command()
Executing Test_global_local_undolevels()
Executing Test_insert_expr()
Executing Test_undo_del_chars()
Executing Test_undo_write()
Executing Test_undofile_earlier()
Executing Test_undojoin()
Executing Test_undolist()
Executing Test_undotree()
Executed 9 tests

From test_usercommands.vim:
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
Executed 3 tests

From test_viminfo.vim:
Executing Test_cmdline_history()
Executing Test_cmdline_history_order()
Executing Test_global_vars()
Executing Test_viminfo_bad_syntax()
Executing Test_viminfo_encoding()
Executing Test_viminfo_file_mark_tabclose()
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
Executing Test_viminfo_jumplist()
Executing Test_viminfo_marks()
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
Executed 13 tests

From test_viml.vim:
Executing Test_arg_abort()
Executing Test_braces_skipped()
Executing Test_curlies()
Executing Test_defining_functions()
Executing Test_echo_and_string()
Executing Test_endwhile_function()
Executing Test_endwhile_script()
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
Executing Test_func_abort()
Executing Test_if_bar_fail()
Executing Test_if_fail()
Executing Test_if_while()
Executing Test_num64()
Executing Test_return()
Executing Test_script_lines()
Executing Test_skip()
Executing Test_type()
Executing Test_while_fail()
Executed 21 tests

From test_visual.vim:
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()
Executed 2 tests

From test_window_id.vim:
Executing Test_win_getid()
Executing Test_win_getid_curtab()
Executed 2 tests

From test_writefile.vim:
Executing Test_WriteFile()
Executed 1 test

From test_alot_latin.vim:
Executing Test_eow_with_optional()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_nested_backrefs()
Executing Test_recursive_substitute()
Executed 5 tests

From test_alot_utf8.vim:
Executing Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()
Executing Test_source_latin()
Executing Test_source_utf8()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executed 9 tests

From test_alot.vim:
Executing Test_BufEnter()
Executing Test_abbreviation()
Executing Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
Executing Test_augroup_warning()
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
Executing Test_autocmd_bufunload_avoiding_SEGV_02()
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
Executing Test_bind_in_python()
Executing Test_break_undo()
Executing Test_bufunload()
Executing Test_cancel_ptjump()
Executing Test_caught_error_in_statusline()
Executing Test_caught_error_in_tabline()
Executing Test_ceil()
Executing Test_closure_counter()
Executing Test_closure_refcount()
Executing Test_closure_unlet()
Executing Test_color_names()
Executing Test_compare_null_dict()
Executing Test_compare_partials()
Executing Test_compl_vim_cmds_after_register_expr()
Executing Test_complete_no_undo()
Executing Test_completefunc_opens_new_window_one()
Executing Test_completefunc_opens_new_window_two()
Executing Test_completefunc_with_scratch_buffer()
Executing Test_completefunc_works()
Executing Test_completion_ctrl_e_without_autowrap()
Executing Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()
Executing Test_cursorhold_insert_ctrl_x()
Executing Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()
Executing Test_cycle_partial_job()
Executing Test_cyclic_dict_arg()
Executing Test_cyclic_list_arg()
Executing Test_delete_myself()
Executing Test_dict()
Executing Test_dictionary()
Executing Test_dir_delete()
Executing Test_early_bar()
Executing Test_empty_buffer()
Executing Test_empty_doau()
Executing Test_equal()
Executing Test_ex_undo()
Executing Test_execute_list()
Executing Test_execute_string()
Executing Test_existing()
Executing Test_exp()
Executing Test_expand()
Executing Test_feedkeys_x_with_empty_string()
Executing Test_file_delete()
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
Executing Test_filetype_valid()
Executing Test_filter()
Executing Test_filter_cmd_completion()
Executing Test_filter_fails()
Executing Test_filter_map_dict_expr_funcref()
Executing Test_filter_map_dict_expr_string()
Executing Test_filter_map_list_expr_funcref()
Executing Test_filter_map_list_expr_string()
Executing Test_floor()
Executing Test_fmod()
Executing Test_fnamemodify()
Executing Test_func_unref()
Executing Test_funcref()
Executing Test_function_in_dict()
Executing Test_function_with_funcref()
Executing Test_gD()
Executing Test_gD_char()
Executing Test_gD_comment()
Executing Test_gD_inline_comment()
Executing Test_gD_string()
Executing Test_gD_string_same_line()
Executing Test_gD_too()
Executing Test_gd()
Executing Test_gd_comment()
Executing Test_gd_comment_in_string()
Executing Test_gd_inline_comment()
Executing Test_gd_inline_comment_body()
Executing Test_gd_inline_comment_only()
Executing Test_gd_kr_style()
Executing Test_gd_missing_braces()
Executing Test_gd_not_local()
Executing Test_gd_string()
Executing Test_gd_string_in_comment()
Executing Test_gd_string_only()
Executing Test_gd_trailing_comment()
Executing Test_gd_trailing_multiline_comment()
Executing Test_get_partial_items()
Executing Test_getreg_empty_list()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
Executing Test_help_tagjump()
Executing Test_if()
Executing Test_info()
Executing Test_invalid()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
Executing Test_lambda_call_lambda_from_lambda()
Executing Test_lambda_capture_by_reference()
Executing Test_lambda_circular_reference()
Executing Test_lambda_closure_counter()
Executing Test_lambda_combination()
Executing Test_lambda_delfunc()
Executing Test_lambda_do_not_share_local_variable()
Executing Test_lambda_fails()
Executing Test_lambda_feature()
Executing Test_lambda_refer_local_variable_from_other_scope()
Executing Test_lambda_scope()
Executing Test_lambda_share_scope()
Executing Test_lambda_side_effect()
Executing Test_lambda_with_a_var()
Executing Test_lambda_with_filter()
Executing Test_lambda_with_map()
Executing Test_lambda_with_partial()
Executing Test_lambda_with_sort()
Executing Test_lambda_with_timer()
Executing Test_load_menu()
Executing Test_log()
Executing Test_log10()
Executing Test_loop_over_null_list()
Executing Test_map_ctrl_c_insert()
Executing Test_map_ctrl_c_visual()
Executing Test_map_cursor()
Executing Test_map_feedkeys()
Executing Test_map_langmap()
Executing Test_map_meta_quotes()
Executing Test_match()
Executing Test_matchaddpos()
Executing Test_matchaddpos_using_negative_priority()
Executing Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
Executing Test_missing_attr()
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()
Executing Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
Executing Test_oneshot()
Executing Test_option_value()
Executing Test_options()
Executing Test_partial_args()
Executing Test_partial_dict()
Executing Test_partial_exists()
Executing Test_partial_implicit()
Executing Test_partial_string()
Executing Test_path_keep_commas()
Executing Test_paused()
Executing Test_popup_complete()
Executing Test_popup_complete2()
Executing Test_popup_completion_insertmode()
Executing Test_pow()
Executing Test_printf_64bit()
Executing Test_printf_errors()
Executing Test_printf_float()
Executing Test_printf_misc()
Executing Test_printf_spec_b()
Executing Test_printf_spec_s()
Executing Test_ptag_with_notagstack()
Executing Test_read_only()
Executing Test_recursive_delete()
Executing Test_redefine_dict_func()
Executing Test_ref_job_partial_dict()
Executing Test_reltime()
Executing Test_repeat_many()
Executing Test_repeat_three()
Executing Test_retain_partial()
Executing Test_round()
Executing Test_script_function_in_dict()
Executing Test_script_function_in_dict_arg()
Executing Test_searchpos()
Executing Test_set_add()
Executing Test_set_backslash()
Executing Test_set_reg_null_list()
Executing Test_set_tagcase()
Executing Test_setmatches()
Executing Test_signcolumn()
Executing Test_sin()
Executing Test_sinh()
Executing Test_sort_default()
Executing Test_sort_float()
Executing Test_sort_nested()
Executing Test_sort_numbers()
Executing Test_sort_numeric()
Executing Test_sort_strings()
Executing Test_special_char()
Executing Test_sqrt()
Executing Test_static_tagjump()
Executing Test_statusline_will_be_disabled_with_error()
Executing Test_stop_all_in_callback()
Executing Test_stop_in_callback()
Executing Test_stopall()
Executing Test_str2float()
Executing Test_str2nr()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executing Test_substitute_expr()
Executing Test_substitute_expr_arg()
Executing Test_symlink_delete()
Executing Test_symlink_dir_delete()
Executing Test_symlink_recursive_delete()
Executing Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()
Executing Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
Executing Test_tabpage()
Executing Test_tabpage_with_autocmd()
Executing Test_tabpage_with_tab_modifier()
Executing Test_tagcase()
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
Executing Test_tostring()
Executing Test_true_false_arg()
Executing Test_trunc()
Executing Test_valid()
Executing Test_version()
Executing Test_vim_did_enter()
Executing Test_whichwrap()
Executing Test_win_tab_autocmd()
Executing Test_window_cmd_cmdwin_with_vsp()
Executing Test_window_cmd_ls0_with_split()
Executing Test_window_cmd_wincmd_gf()
Executing Test_with_directories()
Executing Test_with_partial_callback()
Executing Test_with_tilde()
Executing Test_wrong_arguments()
Executed 245 tests

Test results:
ALL DONE
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic/testdir'
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json_test.o json_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ops.o ops.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o json_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o           objects/netbeans.o objects/channel.o  objects/memfile.o objects/message.o objects/json_test.o        -lm -ltinfo -lnsl  -lselinux -lacl -lattr -lgpm -ldl           
link.sh: Linked fine
./json_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile_test.o memfile_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o memfile_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o           objects/netbeans.o objects/channel.o  objects/json.o objects/message.o objects/memfile_test.o        -lm -ltinfo -lnsl  -lselinux -lacl -lattr -lgpm -ldl           
link.sh: Linked fine
./memfile_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message_test.o message_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE   -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/option.o option.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o message_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o           objects/netbeans.o objects/channel.o  objects/json.o objects/memfile.o objects/message_test.o        -lm -ltinfo -lnsl  -lselinux -lacl -lattr -lgpm -ldl           
link.sh: Linked fine
./message_test || exit 1; echo  passed;
passed
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic'
touch build-stamp-vim-basic
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/os_unix.o os_unix.c
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk'
/usr/bin/make -f Makefile vim
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk'
make[2]: 'vim' is up to date.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk'
if test -n "yes" -a -f po/Makefile; then \
	cd po; /usr/bin/make -f Makefile check VIM=../vim; \
fi
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk/po'
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq af.po
touch af.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ca.po
dh_testdir
touch ca.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.po
dh_prep -p vim-nox
*** DEBIAN *** BUILDING VARIANT vim-nox
/usr/bin/make -C src/vim-nox
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox'
mkdir -p objects
touch objects/.dirstamp
CC="gcc -Iproto -DHAVE_CONFIG_H   -Wdate-time    " srcdir=. sh ./osdef.sh
creating auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/popupmnu.o popupmnu.c
touch cs.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq de.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pathdef.o auto/pathdef.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/quickfix.o quickfix.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perl.o auto/if_perl.c
touch de.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.po
touch en_GB.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq eo.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
touch eo.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq es.po
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o vim objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_athena.o objects/gui_x11.o objects/pty.o objects/gui_beval.o objects/gui_at_sb.o objects/gui_at_fs.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/main.o objects/memfile.o objects/message.o -lXaw -lXmu -lXext -lXt -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -ldl  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/regexp.o regexp.c
link.sh: Linked fine
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena'
# Ensure ERM is set to a sane value for testing
[ yes != "yes" ] || flock debian env TERM=xterm /usr/bin/make -j1 -C src/vim-athena test
touch es.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fi.po
touch fi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fr.po
touch fr.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ga.po
touch ga.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq it.po
touch it.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.po
touch ja.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.po
touch ko.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.UTF-8.po
touch ko.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nb.po
touch nb.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nl.po
touch nl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq no.po
touch no.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/screen.o screen.c
touch pl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pt_BR.po
touch pt_BR.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.po
touch ru.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.po
touch sk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sv.po
touch sv.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.po
touch uk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq vi.po
touch vi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.UTF-8.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/search.o search.c
touch zh_CN.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.po
touch zh_CN.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.UTF-8.po
touch zh_TW.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/sha256.o sha256.c
touch zh_TW.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.cp1250.po
touch cs.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.sjis.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spell.o spell.c
touch ja.sjis.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.euc-jp.po
touch ja.euc-jp.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.cp1250.po
touch pl.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.UTF-8.po
touch pl.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.cp1251.po
touch ru.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.cp1250.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/spellfile.o spellfile.c
touch sk.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.cp1251.po
touch uk.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.cp936.po
touch zh_CN.cp936.ck
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk/po'
if test vim != vim -a ! -r vim; then \
	ln -s vim vim; \
fi
cd testdir; /usr/bin/make -f Makefile gui VIMPROG=../vim  SCRIPTSOURCE=../../runtime
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk/testdir'
rm -f test.log messages
rm -rf test1.failed test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out wrongtermsize
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test1.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test1.in" 57 lines, 2069 charactersFirst a simple test to check if the test script works.



If Vim was not compiled with the +eval feature, the small.vim script will be

set to copy the test.ok file to test.out, so that it looks like the test

succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by

tests that require the +eval feature or other features that are missing in the

small version.



If Vim was not compiled with the +windows feature, the tiny.vim script will be

set like small.vim above.  tiny.vim is sourced by tests that require the

+windows feature or other features that are missing in the tiny version.



If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will

be set like small.vim above.  mbyte.vim is sourced by tests that require the

+multi_byte feature.

Similar logic is applied to the +mzscheme feature, using mzscheme.vim.

Similar logic is applied to the +lua feature, using lua.vim.



STARTTEST

:" If columns or lines are too small, create wrongtermsize.

:" (Some tests will fail. When columns and/or lines are small)

:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 1133 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST:w! mzscheme.vim

:w! lua.vim

:"

:" If +multi_byte feature supported, make mbyte.vim empty.

:if has("multi_byte") | sp another | w! mbyte.vim | q | endif

:"

:" If +mzscheme feature supported, make mzscheme.vim empty.

:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif

:"

:" If +lua feature supported, make lua.vim empty.

:if has("lua") | sp another | w! lua.vim | q | endif

:"

:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.

:" Otherwise write small.vim to skip the test.

:if 1 | q! | endif

:w! small.vim

:" If +windows feature not supported :sp will fail and tiny.vim will be

:" written to skip the test.

:sp another

:wq! tiny.vim

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[?12l[?25h[?25l:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[?12l[?25h[?25l:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lthis is a test[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 15 characters written[?12l[?25h[?25l:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[?12l[?25h
[?25l[?12l[?25h[?25l:[?12l[?25hw! small.vim
[?25l"small.vim" [New File] 1 line, 1 character written[?12l[?25h[?25l:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [New File] 1 line, 1 character written[?12l[?25h[?25le! test.ok

w! test.outqa![?12l[?25h[?25l:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! lua.vim
[?25l"lua.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File]

"mbyte.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File]

"lua.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[?12l[?25h[?25l:[?12l[?25hif 1 | q! | endif
[?25l[?1l>[?12l[?25h[?1049lrm -rf X* viminfo
rm -rf test3.failed test.ok test.out X* viminfo
cp test3.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test3.in" 2342 lines, 23089 characters/* vim: set cin ts=4 sw=4 : */



Test for 'cindent'



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo modeline

:edit" read modeline

/start of AUTO

=/end of AUTO

ENDTEST



/* start of AUTO matically checked vim: set ts=4 : */

{if (test)cmd1;cmd2;

}



{if (test)cmd1;else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l/* vim: set cin ts=4 sw=4 : */[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[?12l[?25h[?25l:[?12l[?25hedit                " read modeline
[?25l"test3.in"2342L, 23089Cif (test)cmd1;cmd2;if (test)cmd1;else[?12l[?25h[?25l/[?12l[?25hstart of AUTO
[?25l[?12l[?25h[?25l/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent... 
957 lines indented [?12l[?25h[?25l/^STARTTEST
}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 93C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h[?25l/[?12l[?25hserious/e
[?25l[?12l[?25h[?25l





-- INSERT --

about life, the

 * universe, and the

 * rest important big[?12l[?25h[?25l

* comment[?12l[?25h[?25l

/^STARTTEST
*/

    /* insert " about life, the universe, and the rest" after "serious" */

}



STARTTEST[?12l[?25h[?25l

:set nocin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6L, 78C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comments

joabout life^[/happens

jothere^[/below

oline^[/this

Ohello^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocin
[?25l[?12l[?25h[?25l/[?12l[?25hcomments
[?25l{

    /** Testing for comments, without 'cin' set[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

about life[?12l[?25h[?25l

/[?12l[?25hhappens
[?25l/*

* what happens here?[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

there[?12l[?25h[?25l

/[?12l[?25hbelow
[?25l/*the end of the comment, try inserting a line below */[?12l[?25h[?25l

-- INSERT --

line[?12l[?25h[?25l

/[?12l[?25hthis
[?25l/* how aboutthis one */[?12l[?25h[?25l

-- INSERT --hello[?12l[?25h[?25l

this one */[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 18C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/vec2

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l/[?12l[?25hvec2
[?25l{

    var = this + that + vec[0] * vec[0]+ vec[1] * vec[1]+ vec2[2] * vec[2];[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5L, 51C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=}4

/testing1

k2==/testing2

k2==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=}4
[?25l[?12l[?25h[?25l/[?12l[?25htesting1
[?25l{asdf asdflkajds f;

    if (tes & ting) {asdf asdf asdf ;asdfa sdf asdf;}

    testing1;[?12l[?25h [?25l



/[?12l[?25htesting2
[?25lif (tes & ting)

    {asdf asdf asdf ;asdfa sdf asdf;}

    testing2;[?12l[?25h [?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=(0,)20

/main

=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=(0,)20
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25lmain ( int first_par, /*[?12l[?25h[?25l

19 lines to indent...
20indented [?12l[?25h[?25l

* Comment for[?12l[?25h[?25l

/^STARTTEST
* Comment for* first par*/second_par /** Comment for* second par*/);



}



STARTTEST

:set cin

:set cino=es,n0s

/main

=][

ENDTEST



main(void)

{

    /* Make sure that cino=X0s is not parsed like cino=Xs. */

    if (cond)foo();[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=es,n0s
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25l[?12l[?25h[?25l8 lines to indent...
9indented [?12l[?25h

[?25l/^STARTTEST
else

    {bar();

    }

}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l{[?12l[?25h[?25l

11 lines to indent...
12indented [?12l[?25h[?25l

do[?12l[?25h[?25l

/^STARTTEST
if (){if ()asdf;elseasdf;}

    } while ();

    cmd;/* this should go under the } */

}



STARTTEST

]]=][

ENDTEST



void f()

{

    if ( k() ) {l();} else { /* Start (two words) end */m();

    }[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1L, 6C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h





[?25l8 lines to indent...
9indented [?12l[?25h

   [?25l/^STARTTEST
n();

}



STARTTEST[?12l[?25h[?25l

:set cino={s,e-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,e-s
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

7 lines to indent...
8indented     {[?12l[?25h[?25l

if ( k() )[?12l[?25h[?25l

/^STARTTEST
{l();} else { /* Start (two words) end */m();}

    n();    /* should be under the if () */

}



STARTTEST[?12l[?25h[?25l

:set cino={s,fs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=/ foo[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,fs
[?25l[?12l[?25h[?25lvoid bar(void)

{[?12l[?25h[?25l

/[?12l[?25h foo
[?25l30 lines to indent...
31indented     {[?12l[?25h[?25l/^STARTTEST
void func(void)

    {

    a = 1;{b = 2;}

    c = 3;

    d = 4;

    }

/* foo */



STARTTEST

:set cino=

/while

ohere^[

ENDTEST



a()

{

  do {

    a = a +a;

  } while ( a );/* add text under this line */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l/[?12l[?25hwhile
[?25l[?12l[?25h[?25l

-- INSERT --

here[?12l[?25h[?25l

if ( a )
    i[?12l[?25h[?25l

/^STARTTEST
a;

}



STARTTEST[?12l[?25h[?25l

:set cino= com=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 109C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comment

olabel2: b();^Mlabel3 /* post */:^M/* pre */ label4:^Mf(/*com*/);^Mif (/*com*/)^^Mcmd();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino= com=
[?25l[?12l[?25h[?25l/[?12l[?25hcomment
[?25la()

{

label1:/* hmm */// comment[?12l[?25h[?25l

-- INSERT --label2: b();

label3 /* post */:

/* pre */ label4:f(/*com*/);if (/*com*/)cmd();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 53C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/simple

=5j[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[?12l[?25h[?25l/[?12l[?25hsimple
[?25l/*

  * A simple comment[?12l[?25h[?25l

5 lines to indent...
6indented * A simple comment[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
/*

** A different comment

*/



STARTTEST[?12l[?25h[?25l

:set cino=c0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 70C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=c0,C1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 73C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0,C1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********

    A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 17C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,U1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,U1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,w1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,w1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3) && c4;

    if (c1 && c2)foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,m1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/syntax.o syntax.c
2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,m1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3

    ) && c4;

    if (c1 && c2

    )foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=b1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=b1
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

9 lines to indent...
10 lines indented [?12l[?25h[?25l

switch (x)[?12l[?25h[?25l

/^STARTTEST
{case 1:a = b;break;default:a = 0;break;

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W5
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W5
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

10 lines to indent...
11indented [?12l[?25h[?25l

invokeme([?12l[?25h[?25l

/^STARTTEST
argu,ment);

    invokeme(argu,ment);

    invokeme(argu,ment);

}



STARTTEST[?12l[?25h[?25l

:set cino=/6
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=/6
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

3 lines to indent...
4indented [?12l[?25h[?25l

statement;[?12l[?25h[?25l

/^STARTTEST
// comment 1// comment 2

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 34C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-12kdd]]/comment 1/+1

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l==ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

/[?12l[?25hcomment 1/+1
[?25lstatement;// comment 1

    // comment 2[?12l[?25h[?25l    // comment 2[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino=g0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=g0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass CAbc

{[?12l[?25h[?25l

6 lines to indent...
7indented [?12l[?25h[?25l

int Test() { return FALSE; }[?12l[?25h[?25l

/^STARTTEST
public: // comment

    void testfall();

protected:

    void testfall();

};



STARTTEST[?12l[?25h[?25l

:set cino=(0,gs,hs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 29C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,gs,hs
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass Foo : public Bar

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

public:[?12l[?25h[?25l

/^STARTTEST
virtual void method1(void) = 0;virtual void method2(int arg1,int arg2,int arg3) = 0;

};



STARTTEST[?12l[?25h[?25l

:set cino=+20
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 24C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=+20
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid

foo()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (a)[?12l[?25h[?25l

/^STARTTEST
{

    } elseasdf;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W2s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W2s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25l

{[?12l[?25h[?25l

34 lines to indent...
35indented [?12l[?25h[?25l

averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([?12l[?25h[?25l

/^STARTTEST
dec)->asdfasdfasdf(asdfadsf,asdfasdf,asdfasdf,),func(asdfadf,asdfasdf),asdasdf);

}



STARTTEST

:set cino=M1

2kdd]]=][

ENDTEST



int main ()

{

    if (cond1 &&cond2)foo;

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=M1
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l4 lines to indent...
5indented [?12l[?25h

   [?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set cino=(0,ts
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,ts
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

7 lines to indent...
8indented [?12l[?25h[?25l

void func(int a[?12l[?25h[?25l

/^STARTTEST
#if defined(FOO), int b, int c

#endif)

{

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void[?12l[?25h[?25l

/^STARTTEST
func(int a

#if defined(FOO), int b, int c

#endif

    )

{

}



STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 22C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=7][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=7][

ENDTEST[?12l[?25h



[?25l

69 lines to indent...
50
7indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
int a,int b)

{

}void

func6(int a)

{

}



STARTTEST

:set cino&

:set cino+=l1

2kdd2j=][

ENDTEST



void func(void)

{

    int tab[] =

    {1, 2, 3,4, 5, 6};[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l:[?12l[?25hset cino+=l1
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l22 lines to indent...
23indented [?12l[?25h

[?25l/^STARTTEST
break;case baz: {printf("baz");break;}case quux:printf("But don't break the indentation of this instruction\n");break;

    }

}



STARTTEST

:set cino&

2kdd2j=][

ENDTEST



void func(void)

{

    cout << "a"

    << "b"

    << ") :"

    << "c";

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l6 lines to indent...
7indented     << "b"

        << ") :"

        << "c";[?12l[?25h

[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]3jofoo();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[?12l[?25h[?25lvoid func(void)

{[?12l[?25h[?25l/** This is a comment.*/[?12l[?25h[?25l

-- INSERT --

foo();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
{

    for (int i = 0; i < 10; ++i)if (i & 1) {foo(1);} elsefoo(0);

    baz();

}



STARTTEST[?12l[?25h[?25l

:set cino=k2s,(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd3j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0
[?25l[?12l[?25h[?25l2kdd3j=][ENDTEST[?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

23 lines to indent...
24indented [?12l[?25h[?25l

{[?12l[?25h[?25l

/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func( c1&& (     c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l23 lines to indent...
24indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s,U1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s,U1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l24 lines to indent...
25indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (c22345|| c3))printf("foo\n");c = c1 &&(c2 ||c3) && c4;

}



STARTTEST

:set cino=k2s,(0,W4

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,W4
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l29 lines to indent...
30indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (   c2|| c3))foo;a_long_line(argument,argument);

    a_short_line(argument,argument);

}



STARTTEST

:set cino=k2s,u2

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,u2
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l18 lines to indent...
19indented         && condition2)

        action();        && argument2);[?12l[?25h

[?25l/^STARTTEST
foo;

    if (c1 &&(c2 || c3))

    {

    }

    if (c123456789&& (c22345|| c3))printf("foo\n");

}



STARTTEST

:set cino=k2s,(0,w1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,w1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l27 lines to indent...
28indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1&& condition2)action();

    function(argument1&& argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l14 lines to indent...
15indented [?12l[?25h

[?25l/^STARTTEST
if (c1 && (c2 ||c3))foo;

    if (c1 &&(c2 || c3))

    {

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=N-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 47C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^NAMESPACESTART

=/^NAMESPACEEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=N-s
[?25l[?12l[?25h[?25l/[?12l[?25h^NAMESPACESTART
[?25lNAMESPACESTART[?12l[?25h[?25l

/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82indented [?12l[?25h[?25l/^STARTTEST
namespace test test2

{

    1111111111111111111;

}

namespace111111111

{

    111111111111111111;

}

NAMESPACEEND





STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

var bar = {

foo: {

that: this,

some: ok,

},[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l12 lines to indent...
13indented     foo: {

        that: this,

        some: ok,

    },[?12l[?25h[?25l/^STARTTEST
"bar":{a : 2,b: "123abc",x: 4,"y": 5

    }

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l5 lines to indent...
6indented [?12l[?25h[?25l/^STARTTEST
var foo = [

    1,

    2,

    3

];

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l7 lines to indent...
8indented [?12l[?25h[?25l/^STARTTEST
function bar() {

    var foo = [1,2,3

    ];

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l58 lines to indent...
509indented [?12l[?25h[?25l/^STARTTEST
return false;}_arguments[0]=options;method.apply(this,_arguments);}});

    }



})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

function init(options) {

$(this).data(class_name+'_public',$.extend({},{

foo: 'bar',

bar: 2,

foobar: [[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l14 lines to indent...
15indented     $(this).data(class_name+'_public',$.extend({},{

        foo: 'bar',

        bar: 2,

        foobar: [[?12l[?25h[?25l/^STARTTEST
1,2,3],callback: function(){return true;}

    }, options||{}));

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l16 lines to indent...
17indented [?12l[?25h[?25l/^STARTTEST
2,3],callback: function(){return true;}}, options||{}));

    }

})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1,+2

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

// Results of JavaScript indent

// 1

(function(){

var a = [

'a',[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1,+2
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent... 
150 lines indented     var a = [

      'a',[?12l[?25h[?25l/^STARTTEST
var a,

    b,

    c,

    d,

    e,

    f,

    g,

    h,

    i;

JSEND



STARTTEST

:set cin cino&

/start of define

=/end of define

ENDTEST



/* start of define */

{

}

#define AAA \

BBB\

CCC[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 48C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin cino&
[?25l[?12l[?25h[?25l/[?12l[?25hstart of define
[?25l[?12l[?25h[?25l/[?12l[?25hend of define
[?25l11 lines to indent...
12indented     BBB\

    CCC[?12l[?25h[?25l/^STARTTEST
#define CNT \

    1 + \

    2 + \

    4

/* end of define */



STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 61C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines    c,

    d,

    e,    f,    g,    h,    i;JSEND/* start of define */

{}#define AAA \

    BBB\

    CCC#define CNT \

    1 + \

    2 + \4

/* end of define */[?12l[?25h[?25l:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [New] 2096L, 20188C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test3 = test61; then \
#	  if diff test.out test3.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test3.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test4.failed test.ok test.out X* viminfo
cp test4.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test4.in" 34 lines, 960 charactersTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew

/start of

:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx" split to Xxx, autocmd will do :brew

G?this is a

othis should be auto-indented^[

:" Append text with autoindent to this file

:au! BufEnter Xxx

:buf Xxx" go to Xxx, no autocmd anymore

G?this is a

othis should be in column 1^[:wq " append text without autoindent to Xxx

G:r Xxx" include Xxx in the current file

:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is sset

Go# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes current buffer on BufEnter event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 20 lines, 678 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:?startstart?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter Xxx brew
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25lstartstart

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx   " write test file Xxx
[?25l"Xxx" [New] 7L, 124C written[?12l[?25h[?25l:[?12l[?25hset ai modeline modelines=3
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xxx             " split to Xxx, autocmd will do :brew
[?25l"Xxx" 7L, 124CTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.STARTTESTo small.vim:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew/start of.,/end of/w!" write test file Xxx

:set ai modeline modelines=3:sp Xxx    " split to Xxx, autocmd will do :brew

test4.in                                                                        :set fo+=rssue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.outqa!ENDTESTstartstart of test file Xxx

test4.in                                                                        test4.in" line 1 of 34 --2%-- col 1[?12l[?25h[?25l:qa!ENDTESTstartstart

start of test file Xxx

vim: set noai :        this is a test

        this is a test

        this is a test        this is a testend of test file Xxx[?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --        this should be auto-indented[+][+][?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l:[?12l[?25h                   " Append text with autoindent to this file
[?25l[?12l[?25h[?25l:[?12l[?25hau! BufEnter Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hbuf Xxx            " go to Xxx, no autocmd anymore
[?25l"Xxx" 7L, 124Cstart of test file Xxx

vim: set noai :

        this is a test

        this is a test

        this is a test



end of test file Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxxt          [?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --this should be in column 1[+][?12l[?25h[?25l:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx8L, 151C written:au BufEnter Xxx brew/start of:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx             " split to Xxx, autocmd will do :brew

G?this is aothis should be auto-indented^[

:                   " Append text with autoindent to this file

:au! BufEnter Xxx:buf Xxx            " go to Xxx, no autocmd anymoreG?this is aothis should be in column 1^[:wq " append text without autoindent to XxxG:r Xxx   nclude Xxx in the current file:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.out

:qa!ENDTESTstarstart of test file Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a testthis should be auto-indented

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25hr Xxx             " include Xxx in the current file
[?25l"Xxx" 8L, 151C

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25hset fo+=r          " issue #57 do not move cursor on <c-o> when autoindent is 


set
[?25l:au! BufEnter Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

this should be in column 1

end of test file Xxx
[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --

# def[?12l[?25h[?25lINSERTt --defo[?12l[?25hd[?25l[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --[?12l[?25h[?25l

-- INSERTt --def:[?12l[?25hd[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [New] 20L, 330C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test4 = test61; then \
#	  if diff test.out test4.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test4.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test5.failed test.ok test.out X* viminfo
cp test5.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test5.in" 29 lines, 949 charactersTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.



STARTTEST

:so small.vim

:au BufLeave Xxx bwipe

/start of

:.,/end of/w! Xxx" write test file Xxx

:sp Xxx" split to Xxx

:bwipe" delete buffer Xxx, now we're back here

G?this is a

othis is some more text^[

:" Append some text to this file

:?start?,$w! test.out" Write current file contents

:bwipe test.out" delete alternate buffer

:au bufleave test5.in bwipe

:bwipe!" delete current buffer, get an empty one

ithis is another test line^[:w >>test.out

:" append an extra line to the output file

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that deletes the current buffer on BufLeave event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 664 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave Xxx bwipe
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25l[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx               " write test file Xxx
[?25l"Xxx" [New File] 7 lines, 124 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx                         " split to Xxx
[?25l"Xxx" 7 lines, 124 charactersstart of test file Xxxvim: set noai :this is a test

        this is a test

        this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx                                                                             ?start?,$w! test.outWrite current file contentsbwipe test.out      delete alternate bufferau bufleave test5.in bwipebwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out:                               " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx

test5.in                                                                        [?12l[?25h[?25l:[?12l[?25hbwipe                          " delete buffer Xxx, now we're back here
[?25lTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.STARTTEST:so small.vim:au BufLeave Xxx bwipe

/start of:.,/end of/w! Xxx               " write test file Xxx:sp Xxx                         " split to Xxx:bwipe                          " delete buffer Xxx, now we're back hereG?this is aothis is some more text^[                    Append some text to this file

:?start?,$w! test.outWrite current file contents

:bwipe test.out                 " delete alternate buffer

:au bufleave test5.in bwipe:bwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out   " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx"test5.in" line 23 of 29 --79%-- col 1[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

end of test file Xxx[?12l[?25h[?25l

?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l

this is some more text[?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25h                               " Append some text to this file
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out           " Write current file contents
[?25l"test.out" [New File] 8 lines, 147 characters written[?12l[?25h[?25l:[?12l[?25hbwipe test.out                 " delete alternate buffer
[?25l[?12l[?25h[?25l:[?12l[?25hau bufleave test5.in bwipe
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!                         " delete current buffer, get an empty one
[?25lError detected while processing BufLeave Auto commands for "test5.in":

E89: No write since last change for buffer 1 (add ! to override)


Press ENTER or type command to continue[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lthis is another test line[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 26 characters appended[?12l[?25h[?25l:[?12l[?25h                               " append an extra line to the output file
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test5 = test61; then \
#	  if diff test.out test5.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test5.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test7.failed test.ok test.out X* viminfo
cp test7.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test7.in" 26 lines, 675 charactersTest for autocommand that changes the buffer list, when doing ":ball".



STARTTEST

:so small.vim

/^start of

A1^[:.,/end of/w! Xxx1   " write test file Xxx1

:sp Xxx1

:close

$r2:.,/end of/w! Xxx2    " write test file Xxx2

:sp Xxx2

:close

$r3:.,/end of/w! Xxx3    " write test file Xxx3

:sp Xxx3

:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes the buffer list, when doing ":ball".[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 508 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx1   " write test file Xxx1
[?25l"Xxx1" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx1
[?25l"Xxx1" 4 lines, 77 charactersstart of test file Xxx1this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2    " write test file Xxx2
[?25l"Xxx2" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx2
[?25l"Xxx2" 4 lines, 77 charactersstart of test file Xxx2this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx2                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx3    " write test file Xxx3
[?25l"Xxx3" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx3
[?25l"Xxx3" 4 lines, 77 charactersstart of test file Xxx3this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx3                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3[?12l[?25h[?25l:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[?12l[?25h[?25l4[?12l[?25h[?25l:[?12l[?25hball                 " open window for all args, close Xxx2
[?25l"Xxx1"4 lines, 77 characters


"Xxx2" 4 lines, 77 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h.,$w! test.out          " Write contents of this file
[?25l"test.out" [New File] 4 lines, 77 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx4

test7.in [+]                                                                    start of test file Xxx1this is a testthis is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            [?12l[?25h

test7.in [+]                                                                     Xxx1                                                                            [?25l:[?12l[?25hw >>test.out        " Append contents of second window (Xxx1)
[?25l"test.out" 4 lines, 77 characters appended[?12l[?25htest7.in [+]                                                                    Xxx1                                                                             [?25l:[?12l[?25h/^start of/,$w >>test.out   " Append contents of last window (this file)
[?25lsearch hit BOTTOM, continuing at TOP"test.out" 4 lines, 77 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test7 = test61; then \
#	  if diff test.out test7.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test7.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test8.failed test.ok test.out X* viminfo
cp test8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test8.in" 46 lines, 1236 charactersTest for BufWritePre autocommand that deletes or unloads the buffer.

Test for BufUnload autocommand that unloads all other buffers.



STARTTEST

:so small.vim

:au BufWritePre Xxx1 bunload

:au BufWritePre Xxx2 bwipe

/^start of

A1^[:.,/end of/w! Xxx1  " write test file Xxx1

$r2:.,/end of/w! Xxx2   " write test file Xxx2

:e! Xxx2" edit Xxx2

:bdel test8.in" delete this file from the buffer list

:e Xxx1" edit Xxx1

:w" write it, will unload it and give an error msg

:w! test.out" Write contents of this file

:e! Xxx2" start editing Xxx2

:bwipe test.out" remove test.out from the buffer list

:w" write it, will delete the buffer and give an error msg:w >>test.out" Append contents of this file

:au! BufWritePre

:func CloseAll()

  let i = 0

  while i <= bufnr('$')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for BufWritePre autocommand that deletes or unloads the buffer.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1054 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTif i != bufnr('%') && bufloaded(i)exe  i . "bunload"

    endif

    let i += 1

  endwhile

endfunc

:func WriteToOut()

  edit! test.out

  $put ='VimLeave done'

  write

endfunc

:set viminfo='100,nviminfo

:au BufUnload * call CloseAll()

:au VimLeave * call WriteToOut()

:e small.vim

:sp mbyte.vim

:q

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l

start of Xxx[?12l[?25h[?25l1[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx1  " write test file Xxx1
[?25l"Xxx1" [New File] 3 lines, 31 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2   " write test file Xxx2
[?25l"Xxx2" [New File] 3 lines, 31 characters written[?12l[?25h[?25l:[?12l[?25he! Xxx2                " edit Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2

        testend of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbdel test8.in^I^I" delete this file from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25he Xxx1                 " edit Xxx1
[?25l"Xxx1" 3 lines, 31 characters1
[?12l[?25h[?25l:[?12l[?25hw                      " write it, will unload it and give an error msg
[?25l"Xxx2"3 lines, 31 characters


E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out            " Write contents of this file
[?25l"test.out" [New File] 3 lines, 31 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! Xxx2                " start editing Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2test

end of Xxx"Xxx2" 3 lines, 31 characters[?12l[?25h[?25l:[?12l[?25hbwipe test.out         " remove test.out from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25hw                      " write it, will delete the buffer and give an error ms


g[?25l"Xxx1"3 lines, 31 characters

E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out           " Append contents of this file
[?25l"test.out" 3 lines, 31 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! BufWritePre
[?25lstart of Xxx1test

end of Xxx[?12l[?25h[?25l:[?12l[?25hfunc CloseAll()
[?25l

:  [?12l[?25h  let i = 0


[?25l:  [?12l[?25h  while i <= bufnr('$')


[?25l:    [?12l[?25h    if i != bufnr('%') && bufloaded(i)


[?25l:      [?12l[?25h      exe  i . "bunload"


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let i += 1


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfunc WriteToOut()
[?25l

:  [?12l[?25h  edit! test.out


[?25l:  [?12l[?25h  $put ='VimLeave done'


[?25l:  [?12l[?25h  write


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               [?12l[?25h[?25l:[?12l[?25hset viminfo='100,nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufUnload * call CloseAll()
[?25l[?12l[?25h[?25l:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[?12l[?25h[?25l:[?12l[?25he small.vim
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"small.vim" 1 line, 1 character


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" 0 lines, 0 characters~                                                                               ~                                                                               ~                                                                               mbyte.vim                                                                       small.vim                                                                       "mbyte.vim" 0 lines, 0 characters[?12l[?25h[?25l:[?12l[?25hq
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"test.out" 6 lines, 62 characters


"test.out" 7 lines, 76 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test8 = test61; then \
#	  if diff test.out test8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test9.failed test.ok test.out X* viminfo
cp test9.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test9.in" 12 lines, 255 charactersTest for Bufleave autocommand that deletes the buffer we are about to edit.



STARTTEST

:so small.vim

:au BufLeave test9.in bwipe yy

:e yy

:/^start of/,$w! test.out      " Write contents of this file

:qa!

ENDTEST



start of test file xx

end of test file xx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Bufleave autocommand that deletes the buffer we are about to edit.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 117 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[?12l[?25h[?25l:[?12l[?25he yy
[?25lE143: Autocommands unexpectedly deleted new buffer yy[?12l[?25h[?25l:[?12l[?25h/^start of/,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 2 lines, 42 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test9 = test61; then \
#	  if diff test.out test9.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test9.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test14.failed test.ok test.out X* viminfo
cp test14.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test14.in" 99 lines, 1606 charactersTests for "vaBiB", end could be wrong.

Also test ":s/pat/sub/" with different ~s in sub.

Also test for ^Vxff and ^Vo123 in Insert mode.

Also test "[m", "]m", "[M" and "]M"

Also test search()



STARTTEST

:so small.vim

/Start cursor here

vaBiBD:?Bug?,/Piece/-2w! test.out

/^- Bug

:s/u/~u~/

:s/i/~u~/

:s/o/~~~/

:.w >>test.out

:if has("ebcdic")

: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"

:else

: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"

:endif

:exe "normal " . tt

:unlet tt

:.w >>test.out[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "vaBiB", end could be wrong.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 56 lines, 1141 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute

Y:$put =@0

/bar /e

:$put =@0

-:keeppatterns /xyz

0dn:/^search()/,$w >>test.out

:qa!

ENDTEST



- Bug in "vPPPP" on this text (Webb):{cmd;{cmd;    /* <-- Start cursor here */{}}}[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25hStart cursor here
[?25l[?12l[?25h[?25l[?12l[?25h[?25l{ 

                        cmd;    /* <-- Start cursor here */ 

                        { 

                        } 

                [?12l[?25h[?25l                cmd; 

                }[?12l[?25h[?25l





6 fewer lines        }Piece of Java{        tt m1 {                t1;e1[?12l[?25h[?25l:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [New File] 3 lines, 44 characters written[?12l[?25h[?25l/[?12l[?25h^- Bug
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/u/~u~/
[?25l[?12l[?25h[?25l:[?12l[?25hs/i/~u~/
[?25luuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l:[?12l[?25hs/o/~~~/
[?25luuuuuuuuun this text (Webb):
[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 48 characters appended[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>


"

[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"


[?25l:  [?12l[?25h:endif
[?25l:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute[?12l[?25h[?25l:[?12l[?25hexe "normal " . tt
[?25lABC !a^Og^G8[?12l[?25h[?25l:[?12l[?25hunlet tt
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset vb
[?25l[?12l[?25h[?25l/[?12l[?25h^Piece
[?25l[?12l[?25h[?25l{A[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25ltt m2 {[?12l[?25h[?25l{B[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25lt2;} e2tt m3 {[?12l[?25h[?25l{C[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25l{DC[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{EA[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{F[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}G e1[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h

[?25lif (x){t3;}} e3[?12l[?25h[?25l}H e3[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l

}[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}JH e3[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 8 characters appended[?12l[?25h[?25l}K e2[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l{LF[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^foobar
[?25lfoobar[?12l[?25h[?25l

:[?12l[?25hlet startline = line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('foobar', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25hcall search('^$', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('^$', 'bc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l/[?12l[?25htwo
[?25lsubstitute foo asdf



one two[?12l[?25h[?25l

:[?12l[?25hcall search('.', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/foo/bar/
[?25lbar
[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25lsearch()

0

1

1

two

foo[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25lxyz[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25l

^substitute[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l

/[?12l[?25hbar /e
[?25l[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l



:[?12l[?25hkeeppatterns /xyz
[?25l[?12l[?25h[?25l

/bar /exyz[?12l[?25h[?25l:[?12l[?25h/^search()/,$w >>test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 9 lines, 58 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test14 = test61; then \
#	  if diff test.out test14.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test14.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test15.failed test.ok test.out X* viminfo
cp test15.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test15.in" 136 lines, 2246 charactersTests for :right on text with embedded TAB.

Also test formatting a paragraph.

Also test undo after ":%s" and formatting.



STARTTEST

:so small.vim

:set tw=65



:/^\s*test for :left/,/^\s*test for :center/ left

:/^\s*test for :center/,/^\s*test for :right/ center

:/^\s*test for :right/,/^xxx/-1 right

:set fo+=tcroql tw=72

/xxxxxxxx$

0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :right on text with embedded TAB.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 401 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=65
[?25l[?12l[?25h[?25l

test for :left[?12l[?25h[?25l

:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25lsearch hit BOTTOM, continuing at TOPtest for :left[?12l[?25h[?25l:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[?12l[?25h[?25l:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[?12l[?25h[?25l:[?12l[?25hset fo+=tcroql tw=72
[?25l[?12l[?25h[?25l/[?12l[?25hxxxxxxxx$
[?25lasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx

xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx

xx xxxxxxx. xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx

> xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h
[?25l

 xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xxxx xxxxxxx.

xxxx xxxx.xxxxxxx: xxxx xxxxxxx, xx xxxx xxxxxxx~                                                                               [?12l[?25h

[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[?12l[?25h[?25l1 more line; before #1  0 seconds ago0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTESTtest for :leftaafaadfaasdfaaasdfaaxasdfaa

asxxdfaatest for :centeraafaafd asdf[?12l[?25h[?25l1 line less; after #1  0 seconds agotest for :lefta      afa    adfa      asdfaaasdfa           axasdfaa                test for :center  aa  fa        afd asdf[?12l[?25h

[?25l:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[?12l[?25h[?25l/[?12l[?25h^aa
[?25lasxxdfaaxxxoikeasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.

xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx

> xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h[?25l





:.,.+2s/^/x/
3 substitutions on 3 linesxaa aa aa aa

xbb bb bb bb

xcc cc cc cc
[?12l[?25h[?25l:set tw=3
[?12l[?25h[?25l





3 more lines

aaaaaa3 more lines[?12l[?25h[?25l

3 fewer lines; before #2  0 seconds agoaa aa aa aa

bb bb bb bb

cc cc cc cc

~                                                                               [?12l[?25h

[?25l:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[New] 111L, 2304C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test15 = test61; then \
#	  if diff test.out test15.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test15.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test19.failed test.ok test.out X* viminfo
cp test19.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test19.in" 33 lines, 692 charactersTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.

Also test that dv_ works correctly



STARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 447 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25lSTARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25hsome
[?25lstart textsome test text[?12l[?25h[?25l    ome test text[?12l[?25h[?25l

:[?12l[?25hset noexpandtab
[?25l[?12l[?25h[?25l/[?12l[?25hother
[?25ltest textother test text[?12l[?25h[?25l    ther test text[?12l[?25h[?25l

a cde[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[?12l[?25h
    [?25l[?12l[?25h[?25l

f ghi[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs
[?25l[?12l[?25h
    [?25l     hi[?12l[?25h[?25l

test text[?12l[?25h[?25l

:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[?12l[?25h[?25l:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[?12l[?25h[?25l{x[?12l[?25h[?25l

:[?12l[?25hset nosol
[?25l[?12l[?25h[?25l/[?12l[?25hSecond line/
[?25l

Second line beginning with whitespace[?12l[?25h[?25l
  with whitespace[?12l[?25h[?25l

:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [New File] 10 lines, 121 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test19 = test61; then \
#	  if diff test.out test19.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test19.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test20.failed test.ok test.out X* viminfo
cp test20.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test20.in" 28 lines, 398 charactersTests Blockwise Visual when there are TABs before the text.

First test for undo working properly when executing commands from a register.

Also test this in an empty buffer.



STARTTEST

:so tiny.vim

G0"ay$k@au

:new

@auY:quit!

GP

/start here$

"by$^Vjjlld

/456$

^Vjj"bP

:/56$/,$-1w! test.out

:qa!

ENDTEST



123456

234567

345678



test text test tex start here[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests Blockwise Visual when there are TABs before the text.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 107 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso tiny.vim
[?25l[?12l[?25h[?25lsome texttest text

test text



Ox^[jAy^[kdd[?12l[?25h[?25lx[?12l[?25h

[?25ly[?12l[?25h[?25ly

Ox^[jAy^[kdd[?12l[?25h[?25l



2 changes; before #1  0 seconds ago[?12l[?25h

[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       123456

234567

345678test text test tex start here

                some texttest

test textOx^[jAy^[kdd

test20.in                                                                       [?12l[?25h[?25lx[+][?12l[?25h

[?25ly[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l1 line less; before #1  0 seconds ago    [?12l[?25h[?25l:[?12l[?25hquit!
[?25l:so tiny.vim

G0"ay$k@au:new@auY:quit!GP/start here$"by$^Vjjlld/456$^Vjj"bP:/56$/,$-1w! test.out:qa!ENDTEST123456

234567

345678test text test tex start heresome

         test text

test textOx^[jAy^[kdd[?12l[?25h[?25l[?12l[?25h[?25l

Ox^[jAy^[kdd[?12l[?25h[?25l

/[?12l[?25hstart here$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25ls[?12l[?25h[?25le[?12l[?25h[?25lt t[?12l[?25h[?25lat [?12l[?25h[?25lrt hereextex[?12l[?25h[?25l/[?12l[?25h456$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25l4

234[?12l[?25h[?25l5

345[?12l[?25h[?25l[?12l[?25h[?25lstart here56

234start here67

345start here78[?12l[?25h[?25l:[?12l[?25h/56$/,$-1w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 10 lines, 106 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test20 = test61; then \
#	  if diff test.out test20.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test20.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test22.failed test.ok test.out X* viminfo
cp test22.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test22.in" 13 lines, 197 charactersTests for file with some lines ending in CTRL-M, some not^M

^M

STARTTEST

:set ta tx

:e!

:$-3,$w! test.out

:qa!

ENDTEST



this lines ends in a^M

this one doesn't

this one does^M

and the last one doesn't

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for file with some lines ending in CTRL-M, some not^M[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset ta tx
[?25l[?12l[?25h[?25l:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[?12l[?25h[?25l:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [New File] 4 lines, 79 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test22 = test61; then \
#	  if diff test.out test22.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test22.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test23.failed test.ok test.out X* viminfo
cp test23.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test23.in" 15 lines, 282 charactersTests for complicated + argument to :edit command



STARTTEST

:$-1w! Xfile1

:$w! Xfile2

:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w

:w! test.out

:e Xfile1

:w >> test.out

:qa!

ENDTEST



The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"

foo|bar

foo/bar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for complicated + argument to :edit command[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" 1 line, 8 characters


foo|bar


"Xfile1" 1 line, 11 characters written


"Xfile2" 1 line, 8 characters


foo/bar


"Xfile2" 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 charactersfooPIPEbar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xfile1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hw >> test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test23 = test61; then \
#	  if diff test.out test23.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test23.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test24.failed test.ok test.out X* viminfo
cp test24.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test24.in" 89 lines, 1301 charactersTests for regexp with backslash and other special characters inside []

Also test backslash for hex/octal numbered character.



STARTTEST

:set nocompatible viminfo+=nviminfo

/[\x]

x/[\t\]]

x/[]y]

x/[\]]

x/[y^]

x/[$y]

x/[\x61]

x/[\x60-\x64]

xj0/[\x785]

x/[\o143]

x/[\o140-\o144]

x/[\o417]

x/\%x42

x/\%o103

x/[\x00]

x

:s/[\x00-\x10]//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with backslash and other special characters inside [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 51 lines, 519 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/



:s/aaa/xyz/



:s/~/bcd/



:s/~\+/BB/

:"

:?start?,$w! test.out

:qa!

ENDTEST



start

test \text test text

test    text test text

test text ]test text

test ]text test text

test text te^st text

test te$xt test text

test taext test text  x61

test tbext test text  x60-x64

test 5text test text  x78 5[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h[\x]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[\t\]]
[?25l[?12l[?25h[?25ltext test tex[?12l[?25h[?25l/[?12l[?25h[]y]
[?25l[?12l[?25h[?25ltest text[?12l[?25h[?25l/[?12l[?25h[\]]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[y^]
[?25l[?12l[?25h[?25lst text[?12l[?25h[?25l/[?12l[?25h[$y]
[?25l[?12l[?25h[?25lxt test text[?12l[?25h[?25l/[?12l[?25h[\x61]
[?25l[?12l[?25h[?25lext test text  x61[?12l[?25h[?25l/[?12l[?25h[\x60-\x64]
[?25l[?12l[?25h[?25lext test text  x60-x64[?12l[?25h
[?25l/[?12l[?25h[\x785]
[?25l[?12l[?25h[?25ltext test text  x78 5[?12l[?25h[?25l/[?12l[?25h[\o143]
[?25l

testc text test text  o143[?12l[?25h[?25l text test text  o143[?12l[?25h[?25l

/[?12l[?25h[\o140-\o144]
[?25l

tesdt text test text  o140-o144[?12l[?25h[?25lt text test text  o140-o14[?12l[?25h[?25l

/[?12l[?25h[\o417]
[?25l

test7 text test text  o41 7[?12l[?25h[?25l text test text  o41 7[?12l[?25h[?25l

/[?12l[?25h\%x42
[?25l

test text tBest text  \%x42[?12l[?25h[?25lest text  \%x42[?12l[?25h[?25l

/[?12l[?25h\%o103
[?25l

test text teCst text  \%o103[?12l[?25h[?25lst text  \%o103[?12l[?25h[?25l

/[?12l[?25h[\x00]
[?25l

test text ^@test text  [\x00][?12l[?25h[?25ltest text  [\x00][?12l[?25h[?25l

test te^@xt t^Dest t^Pext  [\x00-\x10][?12l[?25h[?25l

:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 linext test text  [\x00-\x10][?12l[?25h[?25l

test \xyztext test text  [\x-z][?12l[?25h[?25l

:[?12l[?25hs/[\x-z]\+//
[?25ltext test text  [\x-z][?12l[?25h[?25l

test text tev\uyst text  [\u-z][?12l[?25h[?25l

:[?12l[?25hs/[\u-z]\{2,}//
[?25lst text  [\u-z][?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\+//
[?25l xx [?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)\+//
[?25l[?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)*//
[?25l[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{2,3}/A/
[?25lAaa xx[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25lAaaa x[?12l[?25h[?25l

xx aaa12aa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25lAaa xx[?12l[?25h[?25l

xx foobar xbar xx[?12l[?25h[?25l

:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25lA xx[?12l[?25h[?25l

xx an file xx[?12l[?25h[?25l

:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25lA xx[?12l[?25h[?25l

x= 9;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25lXX
[?12l[?25h[?25l

hh= 77;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25lYY 77;[?12l[?25h[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hs/aaa/xyz/
[?25lxyz
 [?12l[?25h[?25l

xyz[?12l[?25h[?25l

:[?12l[?25hs/~/bcd/
[?25lbcd
 [?12l[?25h[?25l

bcdbcdbcd[?12l[?25h[?25l

:[?12l[?25hs/~\+/BB/
[?25lBB[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [New] 32L, 586C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test24 = test61; then \
#	  if diff test.out test24.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test24.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test26.failed test.ok test.out X* viminfo
cp test26.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test26.in" 44 lines, 750 charactersTest for :execute, :while and :if



STARTTEST

:so small.vim

mt:let i = 0

:while i < 12

:  let i = i + 1

:  if has("ebcdic")

:    execute "normal o" . i . "\047"

:  else

:    execute "normal o" . i . "\033"

:  endif

:  if i % 2

:    normal Ax^V^[

:    if i == 9

:      break

:    endif

:    if i == 5

:      continue

:    else

:      let j = 9

:      while j > 0

:if has("ebcdic")[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for :execute, :while and :if[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 39 lines, 696 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:      let j = 9

:      while j > 0

:if has("ebcdic")

:execute "normal" j . "a" . j . "\x27"

:else

:execute "normal" j . "a" . j . "\x1b"

:endif

:let j = j - 1

:      endwhile

:    endif

:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 0
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i < 12
[?25l

:  [?12l[?25h:  let i = i + 1


[?25l:  [?12l[?25h:  if has("ebcdic")


[?25l:    [?12l[?25h:    execute "normal o" . i . "\047"


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    execute "normal o" . i . "\033"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i % 2


[?25l:    [?12l[?25h:    normal Ax^^[


[?25l:    [?12l[?25h:    if i == 9


[?25l:      [?12l[?25h:      break


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if i == 5


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      let j = 9


[?25l:      [?12l[?25h:      while j > 0


[?25l:[?12l[?25h:        if has("ebcdic")


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x27"


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x1b"


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        let j = j - 1


[?25l:[?12l[?25h:      endwhile


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i == 9


[?25l:    [?12l[?25h:    if has("ebcdic")


[?25l:      [?12l[?25h:      execute "normal Az\047"


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      execute "normal Az\033"


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endwhile
[?25l:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST



1x999999999888888887777777666666555554444333221

2

3x999999999888888887777777666666555554444333221

4

5x

6

7x999999999888888887777777666666555554444333221

8

9x[?12l[?25h[?25l

:[?12l[?25hunlet i j
[?25l[?12l[?25h[?25l:[?12l[?25h't,$w! test.out
[?25l"test.out" [New File] 10 lines, 159 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test26 = test61; then \
#	  if diff test.out test26.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test26.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test28.failed test.ok test.out X* viminfo
cp test28.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test28.in" 23 lines, 364 charactersTest for sourcing a file with CTRL-V's at the end of the line



STARTTEST

:/firstline/+1,/lastline/-1w! Xtestfile

:so Xtestfile

Gmm__1^[^[__2^[__3^[^[__4^[__5^[:'m,$s/^@/0/g

:'m,$w! test.out

:qa!

ENDTEST



firstline

map __1 afirst

map __2 asecond

map __3 athird

map __4 afourth

map __5 afifth

map __1 asd^V

map __2 asd^V^V

map __3 asd^V^V

map __4 asd^V^V^V

map __5 asd^V^V^V

lastline[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for sourcing a file with CTRL-V's at the end of the line[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [New File] 10 lines, 148 characters written[?12l[?25h[?25l:[?12l[?25hso Xtestfile
[?25l[?12l[?25h[?25l

sd

map __2 asd^[[?12l[?25h[?25lsecond[?12l[?25hd  [?25lsd^[[?12l[?25h^[  [?25lsd^@map __5 asd^@[?12l[?25h[?25lfifth[?12l[?25h[?25l

:[?12l[?25h'm,$s/^@/0/g
[?25l0map __5 asd0fifth[?12l[?25h[?25l:[?12l[?25h'm,$w! test.out
[?25l"test.out" [New File] 2 lines, 45 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test28 = test61; then \
#	  if diff test.out test28.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test28.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test29.failed test.ok test.out X* viminfo
cp test29.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/tag.o tag.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test29.in" 230 lines, 4261 charactersTest for joining lines and marks in them

 in compatible and nocompatible modes

 and with 'joinspaces' set or not

 and with 'cpoptions' flag 'j' set or not



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set nojoinspaces

:set cpoptions-=j

/firstline/

j"td/^STARTTEST/-1

PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=jj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss+=j

j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2

ENDTEST



firstline

asdfasdf.

asdf[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for joining lines and marks in them[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 478 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j
[?25l[?12l[?25h[?25l/[?12l[?25hfirstline/
[?25l[?12l[?25h

[?25l/[?12l[?25h^STARTTEST/-1
[?25l+-1
37 fewer linesSTARTTEST

/^{/+1[?12l[?25h[?25lmore linesasdfasdf.

asdf[?12l[?25h[?25lasdf

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop!

ert[?12l[?25h
hjkl i[?25l. as dfg? hjkl iop! ert

zx cvn.

as dfg?hjkl iop![?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv
hjkl i[?25l. as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg?  hjkl iop!  ert

zx cvn.

as dfg?[?12l[?25h  er[?25lt  e[?12l[?25h
zx cv[?25len[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv[?25l

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l.  as dfg? hjkl iop! ert[?12l[?25h[?25lt  a[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l

/[?12l[?25hSTARTTEST/-2
[?25l+-2
4 fewer lines[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 147 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set comments=s1:/*,mb:*,ex:*/,://

:set nojoinspaces fo=j

:set backspace=eol,start

:.,+3join

j4J

:.,+2join

j3J

:.,+2join

j3J

:.,+2join

jj3J

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 17 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:inoremap <c-u> <left><c-u>

Avim3^U^[

:iunmap <c-u>

Avim4^U^U^[

:" Test with backspace set to the compatible setting

:set backspace= visualbell

A vim5^[A^U^U^[

A vim6^[Azwei^Gu^U^[

:inoremap <c-u> <left><c-u>

A vim7^U^U^[

:set compatible novisualbell

ENDTEST

1 this shouldn't be deleted

2 this shouldn't be deleted

3 this shouldn't be deleted

4 this should be deleted

5 this shouldn't be deleted

6 this shouldn't be deleted

7 this shouldn't be deleted

8 this shouldn't be deleted (not touched yet)



STARTTEST

/^{/+1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[?12l[?25h[?25l/[?12l[?25h^\d\+ this
[?25l[?12l[?25h[?25l:[?12l[?25hset cp bs=2
[?25l[?12l[?25h[?25l[?12l[?25hd    [?25lvim2[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?25ld3[?12l[?25h[?25l:[?12l[?25hiunmap <c-u>
[?25l[?12l[?25h[?25l[?12l[?25h

[?25l:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace= visualbell
[?25l[?12l[?25h[?25lvim5[?12l[?25h[?5h[?5l[?5h[?5l[?25ld vim6[?12l[?25h6    [?25lzwei[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?5h[?5l[?5h[?5l[?25lvim7[?12l[?25h

[?25l:[?12l[?25hset compatible novisualbell
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 21 lines, 356 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj3J

:.,+2join

j3J

:.,+2join

jj3J

j:.,+2join

jj3J

j:.,+5join

j6J

oSome code!^M// Make sure backspacing does not remove this comment leader.^[0i^HH^[

ENDTEST



{



/*

 * Make sure the previous comment leader is not removed.

 */



/*

 * Make sure the previous comment leader is not removed.

 */[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed.  *//* List:

 * - item1

 *   foo bar baz[?12l[?25h

[?25l/* Make sure the previous comment leader is not removed.  */*   foo bar baz

 * - item2

 *   foo bar baz[?12l[?25h

[?25l:[?12l[?25h.,+8join
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz *//* List:- item1  foo bar baz

 * - item2[?12l[?25h

[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */// Should the next comment leader be left alone?

// Yes.// Should the next comment leader be left alone?[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lShould the next comment leader be left alone?  Yes.





// Yes.[?12l[?25h

[?25l// Should the next comment leader be left alone?  Yes.* Here the comment leader should be left intact. */

// And so should this one.[?12l[?25h

[?25l





:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.* Here the comment leader should be left intact. */[?12l[?25h

[?25l/* Here the comment leader should be left intact. */ // And so should this one.[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;[?12l[?25h[?25l

[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+5join
[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25lSome code!

// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l// Make sure backspacing does not remove this comment leader.

}[?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 61 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:?firstline?+1,$w! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines// Should the next comment leader be left alone?  Yes./* Here the comment leader should be left intact. */ // And so should this one.

/* Here the comment leader should be left intact. */ // And so should this one.

if (condition) // Remove the next comment leader!  OK, I will.

    action();if (condition) // Remove the next comment leader!  OK, I will.

    action();int i = 7 /* foo *// 3 // comment

 ;int i = 7 /* foo *// 3 // comment ;># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.



Some code!// Make sure backspacing does not remove this comment leader.

}[?12l[?25h[?25l:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [New File] 97 lines, 3018 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test29 = test61; then \
#	  if diff test.out test29.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test29.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test31.failed test.ok test.out X* viminfo
cp test31.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test31.in" 95 lines, 1832 charactersTest for commands that close windows and/or buffers:

:quit

:close

:hide

:only

:sall

:all

:ball

:buf

:edit



STARTTEST

:so small.vim

GA 1^[:$w! Xtest1

$r2:$w! Xtest2

$r3:$w! Xtest3

:n! Xtest1 Xtest2

A 1^[:set hidden

:" test for working :n when hidden set; write "testtext 2"

:n

:w! test.out

:" test for failing :rew when hidden not set; write "testtext 2 2"

:set nohidden[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for commands that close windows and/or buffers:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 80 lines, 1697 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" test ":q!" and hidden buffer.

:bw! Xtest1 Xtest2 Xtest3 Xtest4

:sp Xtest1

:wincmd w

:bw!

:set modified

:bot sp Xtest2

:set modified

:bot sp Xtest3

:set modified

:wincmd t

:hide

:q!

:w >>test.out

:q!

:w >>test.out

:q!

:call append(line('$'), "Oh, Not finished yet.")

:w >>test.out

:qa!

ENDTEST



testtext[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h

[?25l1[?12l[?25h[?25l:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [New File] 1 line, 11 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [New File] 1 line, 11 characters written[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" 1 line, 11 characterstesttext 1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[?12l[?25h[?25l:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters2[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hrew
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)1 1
[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hsp
[?25lXtest1 [+]                                                                      testtext 1 1 1Xtest1 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)2 22 [?12l[?25h[?25l:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characterstesttext 1 1 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25lXtest1 [+]                                                                      Xtest2 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 2 2" twice
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l1 1[?12l[?25h[?25l:[?12l[?25hq!
[?25ltesttext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25hunhide
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hhide
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3"
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1


"[?25ltesttext 3 3[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters1[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3 3"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)3 3Xtest3 [+]                                                                      testtext 1Xtest1                                                                          [?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 1"
[?25l[?12l[?25h[?25l3 3[?12l[?25h[?25l:[?12l[?25hclose!
[?25l1~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File]Xtest4                                                                          testtext 1Xtest1                                                                          [?12l[?25h[?25l 4[+][?12l[?25h[?25l:[?12l[?25hall!
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)


"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25ltesttext 2 2 2

~                                                                               Xtest2 [+]                                                                      testtext 3 3 3 3~                                                                               3 [+][?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[?12l[?25h[?25l:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"95 lines, 1832 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp Xtest1
[?25l"Xtest1" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               Xtest1                                                                          :w >>test.out:q!:w >>test.out:q!:call append(line('$'), "Oh, Not finished yet."):w >>test.out:qa!ENDTESTtesttexttest31.in "Xtest1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25lXtest1                                                                           test31.in                                                                       [?12l[?25h[?25l:[?12l[?25hbw!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[?12l[?25h[?25l:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" 1 line, 11 charactersXtest1 [+]                                                                      testtext 2Xtest2                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hwincmd t
[?25lXtest1 [+]                                                                      Xtest3 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hhide
[?25ltesttext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hq!
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hq!
[?25lE37: No write since last change


E162: No write since last change for buffer "Xtest1"


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test31 = test61; then \
#	  if diff test.out test31.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test31.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test33.failed test.ok test.out X* viminfo
cp test33.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test33.in" 34 lines, 616 charactersTest for 'lisp'

If the lisp feature is not enabled, this will fail!



STARTTEST

:so small.vim

:set lisp

/^(defun

=G:/^(defun/,$w! test.out

:q!

ENDTEST



(defun html-file (base)

(format nil "~(~A~).html" base))



(defmacro page (name title &rest body)

(let ((ti (gensym)))

`(with-open-file (*standard-output*

(html-file ,name)

:direction :output

:if-exists :supersede)

(let ((,ti ,title))

(as title ,ti)

(with center[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'lisp'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 63 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset lisp
[?25l[?12l[?25h[?25l/[?12l[?25h^(defun
[?25l[?12l[?25h[?25l22 lines to indent...
23indented   (format nil "~(~A~).html" base))





  (let ((ti (gensym)))

       `(with-open-file (*standard-output*

                 (html-file ,name)

                  :direction :output

                         :if-exists :supersede)

                        (let ((,ti ,title))

              (as title ,ti)

            (with center[?12l[?25h[?25l:[?12l[?25h/^(defun/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 23 lines, 544 characters written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test33 = test61; then \
#	  if diff test.out test33.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test33.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test34.failed test.ok test.out X* viminfo
cp test34.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test34.in" 87 lines, 1833 charactersTest for user functions.

Also test an <expr> mapping calling a function.

Also test that a builtin function cannot be replaced.

Also test for regression when calling arbitrary expression.



STARTTEST

:so small.vim

:function Table(title, ...)

:  let ret = a:title

:  let idx = 1

:  while idx <= a:0

:    exe "let ret = ret . a:" . idx

:    let idx = idx + 1

:  endwhile

:  return ret

:endfunction

:function Compute(n1, n2, divname)

:  if a:n2 == 0

:    return "fail"

:  endif

:  exe "let g:" . a:divname . " = ". a:n1 / a:n2

:  return "ok"

:endfunction[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for user functions.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 78 lines, 1621 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'

:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!

ENDTEST



here[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction Table(title, ...)
[?25l

:  [?12l[?25h:  let ret = a:title


[?25l:  [?12l[?25h:  let idx = 1


[?25l:  [?12l[?25h:  while idx <= a:0


[?25l:    [?12l[?25h:    exe "let ret = ret . a:" . idx


[?25l:    [?12l[?25h:    let idx = idx + 1


[?25l:    [?12l[?25h:  endwhile


[?25l:  [?12l[?25h:  return ret


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch[?12l[?25h[?25l



:[?12l[?25hfunction Compute(n1, n2, divname)
[?25l

:  [?12l[?25h:  if a:n2 == 0


[?25l:    [?12l[?25h:    return "fail"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  exe "let g:" . a:divname . " = ". a:n1 / a:n2


[?25l:  [?12l[?25h:  return "ok"


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))[?12l[?25h[?25l



:[?12l[?25hfunc Expr1()
[?25l

:  [?12l[?25h:  normal! v


[?25l:  [?12l[?25h:  return "111"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc Expr2()
[?25l

:  [?12l[?25h:  call search('XX', 'b')


[?25l:  [?12l[?25h:  return "222"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListItem()
[?25l

:  [?12l[?25h:  let g:counter += 1


[?25l:  [?12l[?25h:  return g:counter . '. '


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListReset()
[?25l

:  [?12l[?25h:  let g:counter = 0


[?25l:  [?12l[?25h:  return ''


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc FuncWithRef(a)
[?25l

:  [?12l[?25h:  unlet g:FuncRef


[?25l:  [?12l[?25h:  return a:a


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[?12l[?25h[?25l:[?12l[?25hlet counter = 0
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> + Expr1()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> * Expr2()
[?25l[?12l[?25h[?25l:[?12l[?25hlet retval = "nop"
[?25l[?12l[?25h[?25l/[?12l[?25h^here
[?25l[?12l[?25h[?25lher$=[?12l[?25hTable("xxx", 4, "asdf")
[?25l=[?12l[?25hCompute(45, 0, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hCompute(45, 5, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hg:FuncRef(333)


[?25lError detected while processing function Expr1:


line    1:


E523: Not allowed here


Press ENTER or type command to continue[?12l[?25h[?25l:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'$put =v:exception

:endtry$-9,$w! test.outdelfunc Table

:delfunc Computedelfunc Expr1delfunc Expr2

:delfunc ListItemListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX---222---

1. one2. two[?12l[?25h[?25l1. one again[?12l[?25h[?25l

:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25lE704: Funcref variable name must start with a capital: max[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:    " Regression: the first line below used to throw ?E110: Missing ')'?


[?25l:  [?12l[?25h:    " Second is here just to prove that this line is correct when not skipp


ing


[?25l:  [?12l[?25h:    " rhs of &&.


[?25l:  [?12l[?25h:    $put =(0&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:    $put =(1&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:    $put ='!!! Unexpected exception:'


[?25l:  [?12l[?25h:    $put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX

---222---

1. one

2. two1. one again

330[?12l[?25h[?25l

:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [New File] 10 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25hdelfunc Table
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Compute
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr1
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr2
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListItem
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListReset
[?25l[?12l[?25h[?25l:[?12l[?25hunlet retval counter
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test34 = test61; then \
#	  if diff test.out test34.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test34.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test36.failed test.ok test.out X* viminfo
cp test36.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test36.in" 108 lines, 2025 charactersTest character classes in regexp using regexpengine 0, 1, 2.



STARTTEST

/^start-here/+1

Y:s/\%#=0\d//g

p:s/\%#=1\d//g

p:s/\%#=2\d//g

p:s/\%#=0[0-9]//g

p:s/\%#=1[0-9]//g

p:s/\%#=2[0-9]//g

p:s/\%#=0\D//g

p:s/\%#=1\D//g

p:s/\%#=2\D//g

p:s/\%#=0[^0-9]//g

p:s/\%#=1[^0-9]//g

p:s/\%#=2[^0-9]//g

p:s/\%#=0\o//g

p:s/\%#=1\o//g

p:s/\%#=2\o//g

p:s/\%#=0[0-7]//g

p:s/\%#=1[0-7]//g

p:s/\%#=2[0-7]//g

p:s/\%#=0\O//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest character classes in regexp using regexpengine 0, 1, 2.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 101 lines, 1850 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTp:s/\%#=1[^a-z]//g

p:s/\%#=2[^a-z]//g

p:s/\%#=0\u//g

p:s/\%#=1\u//g

p:s/\%#=2\u//g

p:s/\%#=0[A-Z]//g

p:s/\%#=1[A-Z]//g

p:s/\%#=2[A-Z]//g

p:s/\%#=0\U//g

p:s/\%#=1\U//g

p:s/\%#=2\U//g

p:s/\%#=0[^A-Z]//g

p:s/\%#=1[^A-Z]//g

p:s/\%#=2[^A-Z]//g

p:s/\%#=0\%204l^\t...//g

p:s/\%#=1\%205l^\t...//g

p:s/\%#=2\%206l^\t...//g

:/^start-here/+1,$wq! test.out

ENDTEST




[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^start-here/+1
[?25l[?12l[?25h[?25l:[?12l[?25hs/\%#=0\d//g



:[?12l[?25hs/\%#=1\d//g



:[?12l[?25hs/\%#=2\d//g



:[?12l[?25hs/\%#=0[0-9]//g



:[?12l[?25hs/\%#=1[0-9]//g



:[?12l[?25hs/\%#=2[0-9]//g



:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\o//g



:[?12l[?25hs/\%#=1\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l

[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\x//g




:[?12l[?25hs/\%#=1\x//g




:[?12l[?25hs/\%#=2\x//g




:[?12l[?25hs/\%#=0[0-9A-Fa-f]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-9A-Fa-f]//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\w//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\w//g





:[?12l[?25hs/\%#=1[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=2[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\h//g




:[?12l[?25hs/\%#=1\h//g




:[?12l[?25hs/\%#=2\h//g




:[?12l[?25hs/\%#=0[A-Za-z_]//g




:[?12l[?25hs/\%#=1[A-Za-z_]//g




:[?12l[?25hs/\%#=2[A-Za-z_]//g




:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\a//g




:[?12l[?25hs/\%#=1\a//g




:[?12l[?25hs/\%#=2\a//g




:[?12l[?25hs/\%#=0[A-Za-z]//g




:[?12l[?25hs/\%#=1[A-Za-z]//g




:[?12l[?25hs/\%#=2[A-Za-z]//g




:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\l//g



:[?12l[?25hs/\%#=1\l//g



:[?12l[?25hs/\%#=2\l//g



:[?12l[?25hs/\%#=0[a-z]//g



:[?12l[?25hs/\%#=1[a-z]//g



:[?12l[?25hs/\%#=2[a-z]//g



:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\u//g



:[?12l[?25hs/\%#=1\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l

[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\%204l^\t...//g



:[?12l[?25hs/\%#=1\%205l^\t...//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\%206l^\t...//g
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 99 lines, 4269 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test36 = test61; then \
#	  if diff test.out test36.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test36.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test37.failed test.ok test.out X* viminfo
cp test37.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test37.in" 116 lines, 3262 charactersTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vim

:set noscrollbind

:set scrollopt=ver,jump

:set scrolloff=2

:set nowrap

:set noequalalways

:set splitbelow

:" TEST using two windows open to one buffer, one extra empty window

:split

:new

^Wt:

:resize 8

/^start of window 1$/

zt:

:set scrollbind

^Wj:

:resize 7

/^start of window 2$/

zt:

:set scrollbind

:" -- start of tests --[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below![?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 1498 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTHk^WtH^WjHyy^Wbp^Wtyy^Wbp:

^Wt:set noscb

ggL^Wj:set noscb

ggL:set scb

^Wt:set scb

^WtG^WjG^Wt:syncbind

Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out" Write contents of this file

:qa!

ENDTEST





start of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt=ver,jump
[?25l[?12l[?25h[?25l:[?12l[?25hset scrolloff=2
[?25l[?12l[?25h[?25l:[?12l[?25hset nowrap
[?25l[?12l[?25h[?25l:[?12l[?25hset noequalalways
[?25l[?12l[?25h[?25l:[?12l[?25hset splitbelow
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[?12l[?25h[?25l:[?12l[?25hsplit
[?25l^WtH3k^WtHyybp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out    " Write contents of this file

:qa!ENDTESTstart of window 1. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02test37.in                                                                       Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out     " Write contents of this file

:qa!ENDTESTstart of window 11122

test37.in                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l:w! test.out             " Write contents of this file

:qa!ENDTESTtest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 8
[?25l:" ***** done with tests *****w! test.out             " Write contents of this file

:qa!ENDTESTstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

test37.in                                                                       :" ***** done with tests *****:w! test.out             " Write contents of this fileqa!ENDTESTstart of window 1[?12l[?25h[?25l/[?12l[?25h^start of window 1$/
[?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 7
[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lend of window 1start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[?12l[?25h[?25l

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h



[?25l. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[?12l[?25htest37.in                                                                        [No Name]                                                                       [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[+][?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    





[?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l2[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08440505060607070808090900[?12l[?25htest37.in                                                                        test37.in                                                                       test37.in                                                                       test37.in                                                                        test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       test37.in                                                                        test37.in                                                                        test37.in                                                                       test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0656789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415UTSRQPONMLKJIHGREDCBA9876543210 09101112131415[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25h[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" ****** tests using two different buffers *****
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25lstart of window 20000000000[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[?12l[?25h[?25l:[?12l[?25hnew
[?25ltest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        test37.in                                                                        [No Name]                                                                       [?25l4 more lines[+][?12l[?25h





[?25l18 more linesstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l/[?12l[?25h^start of window 1$/
[?25lsearch hit BOTTOM, continuing at TOPENDTESTstart of window 1010102020303[?12l[?25h[?25l

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/term.o term.c
start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h





[?25l. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    



[?25l. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l440505060607070808090900. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

46 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

56 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06UTSRQPONMLKJIHGREDCBA9876543210 07[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415



UTSRQPONMLKJIHGREDCBA9876543210 0910111213141516[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST syncbind
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST:so small.vim:set noscrollbind:set scrollopt=ver,jump:set scrolloff=2:set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 201010202[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25h[?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vimset noscrollbindset scrollopt=ver,jump

:set scrolloff=2set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lzt:

:set scrollbind

^Wj:

:resize 7. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

^Wj:
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" ***** done with tests *****
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out             " Write contents of this file
[?25l"test.out" [New File] 33 lines, 1329 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test37 = test61; then \
#	  if diff test.out test37.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test37.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test38.failed test.ok test.out X* viminfo
cp test38.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test38.in" 35 lines, 455 charactersTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 407 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTopq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25l^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST

[?12l[?25h[?25lTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz[?12l[?25h[?25l

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l

abcdefghijk      lmn    opq rstuvwxyz[?12l[?25h[?25l:[?12l[?25hset ai
[?25l[?12l[?25h[?25l:[?12l[?25hset bs=2
[?25l[?12l[?25h[?25l 1

 A BCDEFGHIJ    KL        MNOPQR[?12l[?25h[?25l:[?12l[?25hka
[?25l[?12l[?25h[?25labcdefghijk      lmn    opq rstuvwxyz[?12l[?25h

[?25l 1[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25lab      cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB      IJKLMNO QR[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 13 lines, 107 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test38 = test61; then \
#	  if diff test.out test38.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test38.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test39.failed test.ok test.out X* viminfo
cp test39.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test39.in" 118 lines, 2435 charactersTest Visual block mode commands

And test "U" in Visual mode, also on German sharp S.



#define BO_ALL      0x0001

#define BO_BS0x0002

#define BO_CRSR     0x0004



STARTTEST

:so small.vim

:so mbyte.vim

:" This only works when 'encoding' is "latin1", don't depend on the environment

:set enc=latin1

/^abcde

:" Test shift-right of a block

jllll^Vjj>wll^Vjlll>

:" Test shift-left of a block

G$hhhh^Vkk<

:" Test block-insert

Gkl^VkkkIxyz^[

:" Test block-replace

Gllll^Vkkklllrq

:" Test block-change[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 75 lines, 2061 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h[?25l/[?12l[?25h^abcde
[?25lbbbb

cccc

dddd



yaaa


bbb



A23

4567



B23

4567



C23

4567



abcdefghijklm[?12l[?25h[?25l

:[?12l[?25h" Test shift-right of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25habcd[?25l[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

3 lines >ed 1 time        efghijklm

abcd        efghijklm

abcd        efghijklm[?12l[?25h     ef[?25l[?12l[?25h[?25lg[?12l[?25h[?25lhg[?12l[?25h[?25lih[?12l[?25h[?25lji[?12l[?25h[?25l        ghijklm        ghijklm[?12l[?25h[?25l:[?12l[?25h" Test shift-left of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25h[?25l[?12l[?25h[?25li[?12l[?25h[?25l [?12l[?25h[?25l





3 lines <ed 1 timeef    efghijklmi[?12l[?25h[?25l:[?12l[?25h" Test block-insert
[?25l[?12l[?25h

a[?25l[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25l

ab

ab

abxyzbcdefghijklm

axyzbcd

axyzbcd

axyzbcd[?12l[?25h

a[?25l:[?12l[?25h" Test block-replace
[?25l[?12l[?25h





abcd[?25l[?12l[?25h[?25le[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lbccf[?12l[?25h[?25lcddg[?12l[?25h[?25ld  h[?12l[?25h[?25lqqqq

axyzqqqq

axyzqqqq

abcdqqqq[?12l[?25h

axyz[?25l:[?12l[?25h" Test block-change
[?25l[?12l[?25h



[?25l[?12l[?25h[?25lj[?12l[?25h[?25li[?12l[?25h[?25l     ghijkl[?12l[?25h[?25lef  gkl[?12l[?25h[?25lmnomnomno[?12l[?25h[?25l:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [New File] 5 lines, 108 characters written[?12l[?25h[?25l:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[?12l[?25h[?25l/[?12l[?25h^aaaa/
[?25lsearch hit BOTTOM, continuing at TOPaaaaaa

bbbbbb

cccccc

ddddddsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right>  \<Esc>"
[?25l  aaa

bbb  bbb

ccc  ccc

ddd  ddd[?12l[?25h[?25l:[?12l[?25h/^aa/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 37 characters appended[?12l[?25h[?25l/[?12l[?25hxaaa$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l<p>xaaa

<p>bbbb

<p>cccc

<p>dddd[?12l[?25h[?25l:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 33 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[?12l[?25h[?25l/[?12l[?25h^A23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[?12l[?25h[?25l/[?12l[?25h^B23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[?12l[?25h[?25l/[?12l[?25h^C23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25lab

456ab7[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all enc=utf-8
[?25laaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa

<bf><bf><bf>

bbb



A23ab

4567ab



B23 ab

4567ab



C23ab

456ab7[?12l[?25h[?25l





:[?12l[?25h/\t\tline
[?25lsearch hit BOTTOM, continuing at TOPline1line2line3search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25lxxx[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 4 lines, 49 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25lx   line1x   line2x   line3[?12l[?25h[?25l:[?12l[?25hset ve= enc=latin1
[?25lx     x   line1x     x   line2x     x   line3



aaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa


bbb



A23ab

4567ab



B23 ab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l[?12l[?25h[?25lC23ab

456ab7



axyzbcdefghijklm

axyzqqqq   mnoghijklm

axyzqqqqef mnoghijklm

axyzqqqqefgmnoklm

abcdqqqqijklm[?12l[?25h[?25l


[?12l[?25hthe [?25lYOUTUSSEUU end
the [?12l[?25h

the [?25l

:[?12l[?25h" gUfx must uppercase until x, inclusive.
[?25l[?12l[?25h[?25l
- y[?25lOUSSTUSSEXu -
- y[?12l[?25h[?25l


:[?12l[?25h" VU must uppercase a whole line
[?25l[?12l[?25h[?25l

[?12l[?25h[?25lTHE YOUTUSSEUU END
[?12l[?25h

[?25l

:[?12l[?25h" same, when it's the last line in the buffer
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

11[?12l[?25h[?25l
11[?12l[?25h[?25l
111THE YOUTUSSEUU END
[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l111THE YOUTUSSEUU END


[?25l

:[?12l[?25h" Uppercase two lines
[?25l[?12l[?25h[?25l

blah didoh dut[?12l[?25h[?25l
doh dut [?12l[?25h[?25lblah di t[?12l[?25h[?25l
BLAH DIDOH DUT[?12l[?25h[?25l


:[?12l[?25h" Uppercase part of two lines
[?25l[?12l[?25h[?25l
~                                                                               [?12l[?25h[?25l


33[?12l[?25h

333the yo[?12l[?25h[?25lut[?12l[?25h[?25lUTUSSEUU END

333THE YOUTU[?12l[?25h[?25l



:[?12l[?25h" visual replace using Enter or NL
[?25l[?12l[?25h

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^M65

98^M65

98^M65[?12l[?25h

98

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^@65

98^@65

98^@65[?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cpos=getpos("'>")
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l

col:4 off:0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[?12l[?25h[?25l:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h4,7y
[?25l4 lines yanked[?12l[?25h[?25l

4 more lines

4 more lines[?12l[?25h[?25l

#define BO_ALL      0x0001[?12l[?25h[?25l

:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l    0x0001

#define BO_BS0x0002

#define BO_CRSR0x0004[?12l[?25h[?25l





:[?12l[?25h/^the/,$w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 31 lines, 322 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test39 = test61; then \
#	  if diff test.out test39.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test39.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test40.failed test.ok test.out X* viminfo
cp test40.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test40.in" 63 lines, 1536 charactersTest for "*Cmd" autocommands



STARTTEST

:so small.vim

:/^start/,$w! Xxx" write lines below to Xxx

:au BufReadCmd XtestA 0r Xxx|$del

:e XtestA" will read text of Xxd instead

:au BufWriteCmd XtestA call append(line("$"), "write")

:w" will append a line to the file

:r XtestA" should not read anything

:" now we have:

:" 1     start of Xxx

:" 2test40

:" 3     end of Xxx

:" 4     write

:au FileReadCmd XtestB '[r Xxx

:2r XtestB" will read Xxx below line 2 instead

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test40

:" 5     end of Xxx

:" 6     end of Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for "*Cmd" autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1455 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$w >>test.out" append "end of Xxx" to test.out

:au BufReadCmd XtestE 0r test.out|$del

:sp XtestE" split window with test.out

5Goasdf^[^W^W:"

:au BufWriteCmd XtestE w! test.out

:wall" will write other window to test.out

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test401

:" 5     end of Xxx

:" 6     asdf

:" 7     end of Xxx

:" 8     write

:" 9test401

:" 10    end of Xxx

:" 11    end of Xxx

:qa!

ENDTEST



start of Xxxtest40

end of Xxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$w! Xxx^I^I" write lines below to Xxx
[?25l"Xxx" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[?12l[?25h[?25l:[?12l[?25he XtestA^I^I^I" will read text of Xxd instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxx        test40end of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[?12l[?25h[?25l:[?12l[?25hw^I^I^I^I" will append a line to the file
[?25lwrite[?12l[?25h[?25l:[?12l[?25hr XtestA^I^I^I" should not read anything
[?25lE484: Can't open file XtestA[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" now we have:
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h2r XtestB^I^I^I" will read Xxx below line 2 instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxxtest40

end of Xxx[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[?12l[?25h[?25ltest401[?12l[?25h[?25l:[?12l[?25h4,5w XtestC^I^I^I" will copy lines 4 and 5 to the end
[?25l        test401end of Xxx[?12l[?25h[?25l:[?12l[?25hr XtestC^I^I^I" should not read anything
[?25lE484: Can't open file XtestC[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw >>XtestD^I^I^I" will write all lines to test.out
[?25l"test.out" [New File] 9 lines, 91 characters written[?12l[?25h[?25l:[?12l[?25h$r XtestD^I^I^I" should not read anything
[?25lE484: Can't open file XtestD[?12l[?25h[?25l:[?12l[?25h$w >>test.out^I^I^I" append "end of Xxx" to test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[?12l[?25h[?25l:[?12l[?25hsp XtestE^I^I^I" split window with test.out
[?25l"test.out" 10 lines, 102 charactersend of XxxXtestE                                                                          end of Xxxwrite        test401end of XxxXtestA                                                                          [?12l[?25h[?25lasdf[+][?12l[?25hXtestE [+]                                                                       XtestA                                                                          [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hwall^I^I^I^I" will write other window to test.out
[?25l"test.out" 11 lines, 107 characters written   [?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iasdf
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 10^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 11^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test40 = test61; then \
#	  if diff test.out test40.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test40.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test41.failed test.ok test.out X* viminfo
cp test41.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test41.in" 24 lines, 421 charactersTest for writing and reading a file of over 100 Kbyte



1 line: "This is the start"

3001 lines: "This is the leader"

1 line: "This is the middle"

3001 lines: "This is the trailer"

1 line: "This is the end"



STARTTEST

:%d

aThis is the start

This is the leader

This is the middle

This is the trailer

This is the end^[kY3000p2GY3000p

:w! Xtest

:%d

:e! Xtest

:.w! test.out

3003G:.w >>test.out

6005G:.w >>test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file of over 100 Kbyte[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 13 lines, 196 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lThis is the start

This is the leaderThis is the middleThis is the trailerThis is the end[?12l[?25h[?25l3000 more linestrailer

This is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailer[?12l[?25h[?25lleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleader[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 6005 lines, 117092 characters written[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" 6005 lines, 117092 charactersThis is the start

This is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leader[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 18 characters written[?12l[?25h[?25lThis is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the middle

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 19 characters appended[?12l[?25h[?25lThis is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the end
[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 16 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test41 = test61; then \
#	  if diff test.out test41.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test41.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test42.failed test.ok test.out X* viminfo
cp test42.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test42.in" 130 lines, 2368 charactersTest for writing and reading a file starting with a BOM



STARTTEST

:so mbyte.vim

:set encoding=utf-8

:set fileencodings=ucs-bom,latin-1

:set ff=unix ffs=unix" This changes the file for DOS and MAC

:" --- Write the test files

:/^latin-1$/+1w! Xtest0

:/^utf-8$/+1w! Xtest1

:/^utf-8-err$/+1w! Xtest2

:/^ucs-2$/+1w! Xtest3

:/^ucs-2le$/+1w! Xtest4

:" Need to add a NUL byte after the NL byte

:set bin

:e! Xtest4" Ignore change from setting 'ff'

o^V^@^[:set noeol

:w

:set ffs& nobinary" Allow default test42.in format

:e #

:set ff=unix" Format for files to write

:/^ucs-4$/+1w! Xtest5

:/^ucs-4le$/+1w! Xtest6[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file starting with a BOM[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2116 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1


utf-8

utf-8

utf-8-err

utf-8~@err

ucs-2


ucs-2le


[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1

<fe><fe>latin-1

utf-8

<feff>utf-8

utf-8-err

<feff>utf-8<80>err

ucs-2

<fe><ff>^@u^@c^@s^@-^@2^@

ucs-2le

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix ffs=unix           " This changes the file for DOS and MAC
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Write the test files
[?25l[?12l[?25h[?25l:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4                      " Ignore change from setting 'ff'
[?25l"Xtest4" 1 line, 17 characters<ff><fe>u^@c^@s^@-^@2^@l^@e^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

[?25l^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hset ffs& nobinary              " Allow default test42.in format
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25hset ff=unix                    " Format for files to write
[?25l[?12l[?25h[?25l:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [converted][New File] 1 line, 30 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [converted][New File] 1 line, 35 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6                      " ! for when setting 'ff' is a change
[?25l"Xtest6" 1 line, 33 characters<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

~   [?25l
^@^@^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest0
[?25l"Xtest0" [converted] 1 line, 12 charactersþþlatin-1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lþþlatin-1

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 12 characters appended[?12l[?25h[?25l:[?12l[?25hset bomb fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest1
[?25l"Xtest1" 1 line, 9 charactersutf-8[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-8


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest2
[?25l"Xtest2" [converted] 1 line, 17 charactersutf-8<80>err
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8<80>err

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 17 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest3
[?25l"Xtest3" [converted] 1 line, 8 charactersucs-2[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [converted][New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4
[?25l"Xtest4" [converted] 1 line, 10 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest5
[?25l"Xtest5" [converted] 1 line, 10 characters4[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6
[?25l"Xtest6" [converted] 1 line, 12 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check the files written with BOM
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 35 lines, 275 characters  fileencoding=latin1nobomb<fe><fe>latin-1  fileencoding=utf-8  bombutf-8  fileencoding=latin1nobomb<feff>utf-8<80>err  fileencoding=utf-16  bombucs-2  fileencoding=utf-16le[?12l[?25h[?25l:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" 1 line, 10 charactersbomb

ucs-2lefileencoding=ucs-4

  bomb

ucs-4fileencoding=ucs-4le

  bomb

ucs-4le

<fe><fe>latin-1[?12l[?25h[?25l

:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" 1 line, 9 characters

<feff>utf-8[?12l[?25h[?25l

:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" 1 line, 17 characters

utf-8<80>err[?12l[?25h[?25l

:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" 1 line, 14 characters

<fe><ff>^@u^@c^@s^@-^@2^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [Incomplete last line] 2 lines, 18 characters

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" 1 line, 28 characters^@

^@^@<fe><ff>^@^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [Incomplete last line] 2 lines, 36 characters

<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@[?12l[?25h[?25l

:[?12l[?25hset nobin ff&               " Write the file in default format
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 44 lines, 409 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test42 = test61; then \
#	  if diff test.out test42.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test42.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test43.failed test.ok test.out X* viminfo
cp test43.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test43.in" 34 lines, 473 charactersTests for regexp with various magic settings.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:$

:set undolevels=100

dv?bar?

Yup:"

:?^1?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 268 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l

1 a aa abb abbccc[?12l[?25h[?25l

/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l

2 d dd dee deefff[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l

3 g gg ghh ghhiii[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\mj*k\{2}l\+/e
[?25l

4 j jj jkk jkklll[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\vm*n{2}o+/e
[?25l

5 m mm mnn mnnooo[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V^aa$
[?25l

6 x ^aa$ x[?12l[?25h[?25laa$ x[?12l[?25h[?25l

:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l

7 (a)(b) abbaa[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l

8 axx [ab]xx[?12l[?25h[?25lab]x[?12l[?25h[?25l

:[?12l[?25h$
[?25l9 foobar[?12l[?25h[?25l

:[?12l[?25hset undolevels=100
[?25l[?12l[?25h[?25l?[?12l[?25hbar?
[?25l~                                                                               [?12l[?25h[?25l



1 more line; before #2  0 seconds agobar[?12l[?25h[?25l

9 foo
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 11L, 137C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test43 = test61; then \
#	  if diff test.out test43.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test43.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test44.failed test.ok test.out X* viminfo
cp test44.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ui.o ui.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test44.in" 81 lines, 1492 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test99 for exactly the same test with re=2.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=1

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1023 characters written[?12l[?25h[?25l:set ff& cpo+=A



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l:[?12l[?25h" c
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


:[?12l[?25h" d
[?25l[?12l[?25h[?25l/[?12l[?25h[\u4f7f\u5929]\+
[?25l


:[?12l[?25h" e
[?25l[?12l[?25h[?25l/[?12l[?25h\%U12345678
[?25l


:[?12l[?25h" f
[?25l[?12l[?25h[?25l/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


:[?12l[?25h" g
[?25l[?12l[?25h[?25l/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       e y f z

g abb



test.out [+]                                                                    [?12l[?25h[?25l:[?12l[?25h$put =['dog(a', 'cat(']
[?25ldog(acat([+][?12l[?25h[?25l/[?12l[?25h(/e+
[?25l/(/e+1
[?12l[?25h[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hbd!
[?25l1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii


e y



[?25l

[?12l[?25h[?25la[?12l[?25h[?25l

cat(
[?12l[?25h[?25l

:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test44 = test61; then \
#	  if diff test.out test44.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test44.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test45.failed test.ok test.out X* viminfo
cp test45.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test45.in" 90 lines, 1953 charactersTests for folding. vim: set ft=vim :



STARTTEST

:so small.vim

:" We also need the +syntax feature here.

:if !has("syntax")

   e! test.ok

   w! test.out

   qa!

:endif

:" basic test if a fold can be created, opened, moving to the end and closed

/^1

zf2j:call append("$", "manual " . getline(foldclosed(".")))

zo:call append("$", foldclosed("."))

]z:call append("$", getline("."))

zc:call append("$", getline(foldclosed(".")))

:" test folding with markers.

:set fdm=marker fdl=1 fdc=3

/^5

:call append("$", "marker " . foldlevel("."))

[z:call append("$", foldlevel("."))

jo{{ ^[r{jj:call append("$", foldlevel("."))

kYpj:call append("$", foldlevel("."))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for folding. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 73 lines, 1820 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:new

iTest fdm=indent and :move bug END

line2Test fdm=indent STARTline3line4^[

:set fdm=indent

:1m1

2jzc:m0

:%w >> test.out

:qa!

ENDTEST



1 aa

2 bb

3 cc

4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We also need the +syntax feature here.
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("syntax")
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   w! test.out


[?25l:  [?12l[?25h   qa!


[?25l:  [?12l[?25h:endif
[?25l:new

iTest fdm=indent and :move bug END

line2Test fdm=indent START[?12l[?25h[?25l:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[?12l[?25h[?25l1 aa2 bb3 cc4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h[?25l:[?12l[?25hcall append("$", foldclosed("."))
[?25l[?12l[?25h



[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with markers.
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l   :new

   iTest fdm=indent and :move bug END

   line2

           Test fdm=indent START

           line3

           line4^[

   :set fdm=indent

   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa   2 bb   3 cc-  4 dd {{{

|- 5 ee {{{ }}}

|  6 ff }}}

   7 gg

   8 hh

   9 ii

   a jj[?12l[?25h[?25l/[?12l[?25h^5
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l{{ |  6 ff }}}[?12l[?25h[?25l-{|

|

|

|[?12l[?25h[?25l





:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l6 ff }}}

 7 gg

 8 hh[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with indent
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=indent sw=2
[?25l-++---  3 lines: Test fdm=indent START-----------------------------------------:set fdm=indent:1m12jzc:m0%w >> test.out:qa!ENDTEST1 aa2 bb3 cc4 dd {{{5 ee {{{ }}}

 {{{  6 ff }}}  6 ff }}}

  7 gg 8 hh9 iia jj[?12l[?25h[?25l/[?12l[?25h^2 b
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l
-  2 bb[?12l[?25h[?25l
|-    3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test syntax folding
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=syntax fdl=0
[?25l          Test fdm=indent START        line3        line4^[:set fdm=indent1m12jzc:m0:%w >> test.out:qa!ENDTEST

   1 aa  2 bb    3 cc4 dd {{{5 ee {{{ }}}{{{6 ff }}}6 ff }}}7 gg8 hh[?12l[?25h[?25l:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l++--  8 lines: 4 dd ----------------------------------------------------------a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[?12l[?25h[?25l   1 aa

   marker 2

   1

   1

   0

   indent 2

   1[?12l[?25h[?25l:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l
--4 dd {{{commentstart  ||5 ee {{{ }}}

||{{{||6 ff }}}

||6 ff }}}||7 gg

||8 hh

||9 ii

||a jj||b kk

||last

||manual 1 aa

||-1||3 cc[?12l[?25h[?25l commentend- 

|-



| 

  

  

  

  

  

  [?12l[?25h[?25l:[?12l[?25hset fdl=1
[?25l++---  3 lines: 5 ee --------------------------------------------------------- 6 ff }}}++---  2 lines: 7 gg----------------------------------------------------------9 ii  a jj

  b kk

 lastmanual 1 aa-13 cc1 aamarker 21[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hset fdl=0
[?25l++--  8 lines: 4 dd commentstart  commentend----------------------------------  a jj b kk  last manual 1 aa-13 cc1 aarker 2110indent[?12l[?25h[?25l
-4 dd {{{commentstart  commentend|-5 ee {{{ }}}

||{{{||6 ff }}}

|6 ff }}}|-7 gg

||8 hh

|9 iia jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{

|| 6 ff }}}

|  6 ff }}}

|- 7 gg

|| 8 hh

|  9 ii

   a jj

   b kk

   last

   manual 1 aa

   -1

   3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test expression folding
[?25l[?12l[?25h[?25l:[?12l[?25hfun Flvl()
[?25l

:  [?12l[?25h  let l = getline(v:lnum)


[?25l:  [?12l[?25h  if l =~ "bb$"


[?25l:    [?12l[?25h    return 2


[?25l:    [?12l[?25h  elseif l =~ "gg$"


[?25l:    [?12l[?25h    return "s1"


[?25l:    [?12l[?25h  elseif l =~ "ii$"


[?25l:    [?12l[?25h    return ">2"


[?25l:    [?12l[?25h  elseif l =~ "kk$"


[?25l:    [?12l[?25h    return "0"


[?25l:    [?12l[?25h  endif


[?25l:  [?12l[?25h  return "="


[?25l:  [?12l[?25hendfun
[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{[?12l[?25h[?25l:[?12l[?25hset fdm=expr fde=Flvl()
[?25l++-- 11 lines: 2 bb-----------------------------------------------------------b kk last  manual 1 aa  -1  3 cc 1 aa  marker 2

  1 10indent 21++--  4 lines: folding 9 ii---------------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l/[?12l[?25hbb$
[?25lsearch hit BOTTOM, continuing at TOP--  2 bb||    3 cc

||4 dd {{{commentstart  commentend

||5 ee {{{ }}}

||{{{

||6 ff }}}

||6 ff }}}

||7 gg|8 hh

|++---  2 lines: 9 ii----------------------------------------------------------b kklastmanual 1 aa

 -13 cc1 aa[?12l[?25h[?25l:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hhh$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hii$
[?25l-9 ii||a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hkk$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [New File] 18 lines, 96 characters written[?12l[?25h[?25l:[?12l[?25hdelfun Flvl
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l   

   

   

   ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            [No Name]                                                                       5 ee {{{ }}}{{{6 ff }}}|6 ff }}}|7 gg 8 hh

|-9 ii

||a jjb kklast

test45.in [+]                                                                   [?12l[?25h[?25lTest fdm=indent and :move bug ENDline2        Test fdm=indent START        line3        line4[+][?12l[?25h[?25l:[?12l[?25hset fdm=indent
[?25l++--  3 lines: Test fdm=indent START------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l:[?12l[?25h1m1
[?25l[?12l[?25h[?25l:[?12l[?25hm0
[?25l3 lines moved++--  3 lines: Test fdm=indent START------------------------------------------Test fdm=indent and :move bug END

 line2[?12l[?25h[?25l:[?12l[?25h%w >> test.out
[?25l"test.out" 5 lines, 77 characters appendedtest.out [+]]  [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test45 = test61; then \
#	  if diff test.out test45.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test45.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test48.failed test.ok test.out X* viminfo
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/undo.o undo.c
cp test48.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test48.in" 83 lines, 1658 charactersThis is a test of 'virtualedit'.



STARTTEST

:so small.vim

:set noswf

:set ve=all

-dgg

:"

:"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".

:"    Repeating CTRL-N fixes it. (Mary Ellen Foster)

2/w

C^N^[

:"

:"   Using "C" then then <CR> moves the last remaining character to the next

:"    line.  (Mary Ellen Foster)

j^/are

C^Mare belong to vim^[

:"

:"   When past the end of a line that ends in a single character "b" skips

:"    that word.

^$15lbC7^[

:"

:"   Make sure 'i' works[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of 'virtualedit'.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 61 lines, 1442 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set display=

:"

:"   Test for ^Y/^E due to bad w_virtcol value, reported by

:"   Roy <royl@netropolis.net>.

^O^[3li^E^[4li^E^[4li^E   <-- should show the name of a noted text editor^[

^o^[4li^Y^[4li^Y^[4li^Y   <-- and its version number^[-dd

:"

:" Test for yanking and pasting using the small delete register

gg/^foo

dewve"-p

:wq! test.out

ENDTEST

foo, bar

keyword keyw

all your base are belong to us

1 2 3 4 5 6

'i'

'C'

'a'

'A'

'D'

this is a test

this is a test[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswf
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l65 fewer linesthis is a test

"r"

"r"

a^Vb^Msd

abcv6efi.him0kl





~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               65 fewer lines[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[?12l[?25h[?25l:[?12l[?25h"    Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[?12l[?25h[?25l/[?12l[?25hw
[?25l[?12l[?25h[?25l$Scanning tags.
The only matchword[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Using "C" then then <CR> moves the last remaining character to the next
[?25l[?12l[?25h[?25l:[?12l[?25h"    line.  (Mary Ellen Foster)
[?25l[?12l[?25h
[?25l/[?12l[?25hare
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l$are belong to vim

1 2 3 4 5 6

'i

'C

'a

'A

'D'this is a test



"r"     

a^Vb^Msdabcv6efi.him0kl[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   When past the end of a line that ends in a single character "b" skips
[?25l[?12l[?25h[?25l:[?12l[?25h"    that word.
[?25l[?12l[?25h
[?25l$7[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'i' works
[?25l[?12l[?25h
'i'   [?25l<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'C' works
[?25l[?12l[?25h
'C'   [?25l$<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'a' works
[?25l[?12l[?25h
'a'   [?25l <-- should be 4 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'A' works
[?25l[?12l[?25h
'A'   [?25l<-- should be 0 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'D' works
[?25l[?12l[?25h
'D'   [?25l<-- 'D' should be intact[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for yank bug reported by Mark Waggoner.
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h
[?25l[?12l[?25h[?25laaa[?12l[?25h[?25laaablock of 4 lines yanked[?12l[?25h[?25l3 more linesa

aa [?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" beyond the end of the line
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l/[?12l[?25h^"r"
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h"r"    [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" on a tab
[?25l[?12l[?25h[?25l:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[?12l[?25h
"r"  [?25lx[?12l[?25h[?25lx  <-- should be '  x  '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test to make sure 'x' can delete control characters
[?25l[?12l[?25h[?25l:[?12l[?25hset display=uhex
[?25l<16>b<0d>sd[?12l[?25h
[?25l<16>b<0d>sd[?12l[?25h[?25lb<0d>sd[?12l[?25h[?25l<0d>sd[?12l[?25h[?25lsd[?12l[?25h[?25ld[?12l[?25h[?25l[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[?25l:[?12l[?25hset display=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[?12l[?25h[?25l:[?12l[?25h"   Roy <royl@netropolis.net>.
[?25l[?12l[?25h
[?25l[?12l[?25h   [?25lv[?12l[?25hv   [?25li[?12l[?25hi   [?25lm   <-- should show the name of a noted text editor[?12l[?25h
[?25l[?12l[?25h    [?25l6[?12l[?25h6   [?25l.[?12l[?25h.   [?25l0   <-- and its version number[?12l[?25h[?25l

[?12l[?25h

    [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[?12l[?25h[?25l/[?12l[?25h^foo
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l, bar[?12l[?25h, [?25l[?12l[?25h[?25lba[?12l[?25h[?25l[?12l[?25h[?25lfoo[?12l[?25h

keyw[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 23 lines, 479 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test48 = test61; then \
#	  if diff test.out test48.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test48.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test51.failed test.ok test.out X* viminfo
cp test51.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test51.in" 36 lines, 809 charactersTests for ":highlight". vim: set ft=vim :



STARTTEST

:so small.vim

:" basic test if ":highlight" doesn't crash

:highlight

:hi Search

:" test setting colors.

:" test clearing one color and all doesn't generate error or warning

:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#000ff00 guibg=Cyan

:hi Group2 term= cterm=

:hi Group3 term=underline cterm=bold

:redir! >test.out

:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for ":highlight". vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 31 lines, 747 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[?12l[?25h[?25l:[?12l[?25hhighlight
[?25l

SpecialKey     xxx term=bold ctermfg=4 guifg=Blue


EndOfBuffer    xxx links to NonText


NonTextxxx term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue


Directory      xxx term=bold ctermfg=4 guifg=Blue


ErrorMsgxxx term=standout cterm=bold ctermfg=7 ctermbg=1 guifg=White


guibg=Red


IncSearch      xxx term=reverse cterm=reverse gui=reverse


Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


MoreMsgxxx term=bold ctermfg=2 gui=bold guifg=SeaGreen


ModeMsgxxx term=bold cterm=bold gui=bold


LineNrxxx term=underline ctermfg=3 guifg=Brown


CursorLineNr   xxx term=bold ctermfg=3 gui=bold guifg=Brown


Questionxxx term=standout ctermfg=2 gui=bold guifg=SeaGreen


StatusLine     xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse


StatusLineNC   xxx term=reverse cterm=reverse gui=reverse


VertSplit      xxx term=reverse cterm=reverse gui=reverse


Titlexxx term=bold ctermfg=5 gui=bold guifg=Magenta


Visualxxx term=reverse cterm=reverse guibg=LightGrey


VisualNOS      xxx term=bold,underline cterm=bold,underline gui=bold,underline


WarningMsg     xxx term=standout ctermfg=1 guifg=Red


WildMenuxxx term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow


Foldedxxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue


guibg=LightGrey


FoldColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


DiffAddxxx term=bold ctermbg=4 guibg=LightBlue


DiffChange     xxx term=bold ctermbg=5 guibg=LightMagenta


DiffDelete     xxx term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=Blue


guibg=LightCyan


DiffTextxxx term=reverse cterm=bold ctermbg=1 gui=bold guibg=Red


SignColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


Concealxxx ctermfg=7 ctermbg=0 guifg=LightGrey guibg=DarkGrey


SpellBadxxx term=reverse ctermbg=1 gui=undercurl guisp=Red


SpellCapxxx term=reverse ctermbg=4 gui=undercurl guisp=Blue


SpellRare      xxx term=reverse ctermbg=5 gui=undercurl guisp=Magenta


SpellLocal     xxx term=underline ctermbg=6 gui=undercurl guisp=DarkCyan


Pmenuxxx ctermfg=0 ctermbg=5 guibg=LightMagenta


PmenuSelxxx ctermfg=0 ctermbg=7 guibg=Grey


PmenuSbar      xxx ctermbg=7 guibg=Grey


PmenuThumb     xxx ctermbg=0 guibg=Black


TabLinexxx term=underline cterm=underline ctermfg=0 ctermbg=7


gui=underline guibg=LightGrey


TabLineSel     xxx term=bold cterm=bold gui=bold


TabLineFill    xxx term=reverse cterm=reverse gui=reverse


CursorColumn   xxx term=reverse ctermbg=7 guibg=Grey90


CursorLine     xxx term=underline cterm=underline guibg=Grey90


ColorColumn    xxx term=reverse ctermbg=1 guibg=LightRed


Cursorxxx guifg=bg guibg=fg


lCursorxxx guifg=bg guibg=fg


MatchParen     xxx term=reverse ctermbg=6 guibg=Cyan


Normalxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Search
[?25l

Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" test setting colors.
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" test clearing one color and all doesn't generate error or warning
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0


0ff00 guibg=Cyan
[?25lE418: Illegal value: guifg=#00ff00Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 term= cterm=
[?25lE418: Illegal value: cterm=


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx term=bold cterm=italic ctermfg=4 ctermbg=7


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3
[?25l

Group3xxx term=underline cterm=bold


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear NewGroup
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 NONE
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup[?12l[?25h[?25l

:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hhi Group3
[?25l

Group3xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Crash term='asdf
[?25lE475: Invalid argument: term='asdf


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l:hi NewGroup

:hi Group2

:hi Group3[?12l[?25h[?25l

:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 20 lines, 289 charactersNewGroup       xxx term=bold cterm=italic ctermfg=4 ctermbg=7Group2         xxx clearedGroup3         xxx term=underline cterm=boldNewGroup       xxx clearedGroup2         xxx clearedGroup2         xxx clearedGroup3         xxx clearedE475: Invalid argument: term='asdf

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l2
[?12l[?25h[?25l:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l3
[?12l[?25h[?25l:[?12l[?25h" filter out possibly translated error message
[?25l[?12l[?25h[?25l:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25lterm='asdf[?12l[?25h[?25l:[?12l[?25h" fix the fileformat
[?25l[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hwq!
[?25l"test.out" 20 lines, 271 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test51 = test61; then \
#	  if diff test.out test51.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test51.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test53.failed test.ok test.out X* viminfo
cp test53.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test53.in" 75 lines, 1763 charactersTests for string and html text objects. vim: set ft=vim :



Note that the end-of-line moves the cursor to the next test line.



Also test match() and matchstr()



STARTTEST

:so small.vim

/^start:/

da"

0va'a'rx

02f`da`

0fXdi"

03f'vi'ry

:set quoteescape=+*-

di`

$F"va"oha"i"rz

:"

/^<begin

jfXdit

0fXdit

fXdat

0fXdat[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for string and html text objects. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1237 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =match('abc', '$', 4, 1) " -1

:put =match('abc', '\zs', 0, 1) " 0

:put =match('abc', '\zs', 0, 2) " 1

:put =match('abc', '\zs', 0, 3) " 2

:put =match('abc', '\zs', 0, 4) " 3

:put =match('abc', '\zs', 0, 5) " -1

:put =match('abc', '\zs', 1, 1) " 1

:put =match('abc', '\zs', 2, 1) " 2

:put =match('abc', '\zs', 3, 1) " 3

:put =match('abc', '\zs', 4, 1) " -1

:/^start:/,/^end:/wq! test.out

ENDTEST



start: "wo\"rd\\" foo

'foo' 'bar' 'piep'

bla bla `quote` blah

out " in "noXno"

"'" 'blah' rep 'buh'

bla `s*`d-`+++`l**` b`la

voo "nah" sdf " asdf" sdf " sdf" sd



<begin>

-<b>asdf<i>Xasdf</i>asdf</b>-[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l[?12l[?25h[?25lfo[?12l[?25h
[?25l[?12l[?25h[?25l'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l
xxxxxxxxxxxx
[?12l[?25h

[?25lblah[?12l[?25h
[?25l"[?12l[?25h
[?25l[?12l[?25h[?25l' rep[?12l[?25h[?25lyyyyy[?12l[?25h[?25l:[?12l[?25hset quoteescape=+*-
[?25l[?12l[?25h[?25l` b`la[?12l[?25h[?25l[?12l[?25h[?25l" sdf"[?12l[?25h[?25l" [?12l[?25h[?25l"[?12l[?25h[?25l asdf" sdf [?12l[?25h[?25lah" sdf "
voo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^<begin
[?25l[?12l[?25h

[?25l</i>asdf</b>-[?12l[?25h[?25l

-<b>asdX<i>a<i />sdf</i>asdf</b>-[?12l[?25h
[?25l</b>-[?12l[?25h[?25l

-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[?25lasdf</b>-[?12l[?25h[?25l

-<b>asdX<i>as<b />df</i>asdf</b>-[?12l[?25h
[?25l
--[?12l[?25h[?25l

-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l

</begin>[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l

b[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l

bc[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l

c[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l

a[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 45 lines, 284 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test53 = test61; then \
#	  if diff test.out test53.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test53.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test55.failed test.ok test.out X* viminfo
cp test55.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test55.in" 586 lines, 12256 charactersTests for List and Dictionary types.     vim: set ft=vim :



STARTTEST

:so small.vim

:fun Test(...)

:lang C

:" Creating List directly with different types

:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]

:$put =string(l)

:$put =string(l[-1])

:$put =string(l[-4])

:try

:  $put =string(l[-5])

:catch

:  $put =v:exception[:14]

:endtry

:" List slices

:$put =string(l[:])

:$put =string(l[1:])

:$put =string(l[:-2])

:$put =string(l[0:8])

:$put =string(l[8:-1])

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for List and Dictionary types.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 580 lines, 12170 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test(...)
[?25l

:  [?12l[?25h:lang C


[?25l:  [?12l[?25h:" Creating List directly with different types


[?25l:  [?12l[?25h:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:$put =string(l[-4])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-5])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List slices


[?25l:  [?12l[?25h:$put =string(l[:])


[?25l:  [?12l[?25h:$put =string(l[1:])


[?25l:  [?12l[?25h:$put =string(l[:-2])


[?25l:  [?12l[?25h:$put =string(l[0:8])


[?25l:  [?12l[?25h:$put =string(l[8:-1])


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" List identity


[?25l:  [?12l[?25h:let ll = l


[?25l:  [?12l[?25h:let lx = copy(l)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(l == ll) . (l isnot ll) . (l is ll) . (l == lx) . (l is lx) . (l


isnot lx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Creating Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}


[?25l:  [?12l[?25h:$put =string(d) . d.1


[?25l:  [?12l[?25h:$put =string(sort(keys(d)))


[?25l:  [?12l[?25h:$put =string (values(d))


[?25l:  [?12l[?25h:for [key, val] in items(d)


[?25l:    [?12l[?25h:  $put =key . ':' . string(val)


[?25l:    [?12l[?25h:  unlet key val


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:call extend  (d, {3:33, 1:99})


[?25l:  [?12l[?25h:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  call extend(d, {3:333,4:444}, "error")


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:call filter(d, 'v:key =~ ''[ac391]''')


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary identity


[?25l:  [?12l[?25h:let dd = d


[?25l:  [?12l[?25h:let dx = copy(d)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(d == dd) . (d isnot dd) . (d is dd) . (d == dx) . (d is dx) . (d


isnot dx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items with :unlet


[?25l:  [?12l[?25h:unlet l[2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:let l = range(8)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:unlet l[:3]


[?25l:    [?12l[?25h:unlet l[1:]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:$put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:unlet d.c


[?25l:  [?12l[?25h:unlet d[-1]


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:1]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:3]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:4]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:5]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-1:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-3:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-4:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-5:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-6:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" assignment to a list


[?25l:  [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:let [va, vb] = l[2:3]


[?25l:  [?12l[?25h:$put =va


[?25l:  [?12l[?25h:$put =vb


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l[1:1]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: let d[i] = 3000 - i


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[1400] . ' ' . d[1499]


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let n = d[1500]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =substitute(v:exception, '\v(.{14}).*( \d{4}).*', '\1\2', '')


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" lookup each items


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h: let i += 1


[?25l:  [?12l[?25h:" delete even items


[?25l:  [?12l[?25h:while i >= 2


[?25l:    [?12l[?25h: let i -= 2


[?25l:    [?12l[?25h: unlet d[i]


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =get(d, 1500 - 100, 'NONE') . ' ' . d[1]


[?25l:  [?12l[?25h:" delete odd items, checking value, one intentionally wrong


[?25l:  [?12l[?25h:let d[33] = 999


[?25l:  [?12l[?25h:let i = 1


[?25l:  [?12l[?25h:while i < 1500


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =i . '=' . d[i]


[?25l:      [?12l[?25h: else


[?25l:      [?12l[?25h:  unlet d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h: let i += 2


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =string(d)  " must be almost empty now


[?25l:  [?12l[?25h:unlet d


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary function


[?25l:  [?12l[?25h:let dict = {}


[?25l:  [?12l[?25h:func dict.func(a) dict


[?25l:    [?12l[?25h:  $put =a:a . len(self.data)


[?25l:    [?12l[?25h:endfunc


[?25l:    [?12l[?25h:let dict.data = [1,2,3]


[?25l:    [?12l[?25h:call dict.func("len: ")


[?25l:    [?12l[?25h:let x = dict.func("again: ")


[?25l:    [?12l[?25h:let Fn = dict.func


[?25l:    [?12l[?25h:call Fn('xxx')


[?25l:    [?12l[?25h:" 


[?25l:    [?12l[?25h:" Function in script-local List or Dict


[?25l:    [?12l[?25h:let g:dict = {}


[?25l:    [?12l[?25h:function g:dict.func() dict


[?25l:      [?12l[?25h:  $put ='g:dict.func'.self.foo[1].self.foo[0]('asdf')


[?25l:      [?12l[?25h:endfunc


[?25l:      [?12l[?25h:let g:dict.foo = ['-', 2, 3]


[?25l:      [?12l[?25h:call insert(g:dict.foo, function('strlen'))


[?25l:      [?12l[?25h:call g:dict.func()


[?25l:      [?12l[?25h:" 


[?25l:      [?12l[?25h:" Nasty: remove func from Dict that's being called (works)


[?25l:      [?12l[?25h:let d = {1:1}


[?25l:      [?12l[?25h:func d.func(a)


[?25l:[?12l[?25h:  return "a:". a:a


[?25l:[?12l[?25h:endfunc


[?25l:[?12l[?25h:$put =d.func(string(remove(d, 'func')))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used


)

[?25l:[?12l[?25h:let d = {1:1, 2:2}


[?25l:[?12l[?25h:let l = [4, d, 6]


[?25l:[?12l[?25h:let d[3] = l


[?25l:[?12l[?25h:let dc = deepcopy(d)


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let dc = deepcopy(d, 1)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:let l2 = [0, l, l, 3]


[?25l:[?12l[?25h:let l[1] = l2


[?25l:[?12l[?25h:let l3 = deepcopy(l2)


[?25l:[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1][0] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2]['6'][7] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2][6] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Unletting locked variables


[?25l:[?12l[?25h:$put ='Unletting:'


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]['6'][7]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2][6]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1][0]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables and :unlet or list / dict functions


[?25l:[?12l[?25h:$put ='Locks and commands or functions:'


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put =':unlet after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='filter() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call filter(d, 'v:key != "a"')


[?25l:[?12l[?25h:  $put ='did filter()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='map() after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call map(d, 'v:val + 200')


[?25l:[?12l[?25h:  $put ='did map()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  $put =string(extend(d, {'a': 123}))


[?25l:[?12l[?25h:  $put ='did extend()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na


me'))


[?25l:[?12l[?25h:    $put ='did remove()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(extend(a:, {'this_is_a_loooooooooong_parameter


_name': 1234}))


[?25l:[?12l[?25h:    $put ='did extend()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet of variable in locked scope:'


[?25l:[?12l[?25h:let b:testvar = 123


[?25l:[?12l[?25h:lockvar 1 b:


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet b:testvar


[?25l:[?12l[?25h:  $put ='b:testvar was :unlet: '. (!exists('b:testvar'))


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:unlockvar 1 b:


[?25l:[?12l[?25h:unlet! b:testvar


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :let += of locked list variable:'


[?25l:[?12l[?25h:let l = ['a', 'b', 3]


[?25l:[?12l[?25h:lockvar 1 l


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let l += ['x']


[?25l:[?12l[?25h:  $put ='did :let +='


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:lockvar! l


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:unlet l[0:1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l[1:2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:let l[0:1] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let l[1:2] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:" :lockvar/islocked() triggering script autoloading


[?25l:[?12l[?25h:set rtp+=./sautest


[?25l:[?12l[?25h:lockvar g:footest#x


[?25l:[?12l[?25h:unlockvar g:footest#x


[?25l:[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')


[?25l:[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')


[?25l:[?12l[?25h:$put ='g:footest#x: '.g:footest#x


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" a:000 function argument


[?25l:[?12l[?25h:" first the tests that should fail


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000 = [1, 2]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[0] = 9


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[0]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2] = [9, 10]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[2]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[3] = {9: 10}


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[3]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:" now the tests that should pass


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2][1] = 9


[?25l:[?12l[?25h:  call extend(a:000[2], [5, 6])


[?25l:[?12l[?25h:  let a:000[3][5] = 8


[?25l:[?12l[?25h:  let a:000[3]['a'] = 12


[?25l:[?12l[?25h:  $put =string(a:000)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught ' . v:exception


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" reverse(), sort(), uniq()


[?25l:[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 


1, 2], 'x8', [0, 1, 2], 1.5]


[?25l:[?12l[?25h:$put =string(uniq(copy(l)))


[?25l:[?12l[?25h:$put =string(reverse(l))


[?25l:[?12l[?25h:$put =string(reverse(reverse(l)))


[?25l:[?12l[?25h:$put =string(sort(l))


[?25l:[?12l[?25h:$put =string(reverse(sort(l)))


[?25l:[?12l[?25h:$put =string(sort(reverse(sort(l))))


[?25l:[?12l[?25h:$put =string(uniq(sort(l)))


[?25l:[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf


f, 0.22, 'four']


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'n'))


[?25l:[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 


'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]


[?25l:[?12l[?25h:$put =string(sort(copy(l), 1))


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'i'))


[?25l:[?12l[?25h:$put =string(sort(copy(l)))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" splitting a string to a List


[?25l:[?12l[?25h:$put =string(split('  aa  bb '))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 0))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 1))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W', 1))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))


[?25l:[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs'))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs', 1))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare recursively linked list and dict


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}


[?25l:[?12l[?25h:let l[1] = d


[?25l:[?12l[?25h:$put =(l == l)


[?25l:[?12l[?25h:$put =(d == d)


[?25l:[?12l[?25h:$put =(l != deepcopy(l))


[?25l:[?12l[?25h:$put =(d != deepcopy(d))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare complex recursively linked list and dict


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:call add(l, l)


[?25l:[?12l[?25h:let dict4 = {"l": l}


[?25l:[?12l[?25h:call add(dict4.l, dict4)


[?25l:[?12l[?25h:let lcopy = deepcopy(l)


[?25l:[?12l[?25h:let dict4copy = deepcopy(dict4)


[?25l:[?12l[?25h:$put =(l == lcopy)


[?25l:[?12l[?25h:$put =(dict4 == dict4copy)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same List to extend()


[?25l:[?12l[?25h:let l = [1, 2, 3, 4, 5]


[?25l:[?12l[?25h:call extend(l, l)


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend()


[?25l:[?12l[?25h:let d = { 'a': {'b': 'B'}}


[?25l:[?12l[?25h:call extend(d, d)


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend() with "error"


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call extend(d, d, "error")


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" test for range assign


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:let l[:] = [1, 2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:endfun
[?25l:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6})  " This may take a while
[?25lError detected while processing function Test:

line   76:


E684: list index out of range: 1


line   91:


E684: list index out of range: 2


line  271:


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


line  441:


E741: Value is locked: l[0:1]


line  443:


E741: Value is locked: l[1:2]


line  446:


E741: Value is locked: l[0:1] = [0, 1]


line  448:


E741: Value is locked: l[1:2] = [0, 1]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb']

['aa', 'bb']

['', 'aa', 'bb', '']

['', '', 'aa', '', 'bb', '', '']

['aa', '', 'bb']

['', 'aa', '', 'bb', '']

['aa', '', 'bb', 'cc', '']

['a', 'b', 'c']

['', 'a', '', 'b', '', 'c', '']

1

1

0

0

1

1

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

{'a': {'b': 'B'}}

Vim(call):E737: a

{'a': {'b': 'B'}}

[1, 2]

~                                                                               [?12l[?25h[?25l



:[?12l[?25hdelfunc Test
[?25l[?12l[?25h[?25l:[?12l[?25hunlet dict
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for patch 7.3.637
[?25l[?12l[?25h[?25l:[?12l[?25hlet a = 'No error caught'
[?25l[?12l[?25h[?25l:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[?12l[?25h[?25l=[?12l[?25ha
[?25lVim(foldopen):E490:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hredir => a
[?25l[?12l[?25h[?25l:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'


)|endtry


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb'][?12l[?25h[?25l

=[?12l[?25ha
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))|endtry

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 197 lines, 3821 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test55 = test61; then \
#	  if diff test.out test55.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test55.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test56.failed test.ok test.out X* viminfo
cp test56.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test56.in" 21 lines, 457 charactersTest for script-local function.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:set nocp viminfo+=nviminfo

:/^start:/+1,/^end:/-1w! Xtest.vim

:source Xtest.vim

_x

:$-1,$wq! test.out

ENDTEST



start:

fun <SID>DoLast()

  call append(line('$'), "last line")

endfun

fun s:DoNothing()

  call append(line('$'), "nothing line")

endfun

nnoremap <buffer> _x    :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunnc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>

end:

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for script-local function.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 120 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [New] 7L, 251C written[?12l[?25h[?25l:[?12l[?25hsource Xtest.vim
[?25l[?12l[?25h[?25l:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc 


<SNR>4_DoLast
Press ENTER or type command to continue[?12l[?25h[?25lTest for script-local function.     vim: set ft=vim :nothing line[?12l[?25h[?25l:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [New] 2L, 23C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test56 = test61; then \
#	  if diff test.out test56.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test56.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test57.failed test.ok test.out X* viminfo
cp test57.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test57.in" 545 lines, 4110 charactersTests for :sort command.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:/^t01:/+1,/^t02/-1sort

:/^t02:/+1,/^t03/-1sort n

:/^t03:/+1,/^t04/-1sort x

:/^t04:/+1,/^t05/-1sort u

:/^t05:/+1,/^t06/-1sort!

:/^t06:/+1,/^t07/-1sort! n

:/^t07:/+1,/^t08/-1sort! u

:/^t08:/+1,/^t09/-1sort o

:/^t09:/+1,/^t10/-1sort! x

:/^t10:/+1,/^t11/-1sort/./

:/^t11:/+1,/^t12/-1sort/../

:/^t12:/+1,/^t13/-1sort/../u

:/^t13:/+1,/^t14/-1sort/./n

:/^t14:/+1,/^t15/-1sort/./r

:/^t15:/+1,/^t16/-1sort/../r

:/^t16:/+1,/^t17/-1sort/./rn

:/^t17:/+1,/^t18/-1sort/\d/

:/^t18:/+1,/^t19/-1sort/\d/r[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :sort command.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 33 lines, 920 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:/^t21:/+1,/^t22/-1sort/\d\d/

:/^t22:/+1,/^t23/-1sort/\d\d/n

:/^t23:/+1,/^t24/-1sort/\d\d/x

:/^t24:/+1,/^t25/-1sort/\d\d/r

:/^t25:/+1,/^t26/-1sort/\d\d/rn

:/^t26:/+1,/^t27/-1sort/\d\d/rx

:/^t27:/+1,/^t28/-1sort no

:/^t28:/+1,/^t29/-1sort b

:/^t29:/+1,/^t30/-1sort b

:/^t30:/+1,/^t31/-1sort f

:/^t01:/,$wq! test.out

ENDTEST



t01: alphebetical

abc

ab

a

a321

a123

a122

b321

b123

c123d[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l 123b2

a123

a

ababc[?12l[?25h[?25l:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25lb123

b321

b321

b321b

b322b

c123d

c321d

t02: numeric

abc[?12l[?25h[?25l

:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t03: hexadecimal





a

ab

abc

 123b

a122

a123

a321

b123

b321

b321[?12l[?25h[?25l:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25lb321b

b322b

c123d

c321d

t04: alpha, unique[?12l[?25h[?25l

:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25la123

a321

ab

abc

b123

b321

b321b

b322b

c123d

c321d

t05: alpha, reverse

c321d

c123d

b322b

b321b

b321

b321

b123

abc

ab

a321

a123

a122[?12l[?25h[?25l:[?12l[?25h/^t06:/+1,/^t07/-1sort! n        
[?25la

 123b





t06: numeric, reverse

b322b[?12l[?25h[?25l

:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l123b

c123d

b123

a123

a122





a

ab

abc

t07: unique, reverse

c321d

c123d

b322b

b321b

b321

b123

abc

ab

a321

a123

a122

a[?12l[?25h[?25l:[?12l[?25h/^t08:/+1,/^t09/-1sort o         
[?25l123b



t08: octal

abc[?12l[?25h[?25l

:[?12l[?25h/^t09:/+1,/^t10/-1sort! x        
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t09: reverse, hexadecimal

c321d

c123d

b322b

b321b

b321

b321

b123

a321

a123

a122

 123b

abc[?12l[?25h[?25l:[?12l[?25h/^t10:/+1,/^t11/-1sort/./        
[?25lab

a





t10: alpha, skip first character

a[?12l[?25h[?25l

:[?12l[?25h/^t11:/+1,/^t12/-1sort/../       
[?25l123b

c123d

a321

b321

b321

b321b

c321d

b322b

ab

abc

t11: alpha, skip first 2 characters

ab

a





a321

b321

b321

b321b

c321d

a122

b322b

a123[?12l[?25h[?25l:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25lb123

 123b

c123d

abc

t12: alpha, unique, skip first 2 characters

ab[?12l[?25h[?25l

:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25lb321

b321b

c321d

a122

b322b

a123

b123

 123b

c123d

abc

t13: numeric, skip first character

abc

ab

a





a122

a123

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25lc321d

b321

b321b

b322b

t14: alpha, sort on first character[?12l[?25h[?25l

:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25la321

a123

a122

b321

b123

b322b

b321

b321b

c123d

c321d

t15: alpha, sort on first 2 characters

a123b

a123

a122

a321

abc

ab

b123

b321

b322b[?12l[?25h[?25l:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25lb321

b321b

c123d

c321d

t16: numeric, sort on first character

abc[?12l[?25h[?25l

:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t17: alpha, skip past first digit

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25la123

b123

 123b

c123d

t18: alpha, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t19: numeric, skip past first digit

abc

ab

a





a321

b321

c321d

b321

b321b

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25la123

b123

c123d

 123b

t20: numeric, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t21: alpha, skip past first 2 digits

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25la123

b123

 123b

c123d

t22: numeric, skip past first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25lb321

c321d

b321

b321b

a122

b322b

a123

b123

c123d

 123b

t23: hexadecimal, skip past first 2 digits

abc

ab

a





a321

b321

b321

a122

a123

b123

b321b[?12l[?25h[?25l:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25lc321d

b322b

 123b

c123d

t24: alpha, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t25: numeric, sort on first 2 digits

abc

ab

a





a123

a122

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25lc321d

b322b

b321

b321b

t26: hexadecimal, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25lE474: Invalid argument[?12l[?25h[?25l:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t28: binary





0b000000

0b001000

0b010000

0b100000

0b100010

0b100010

0b100100

0b101000

0b101000

0b101001[?12l[?25h[?25l:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l0b101001

0b101010

0b101100

0b111000

t29: binary with leading characters[?12l[?25h[?25l

:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25la0b001000

0b010000

ab0b100000

0b100010

0b100010

 0b100100

0b101000

0b101000

 0b101001

a0b101001

0b101010

b0b101100

b0b111000

t30: float





-1.1e3

-1.01e3

1.15e-6

0.88

1.234

123.456

t31: done[?12l[?25h[?25l:[?12l[?25h/^t01:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 501 lines, 3105 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test57 = test61; then \
#	  if diff test.out test57.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test57.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test60.failed test.ok test.out X* viminfo
cp test60.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test60.in" 601 lines, 13116 charactersTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :



STARTTEST

:so small.vim

:function! RunTest(str, result)

    if exists(a:str) == a:resultecho "OK"

    elseecho "FAILED: Checking for " . a:str

    endif

endfunction

:function! TestExists()

    augroup myagroupautocmd! BufEnter*.my     echo "myfile edited"autocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"

    augroup END

    set rtp+=./sautestlet test_cases = []" valid autocmd group

    let test_cases += [['#myagroup', 1]]

    " valid autocmd group with garbage[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 596 lines, 13023 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! RunTest(str, result)
[?25l

:  [?12l[?25h    if exists(a:str) == a:result


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED: Checking for " . a:str


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x[?12l[?25h[?25l

:[?12l[?25hfunction! TestExists()
[?25l

:  [?12l[?25h    augroup myagroup


[?25l:  [?12l[?25h^Iautocmd! BufEnter       *.my     echo "myfile edited"


[?25l:  [?12l[?25h^Iautocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"


[?25l:  [?12l[?25h    augroup END


[?25l:  [?12l[?25h    set rtp+=./sautest


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    let test_cases = []


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " valid autocmd group


[?25l:  [?12l[?25h    let test_cases += [['#myagroup', 1]]


[?25l:  [?12l[?25h    " valid autocmd group with garbage


[?25l:  [?12l[?25h    let test_cases += [['#myagroup+b', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd group or event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup', 0]]


[?25l:  [?12l[?25h    " Non-existing autocmd group and valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup#BufEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event with no matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#CmdwinEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#xyzacmd', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['###', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group and event or empty event and pattern


[?25l:  [?12l[?25h    let test_cases += [['##', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##FileReadCmd', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##MySpecialCmd', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&textwidth', 1]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&tw', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['&tw-', 0]]


[?25l:  [?12l[?25h    " Global option


[?25l:  [?12l[?25h    let test_cases += [['&g:errorformat', 1]]


[?25l:  [?12l[?25h    " Local option


[?25l:  [?12l[?25h    let test_cases += [['&l:errorformat', 1]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&nojoinspaces', 0]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&nojs', 0]]


[?25l:  [?12l[?25h    " Non-existing option


[?25l:  [?12l[?25h    let test_cases += [['&myxyzoption', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['+incsearch', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['+incsearch!1', 0]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['+is', 1]]


[?25l:  [?12l[?25h    " Existing option that is hidden.


[?25l:  [?12l[?25h    let test_cases += [['+autoprint', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing environment variable


[?25l:  [?12l[?25h    let $EDITOR_NAME = 'Vim Editor'


[?25l:  [?12l[?25h    let test_cases += [['$EDITOR_NAME', 1]]


[?25l:  [?12l[?25h    " Non-existing environment variable


[?25l:  [?12l[?25h    let test_cases += [['$NON_ENV_VAR', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal function


[?25l:  [?12l[?25h    let test_cases += [['*bufnr', 1]]


[?25l:  [?12l[?25h    " Valid internal function with ()


[?25l:  [?12l[?25h    let test_cases += [['*bufnr()', 1]]


[?25l:  [?12l[?25h    " Non-existing internal function


[?25l:  [?12l[?25h    let test_cases += [['*myxyzfunc', 0]]


[?25l:  [?12l[?25h    " Valid internal function with garbage


[?25l:  [?12l[?25h    let test_cases += [['*bufnr&6', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid user defined function


[?25l:  [?12l[?25h    let test_cases += [['*TestExists', 1]]


[?25l:  [?12l[?25h    " Non-existing user defined function


[?25l:  [?12l[?25h    let test_cases += [['*MyxyzFunc', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function that may be created by FuncUndefined event


[?25l:  [?12l[?25h    let test_cases += [['*UndefFun', 0]]


[?25l:  [?12l[?25h    " Function that may be created by script autoloading


[?25l:  [?12l[?25h    let test_cases += [['*footest#F', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    redir! > test.out


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    for [test_case, result] in test_cases


[?25l:    [?12l[?25h        echo test_case . ": " . result


[?25l:    [?12l[?25h        call RunTest(test_case, result)


[?25l:    [?12l[?25h    endfor


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match)


[?25l:  [?12l[?25h    echo ':edit: 2'


[?25l:  [?12l[?25h    if exists(':edit') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match) with garbage


[?25l:  [?12l[?25h    echo ':edit/a: 0'


[?25l:  [?12l[?25h    if exists(':edit/a') == 0


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (partial match)


[?25l:  [?12l[?25h    echo ':q: 1'


[?25l:  [?12l[?25h    if exists(':q') == 1


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing internal command


[?25l:  [?12l[?25h    echo ':invalidcmd: 0'


[?25l:  [?12l[?25h    if !exists(':invalidcmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (full match)


[?25l:  [?12l[?25h    command! MyCmd :echo 'My command'


[?25l:  [?12l[?25h    echo ':MyCmd: 2'


[?25l:  [?12l[?25h    if exists(':MyCmd') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (partial match)


[?25l:  [?12l[?25h    command! MyOtherCmd :echo 'Another command'


[?25l:  [?12l[?25h    echo ':My: 3'


[?25l:  [?12l[?25h    if exists(':My') == 3


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Command modifier


[?25l:  [?12l[?25h    echo ':rightbelow: 2'


[?25l:  [?12l[?25h    if exists(':rightbelow') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (full match)


[?25l:  [?12l[?25h    delcommand MyCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':MyCmd: 0'


[?25l:  [?12l[?25h    if !exists(':MyCmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (partial match)


[?25l:  [?12l[?25h    delcommand MyOtherCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':My: 0'


[?25l:  [?12l[?25h    if !exists(':My')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var: 1'


[?25l:  [?12l[?25h    if exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable with garbage


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var%n: 0'


[?25l:  [?12l[?25h    if !exists('local_var%n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local variable


[?25l:  [?12l[?25h    unlet local_var


[?25l:  [?12l[?25h    echo 'local_var: 0'


[?25l:  [?12l[?25h    if !exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing autoload variable that may be autoloaded


[?25l:  [?12l[?25h    echo 'footest#x: 0'


[?25l:  [?12l[?25h    if !exists('footest#x')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list


[?25l:  [?12l[?25h    let local_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'local_list: 1'


[?25l:  [?12l[?25h    if exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item


[?25l:  [?12l[?25h    echo 'local_list[1]: 1'


[?25l:  [?12l[?25h    if exists('local_list[1]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item with garbage


[?25l:  [?12l[?25h    echo 'local_list[1]+5: 0'


[?25l:  [?12l[?25h    if !exists('local_list[1]+5')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Invalid local list item


[?25l:  [?12l[?25h    echo 'local_list[2]: 0'


[?25l:  [?12l[?25h    if !exists('local_list[2]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local list


[?25l:  [?12l[?25h    unlet local_list


[?25l:  [?12l[?25h    echo 'local_list: 0'


[?25l:  [?12l[?25h    if !exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local dictionary


[?25l:  [?12l[?25h    let local_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'local_dict: 1'


[?25l:  [?12l[?25h    if exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local dictionary


[?25l:  [?12l[?25h    unlet local_dict


[?25l:  [?12l[?25h    echo 'local_dict: 0'


[?25l:  [?12l[?25h    if !exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing local curly-brace variable


[?25l:  [?12l[?25h    let str = "local"


[?25l:  [?12l[?25h    let curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local curly-brace variable


[?25l:  [?12l[?25h    unlet curly_{str}_var


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable


[?25l:  [?12l[?25h    let g:global_var = 1


[?25l:  [?12l[?25h    echo 'g:global_var: 1'


[?25l:  [?12l[?25h    if exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable with garbage


[?25l:  [?12l[?25h    echo 'g:global_var-n: 1'


[?25l:  [?12l[?25h    if !exists('g:global_var-n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global variable


[?25l:  [?12l[?25h    unlet g:global_var


[?25l:  [?12l[?25h    echo 'g:global_var: 0'


[?25l:  [?12l[?25h    if !exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global list


[?25l:  [?12l[?25h    let g:global_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'g:global_list: 1'


[?25l:  [?12l[?25h    if exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global list


[?25l:  [?12l[?25h    unlet g:global_list


[?25l:  [?12l[?25h    echo 'g:global_list: 0'


[?25l:  [?12l[?25h    if !exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global dictionary


[?25l:  [?12l[?25h    let g:global_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'g:global_dict: 1'


[?25l:  [?12l[?25h    if exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global dictionary


[?25l:  [?12l[?25h    unlet g:global_dict


[?25l:  [?12l[?25h    echo 'g:global_dict: 0'


[?25l:  [?12l[?25h    if !exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global curly-brace variable


[?25l:  [?12l[?25h    let str = "global"


[?25l:  [?12l[?25h    let g:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global curly-brace variable


[?25l:  [?12l[?25h    unlet g:curly_{str}_var


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window variable


[?25l:  [?12l[?25h    echo 'w:window_var: 1'


[?25l:  [?12l[?25h    let w:window_var = 1


[?25l:  [?12l[?25h    if exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window variable


[?25l:  [?12l[?25h    unlet w:window_var


[?25l:  [?12l[?25h    echo 'w:window_var: 0'


[?25l:  [?12l[?25h    if !exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window list


[?25l:  [?12l[?25h    let w:window_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'w:window_list: 1'


[?25l:  [?12l[?25h    if exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window list


[?25l:  [?12l[?25h    unlet w:window_list


[?25l:  [?12l[?25h    echo 'w:window_list: 0'


[?25l:  [?12l[?25h    if !exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window dictionary


[?25l:  [?12l[?25h    let w:window_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'w:window_dict: 1'


[?25l:  [?12l[?25h    if exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window dictionary


[?25l:  [?12l[?25h    unlet w:window_dict


[?25l:  [?12l[?25h    echo 'w:window_dict: 0'


[?25l:  [?12l[?25h    if !exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window curly-brace variable


[?25l:  [?12l[?25h    let str = "window"


[?25l:  [?12l[?25h    let w:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window curly-brace variable


[?25l:  [?12l[?25h    unlet w:curly_{str}_var


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer variable


[?25l:  [?12l[?25h    echo 'b:buffer_var: 1'


[?25l:  [?12l[?25h    let b:buffer_var = 1


[?25l:  [?12l[?25h    if exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer variable


[?25l:  [?12l[?25h    unlet b:buffer_var


[?25l:  [?12l[?25h    echo 'b:buffer_var: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer list


[?25l:  [?12l[?25h    let b:buffer_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'b:buffer_list: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer list


[?25l:  [?12l[?25h    unlet b:buffer_list


[?25l:  [?12l[?25h    echo 'b:buffer_list: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer dictionary


[?25l:  [?12l[?25h    let b:buffer_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer dictionary


[?25l:  [?12l[?25h    unlet b:buffer_dict


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer curly-brace variable


[?25l:  [?12l[?25h    let str = "buffer"


[?25l:  [?12l[?25h    let b:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer curly-brace variable


[?25l:  [?12l[?25h    unlet b:curly_{str}_var


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Script-local tests


[?25l:  [?12l[?25h    source test60.vim


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:version: 1'


[?25l:  [?12l[?25h    if exists('v:version')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:non_exists_var: 0'


[?25l:  [?12l[?25h    if !exists('v:non_exists_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function arguments


[?25l:  [?12l[?25h    function TestFuncArg(func_arg, ...)


[?25l:    [?12l[?25h        echo 'a:func_arg: 1'


[?25l:    [?12l[?25h        if exists('a:func_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:non_exists_arg: 0'


[?25l:    [?12l[?25h        if !exists('a:non_exists_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:1: 1'


[?25l:    [?12l[?25h        if exists('a:1')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:2: 0'


[?25l:    [?12l[?25h        if !exists('a:2')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h    endfunction


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    call TestFuncArg("arg1", "arg2")


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    echo ' g:footest#x =' g:footest#x


[?25l:    [?12l[?25h    echo '   footest#F()' footest#F()


[?25l:    [?12l[?25h    echo 'UndefFun()' UndefFun()


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    redir END


[?25l:    [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hcall TestExists()
[?25l#myagroup: 1

OK


#myagroup+b: 0


OK


#myagroup#BufEnter: 1


OK


#myagroup#BufEnter#*.my: 1


OK


#BufEnter: 1


OK


#BufEnter#*.my: 1


OK


#xyzagroup: 0


OK


#xyzagroup#BufEnter: 0


OK


#myagroup#CmdwinEnter: 0


OK


#myagroup#xyzacmd: 0


OK


#myagroup#BufEnter#xyzpat: 0


OK


#BufEnter#xyzpat: 0


OK


###: 0


OK


##: 0


OK


##FileReadCmd: 1


OK


##MySpecialCmd: 0


OK


&textwidth: 1


OK


&tw: 1


OK


&tw-: 0


OK


&g:errorformat: 1


OK


&l:errorformat: 1


OK


&nojoinspaces: 0


OK


&nojs: 0


OK


&myxyzoption: 0


OK


+incsearch: 1


OK


+incsearch!1: 0


OK


+is: 1


OK


+autoprint: 0


OK


$EDITOR_NAME: 1


OK


$NON_ENV_VAR: 0


OK


*bufnr: 1


OK


*bufnr(): 1


OK


*myxyzfunc: 0


OK


*bufnr&6: 0


OK


*TestExists: 1


OK


*MyxyzFunc: 0


OK


*UndefFun: 0


OK


*footest#F: 0


OK


:edit: 2


OK


:edit/a: 0


OK


:q: 1


OK


:invalidcmd: 0


OK


:MyCmd: 2


OK


:My: 3


OK


:rightbelow: 2


OK


:MyCmd: 0


OK


:My: 0


OK


local_var: 1


OK


local_var%n: 0


OK


local_var: 0


OK


footest#x: 0


OK


local_list: 1


OK


local_list[1]: 1


OK


local_list[1]+5: 0


OK


local_list[2]: 0


OK


local_list: 0


OK


local_dict: 1


OK


local_dict: 0


OK


curly_local_var: 1


OK


curly_local_var: 0


OK


g:global_var: 1


OK


g:global_var-n: 1


OK


g:global_var: 0


OK


g:global_list: 1


OK


g:global_list: 0


OK


g:global_dict: 1


OK


g:global_dict: 0


OK


g:curly_global_var: 1


OK


g:curly_global_var: 0


OK


w:window_var: 1


OK


w:window_var: 0


OK


w:window_list: 1


OK


w:window_list: 0


OK


w:window_dict: 1


OK


w:window_dict: 0


OK


w:curly_window_var: 1


OK


w:curly_window_var: 0


OK


b:buffer_var: 1


OK


b:buffer_var: 0


OK


b:buffer_list: 1


OK


b:buffer_list: 0


OK


b:buffer_dict: 1


OK


b:buffer_dict: 0


OK


b:curly_buffer_var: 1


OK


b:curly_buffer_var: 0


OK


s:script_var: 1


OK


s:script_var: 0


OK


s:script_list: 1


OK


s:script_list: 0


OK


s:script_dict: 1


OK


s:script_dict: 0


OK


s:curly_script_var: 1


OK


s:curly_script_var: 0


OK


*s:my_script_func: 1


OK


*s:my_script_func: 0


OK


v:version: 1


OK


v:non_exists_var: 0


OK


a:func_arg: 1


OK


a:non_exists_arg: 0


OK


a:1: 1


OK


a:2: 0


OK


 g:footest#x = 1


   footest#F() 0


UndefFun() 0


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hdelfunc TestExists
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestFuncArg
[?25l[?12l[?25h[?25l:[?12l[?25hedit! test.out
[?25l"test.out" [Incomplete last line] 206 lines, 1940 characters#myagroup: 1OK

#myagroup+b: 0OK

#myagroup#BufEnter: 1OK#myagroup#BufEnter#*.my: 1OK

#BufEnter: 1OK#BufEnter#*.my: 1OK

#xyzagroup: 0OK#xyzagroup#BufEnter: 0

OK#myagroup#CmdwinEnter: 0

OK

#myagroup#xyzacmd: 0

OK#myagroup#BufEnter#xyzpat: 0

OK[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test60 = test61; then \
#	  if diff test.out test60.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test60.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test64.failed test.ok test.out X* viminfo
cp test64.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/userfunc.o userfunc.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test64.in" 654 lines, 27565 charactersTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns without multi-byte support.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 621 lines, 27090 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:for pat in [' \ze*', ' \zs*']

:  try

:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp engine
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"operator \|
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search single groups
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', '                    ab           ', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search multi-modifiers
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" no match here
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na


sfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" leading star as normal char when \{} follows
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test groups of characters and submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1', 


''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi


iiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe


lix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '


yyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aá ^I', 'aá '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa


','xayzxayz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx


ayzxa',''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test Character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test collections and character range []
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl


mnopqrstuvwxyz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[?12l[?25h[?25l:[?12l[?25h" filename regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[?12l[?25h[?25l:[?12l[?25h" special chars
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[?12l[?25h[?25l:[?12l[?25h" collation elem
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" middle of regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f', "  \na ", "\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f\+', "  \na ", "\na"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \z features
[?25l[?12l[?25h[?25l:[?12l[?25h" match ends at \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" match starts at \zs
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if 


last'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is   [a t', '  '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \@= and \& features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match, no matter the input text
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '


John is Bobs friend'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep


', 'test1'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']


)[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:', 


's'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', '   abxyzc ', 'abxyzc', 'xyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" \%u and friends
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \%[abc]
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'


])[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7


\8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e


', 'f', 'g', 'h', 'i'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo


.com', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo


.bat', 'bat', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$


{0}', '0'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Look-behind with limit
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<


'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<


<'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19


70'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" complicated look-behind match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \@>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Requiring lots of states.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}', "


12345678-1234-1234-1234-123456789012 ", "12345678-1234-1234-1234-123456789012",


"1234-"])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Skip adding state twice
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO", 


"#if", ' FOO'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""" Test \%V atom
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt


ausgabe [Salleck]    Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau


sgabe', 'Gesamt'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.

OK 2 - ^\(.\{-}b\)\@>.

OK 0 - \(.\{-}\)\(\)\@>$

OK 1 - \(.\{-}\)\(\)\@>$

OK 2 - \(.\{-}\)\(\)\@>$

OK 0 - \(a*\)\@>a\|a\+

OK 2 - \(a*\)\@>a\|a\+

OK 0 - \_[^8-9]\+

OK 1 - \_[^8-9]\+

OK 2 - \_[^8-9]\+

OK 0 - \_[^a]\+

OK 1 - \_[^a]\+

OK 2 - \_[^a]\+

OK 0 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 1 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 2 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 0 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 1 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 2 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 0 - \%>70vGesamt

OK 1 - \%>70vGesamt

OK 2 - \%>70vGesamt
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D


ir2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt


'], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" line breaks
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'


, 'XXjk', 'lmn']])
[?25lOK 0 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)


\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca


lnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the multi-line tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='multi-line tests'
[?25l

multi-line tests[?12l[?25h[?25l

:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let before = t[2]


[?25l:  [?12l[?25h:  let after = t[3]


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re ==1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    new


[?25l:    [?12l[?25h:    call setline(1, before)


[?25l:    [?12l[?25h:    exe '%s/' . pat . '/XX/'


[?25l:    [?12l[?25h:    let result = getline(1, '$')


[?25l:    [?12l[?25h:    q!


[?25l:    [?12l[?25h:    if result != after


[?25l:      [?12l[?25h:      $put ='ERROR: pat: \"' . pat . '\", text: \"' . string(before) . 


'\", expected: \"' . string(after) . '\", got: \"' . string(result) . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

:[?12l[?25hunlet t tl
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[?12l[?25h[?25l:[?12l[?25h" matchstr() with \ze in between.
[?25l[?12l[?25h[?25l:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2yank
[?25l[?12l[?25h[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

[?12l[?25h[?25l

<T="5">Ta 5</Title>
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[?12l[?25h[?25l/[?12l[?25h^Behind:
[?25lsearch hit BOTTOM, continuing at TOP:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[?12l[?25h[?25l:[?12l[?25h.yank
[?25l[?12l[?25h[?25lOK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l

[?12l[?25h[?25l

xxstart3
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching Visual area
[?25l[?12l[?25h[?25l/[?12l[?25h^Visual:
[?25lsearch hit BOTTOM, continuing at TOP<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

oooxofor foroxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

search hit BOTTOM, continuing at TOP[?12l[?25h

the[?25l[?12l[?25h[?25lxe the the[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 linexE thE thE
[?12l[?25h

[?25landaxand andaxand 
[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 lineAndAxAnd AndAxAnd[?12l[?25h

ooo[?25l[?12l[?25h[?25lxofor foro[?12l[?25h[?25lx

oooxofor foro[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 linesxOfOr fOrOx

oooxOfOr fOrO
[?12l[?25h[?25l:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25lsearch hit BOTTOM, continuing at TOP
4 lines yanked[?12l[?25h[?25lOK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3
[?12l[?25h[?25l

[?12l[?25h[?25l

4 more lines

thexE thE thExethe4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching marks
[?25l[?12l[?25h[?25l/[?12l[?25h^Marks:
[?25lsearch hit BOTTOM, continuing at TOPasdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

OK 0 - ab

OK 1 - ab

OK 2 - ab

OK 0 - b

OK 1 - b

OK 2 - b

search hit BOTTOM, continuing at TOP[?12l[?25h

asdf[?25l:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25lhereasdf[?12l[?25h

asdf

dfsa
dfsadf[?25l:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l

asdfagainasdfOK 0 - bc*[?12l[?25h[?25l:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25lsearch hit BOTTOM, continuing at TOP
3 lines yanked[?12l[?25h[?25lOK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo
[?12l[?25h[?25l

[?12l[?25h[?25l

3 more linesasdfhereasdf

asdfagainasdf3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check patterns matching cursor position.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! Postest()
[?25l

:  [?12l[?25h new


[?25l:  [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t


\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', '        xxxxxx


xxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx


xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx


xxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx


x xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx


xxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx


xxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x


xxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxxxxx


xxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx'])


[?25l:  [?12l[?25h call setpos('.', [0, 1, 0, 0])


[?25l:  [?12l[?25h s/\%>3c.//g


[?25l:  [?12l[?25h call setpos('.', [0, 2, 4, 0])


[?25l:  [?12l[?25h s/\%#.*$//g


[?25l:  [?12l[?25h call setpos('.', [0, 3, 0, 0])


[?25l:  [?12l[?25h s/\%<3c./_/g


[?25l:  [?12l[?25h %s/\%4l\%>5c./_/g


[?25l:  [?12l[?25h %s/\%6l\%>25v./_/g


[?25l:  [?12l[?25h %s/\%>6l\%3c./!/g


[?25l:  [?12l[?25h %s/\%>7l\%12c./?/g


[?25l:  [?12l[?25h %s/\%>7l\%<9l\%>5v\%<8v./#/g


[?25l:  [?12l[?25h $s/\%(|\u.*\)\@<=[^|\t]\+$//ge


[?25l:  [?12l[?25h 1,$yank


[?25l:  [?12l[?25h quit!


[?25l:  [?12l[?25hendfunc
[?25lOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf[?12l[?25h[?25l255\

OK 0 - a\n^b$\n^cOK 1 - a\n^b$\n^c2

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2<T="5">Ta 5</Title>

<T="7">Ac 7</Title>xxstart3thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooooooxOfOr fOrOxoooasdfhereasdfasdfagainasdf~                                                                               [?12l[?25h[?25l

-0-[?12l[?25h[?25l

:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25loooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf-0-ffobob__ooooo

koooo__moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[?12l[?25h[?25l

-1-[?12l[?25h[?25l

:[?12l[?25hset re=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l-1-

ffo

bob

__ooooo

koooo__

moooooo

   f__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxx xxxx xx xxxxxxxx xxx xxxxxxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-2-[?12l[?25h[?25l:[?12l[?25hset re=2
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l-2-

ffo

bob~                                                                               [?12l[?25h[?25l:[?12l[?25h" start and end of buffer
[?25l[?12l[?25h[?25l/[?12l[?25h\%^
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 2 - \v(a*)+

OK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%^..
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}

OK 1 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

:call add(tl, [2, 'ab', 'aab', 'ab'])

:call add(tl, [2, 'b', 'abcdef', 'b'])

:call add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])

:call add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])

:call add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])

:call add(tl, [2, 'bc*', 'abbdef', 'b'])

:call add(tl, [2, 'c*', 'ccc', 'ccc'])

:call add(tl, [2, 'bc*', 'abdef', 'b'])[?12l[?25h[?25l/[?12l[?25h..\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h
[?25l[?12l[?25h[?25lEN[?12l[?25h[?25l[?12l[?25h[?25lE[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check for detecting error
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=2
[?25l[?12l[?25h[?25l:[?12l[?25hfor pat in [' \ze*', ' \zs*']
[?25l

:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    let l = matchlist('x x', pat)


[?25l:    [?12l[?25h:    $put ='E888 NOT detected for ' . pat


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='E888 detected for ' . pat


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor
[?25lffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?ba

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxxxxxxx xxx xxxxxxx xxxxxxxxx  xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxx xxxx xxx xxxx xxx xxx xxxxxx x xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x x xx xxxxxx xxxxxxx  xxxxxxxxxx xxxxxxxxx xxx xxx xxxxxxxx   xxxx xxx xxxxxx xxxxx xxxxx xx   xxxxxxxxxxxx xxxx xxxxxxxxx xxxxx xxxxx xx xxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxTestEND

EN888 detected for  \ze*

E888 detected for  \zs*[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Write the results """""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1107 lines, 22167 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test64 = test61; then \
#	  if diff test.out test64.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test64.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test65.failed test.ok test.out X* viminfo
cp test65.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test65.in" 95 lines, 2153 charactersTest for floating point and logical operators.



STARTTEST

:so small.vim

:if !has("float")

:  e! test.ok

:  wq! test.out

:endif

:"

:$put =printf('%f', 123.456)

:$put =printf('%e', 123.456)

:$put =printf('%g', 123.456)

:" check we don't crash on division by zero

:echo 1.0 / 0.0

:$put ='+='

:let v = 1.234

:let v += 6.543

:$put =printf('%g', v)

:let v = 1.234

:let v += 5

:$put =printf('%g', v)

:let a = 5

:let a += 3.333[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for floating point and logical operators.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 89 lines, 2067 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'

:$put =and(127, 127)

:$put =and(127, 16)

:$put =and(127, 128)

:$put ='OR'

:$put =or(16, 7)

:$put =or(8, 7)

:$put =or(0, 123)

:$put ='XOR'

:$put =xor(127, 127)

:$put =xor(127, 16)

:$put =xor(127, 128)

:$put ='invert'

:$put =and(invert(127), 65535)

:$put =and(invert(16), 65535)

:$put =and(invert(128), 65535)

:$put =invert(1.0)

:/^Results/,$wq! test.out

ENDTEST



Results of test65:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("float")
[?25l

:  [?12l[?25h:  e! test.ok


[?25l:  [?12l[?25h:  wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%f', 123.456)
[?25l

123.456000[?12l[?25h[?25l

:[?12l[?25h$put =printf('%e', 123.456)
[?25l

1.234560e+02[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 123.456)
[?25l

123.456[?12l[?25h[?25l

:[?12l[?25h" check we don't crash on division by zero
[?25l[?12l[?25h[?25l:[?12l[?25hecho 1.0 / 0.0
[?25linf[?12l[?25h[?25l:[?12l[?25h$put ='+='
[?25l

+=[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 6.543
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

7.777[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 5
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

6.234[?12l[?25h[?25l

:[?12l[?25hlet a = 5
[?25l[?12l[?25h[?25l:[?12l[?25hlet a += 3.333
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(a)
[?25l

8.333[?12l[?25h[?25l

:[?12l[?25h$put ='=='
[?25l

==[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25h$put =v == 1.234
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =v == 1.2341
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='add-subtract'
[?25l

add-subtract[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l

5.234[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l

-6.766[?12l[?25h[?25l

:[?12l[?25h$put ='mult-div'
[?25l

mult-div[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l

4.936[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l

0.003241[?12l[?25h[?25l

:[?12l[?25h$put ='dict'
[?25l

dict[?12l[?25h[?25l

:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l

{'x': 1.234, 'y': -2.0e20}[?12l[?25h[?25l

:[?12l[?25h$put ='list'
[?25l

list[?12l[?25h[?25l

:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l

[-123.4, 2.0e-20][?12l[?25h[?25l

:[?12l[?25h$put ='abs'
[?25l

abs[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(1456))
[?25l

1456[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(-4))
[?25l

4[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25lE745: Using a List as a Number

-1[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l

14.56[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l

54.32[?12l[?25h[?25l

:[?12l[?25h$put ='ceil'
[?25l

ceil[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l

2.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l

-4.0[?12l[?25h[?25l

:[?12l[?25h$put ='floor'
[?25l

floor[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l

-6.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='log10'
[?25l

log10[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(1000))
[?25l

3.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l

-2.0[?12l[?25h[?25l

:[?12l[?25h$put ='pow'
[?25l

pow[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l

27.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l

65536.0[?12l[?25h[?25l

:[?12l[?25h$put ='round'
[?25l

round[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(0.456))
[?25l

0.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(4.5))
[?25l

5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put ='sqrt'
[?25l

sqrt[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l

10.0[?12l[?25h[?25l

:[?12l[?25hecho sqrt(-4.01)
[?25lnan[?12l[?25h[?25l:[?12l[?25h$put ='str2float'
[?25l

str2float[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l

1.0e40[?12l[?25h[?25l

:[?12l[?25h$put ='trunc'
[?25l

trunc[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='float2nr'
[?25l

float2nr[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(123.456)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(-123.456)
[?25l

-123[?12l[?25h[?25l

:[?12l[?25h$put ='AND'
[?25l

AND[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 127)
[?25l

127[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 16)
[?25l

16[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 128)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='OR'
[?25l

OR[?12l[?25h[?25l

:[?12l[?25h$put =or(16, 7)
[?25l

23[?12l[?25h[?25l

:[?12l[?25h$put =or(8, 7)
[?25l

15[?12l[?25h[?25l

:[?12l[?25h$put =or(0, 123)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put ='XOR'
[?25l

XOR[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 127)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 16)
[?25l

111[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 128)
[?25l

255[?12l[?25h[?25l

:[?12l[?25h$put ='invert'
[?25l

invert[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(127), 65535)
[?25l

65408[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(16), 65535)
[?25l

65519[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(128), 65535)
[?25l

65407[?12l[?25h[?25l

:[?12l[?25h$put =invert(1.0)
[?25lE805: Using a Float as a Numbergcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/window.o window.c


0[?12l[?25h[?25l

:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 73 lines, 430 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test65 = test61; then \
#	  if diff test.out test65.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test65.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test66.failed test.ok test.out X* viminfo
cp test66.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test66.in" 33 lines, 509 charactersTest for visual block shift and tab characters.



STARTTEST

:so small.vim

/^one

fe^V4jR^[ugvr1:'<,'>w! test.out

/^abcdefgh

^V4jI    ^[j<<11|D

7|a^[

7|a^[

7|a^[4k13|^V4j<

:$-5,$w >> test.out

:$-4,$s/\s\+//g

^V4kI    ^[j<<

7|a^[

7|a^[

7|a^[4k13|^V4j3<

:$-4,$w >> test.out

:qa!

ENDTEST



one two three[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 234 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^one
[?25l[?12l[?25hon[?25l[?12l[?25h[?25le

one two three

one two three

one two three

one two three[?12l[?25h[?25l

4 fewer linesabcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz[?12l[?25h[?25lmore lines; before #1  0 seconds agoone two three

one two three

one two threeone two threeone two three[?12l[?25h[?25le

one

one

one

on[?12l[?25h[?25l1

on1

on1

on1

on1[?12l[?25h[?25l:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [New File] 5 lines, 70 characters written[?12l[?25h[?25l/[?12l[?25h^abcdefgh
[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25la

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc            defghijklmnopqrstuvwxyz[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 1 timeidefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"6 lines, 151 characters appended[?12l[?25h[?25l:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 linesabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

a

a

a[?12l[?25h[?25l

a

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghij

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghij[?12l[?25h

    ab[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                       defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                 defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 3 timesidefghijklmnopqrstuvwxyz    defghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"5 lines, 147 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test66 = test61; then \
#	  if diff test.out test66.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test66.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test67.failed test.ok test.out X* viminfo
cp test67.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test67.in" 33 lines, 1110 charactersTest that groups and patterns are tested correctly when calling exists() for

autocommands.



STARTTEST

:so small.vim

:let results=[]

:augroup auexists

:augroup END

:call add(results, "##BufEnter: " . exists("##BufEnter"))

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:au BufEnter * let g:entered=1

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:augroup auexists

:au BufEnter * let g:entered=1

:augroup END

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:au BufEnter *.test let g:entered=1

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:edit testfile.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:au BufEnter <buffer> let g:entered=1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest that groups and patterns are tested correctly when calling exists() for[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 999 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:edit testfile2.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:e! test.out

:call append(0, results)

:$d

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet results=[]
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l:[?12l[?25hcall append(0, results)
[?25l##BufEnter: 1

#BufEnter: 0

#BufEnter: 1

#auexists#BufEnter: 0

#auexists#BufEnter: 1

#BufEnter#*.test: 0

#BufEnter#*.test: 1

#BufEnter#<buffer>: 0

#BufEnter#<buffer>: 1

#BufEnter#<buffer>: 0[?12l[?25h[?25l:[?12l[?25h$d
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test67 = test61; then \
#	  if diff test.out test67.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test67.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test68.failed test.ok test.out X* viminfo
cp test68.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test68.in" 131 lines, 1004 charactersTest for text formatting.



Results of test68:



STARTTEST

:so small.vim

/^{/+1

:set noai tw=2 fo=t

gRa b^[

ENDTEST



{





}



STARTTEST

/^{/+1

:set ai tw=2 fo=tw

gqgqjjllab^[

ENDTEST



{[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 48 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset noai tw=2 fo=t
[?25l[?12l[?25h[?25la

b[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l

a  b[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tw
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

[?12l[?25h[?25l

a[?12l[?25ha [?25l

b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=3 fo=t

gqgqo

a ^V^A^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a ^A[?12l[?25h[?25l

:[?12l[?25hset tw=3 fo=t
[?25l[?12l[?25h[?25l

^A[?12l[?25h[?25la

^A
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tcq1 comments=:#

gqgqjgqgqo

a b

#a b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a b[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[?12l[?25h[?25l

#a b[?12l[?25h[?25la b

#a b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 46 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=tcn comments=:#

A b^[jA b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  1 a[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

# 1 a[?12l[?25h[?25l

#   b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+3
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 35 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=t2a si

i  ^[A_^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+3
[?25l{



  x a

  b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=t2a si
[?25l[?12l[?25h[?25l    b[?12l[?25h[?25l b_[?12l[?25h[?25l

c[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=qn comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# 1 a b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=q2 comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# x[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[?12l[?25h[?25l# x a
[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+2
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw& fo=a

I^^^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+2
[?25l{

   1aa

   2bb[?12l[?25h[?25l

:[?12l[?25hset tw& fo=a
[?25l[?12l[?25h[?25l1aa ^^2bb }STARTTEST[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h[?25l

/mno pqr/[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 69 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/

A vwx yz^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25hmno pqr/
[?25l/* abc def ghi jkl

 *    mno pqr stu[?12l[?25h[?25l

:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[?12l[?25h[?25l

*    vwx yz[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^#/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=12 fo=tqnc comments=:#

A foobar^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^#/
[?25l

# 1 xxxxx[?12l[?25h[?25l

:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[?12l[?25h[?25l

#   foobar[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines# 1 a#   b}{

# x a#   b}{ 1aa ^^2bb }/* abc def ghi jkl

 *    mno pqr stu

 *    vwx yz

 */# 1 xxxxx

#   foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 77 lines, 281 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test68 = test61; then \
#	  if diff test.out test68.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test68.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test69.failed test.ok test.out X* viminfo
cp test69.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test69.in" 192 lines, 2185 charactersTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for multi-byte text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 2 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=t
[?25l[?12l[?25h

[?25l

XYZ[?12l[?25h[?25l[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

Z

abc [?12l[?25h[?25l

X[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=1 fo=tm

gqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

X[?12l[?25h[?25l

:[?12l[?25hset tw=1 fo=tm
[?25l[?12l[?25h[?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l

X a
[?12l[?25h[?25l

a[?12l[?25h[?25l

XY
[?12l[?25h[?25l

Y
[?12l[?25h[?25l

X Y
[?12l[?25h[?25l

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c

abXY^[

ENDTEST



{

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h

[?25la[?12l[?25h

[?25la[?12l[?25h

[?25lY
[?12l[?25h

[?25lY 
[?12l[?25h[?25l

aX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abcX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX c
[?12l[?25h[?25lX

c[?12l[?25h[?25l

abXY
[?12l[?25h[?25lX

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25lY

a[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

abc[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

c

ab[?12l[?25h[?25l

X[?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set ai tw=2 fo=tm

gqgqjgqgqo

X

Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

  a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 53 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set noai tw=2 fo=tm

gqgqjgqgqo

  X

  Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset noai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 169 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa

XXY^[

ENDTEST



{

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[?12l[?25h



[?25lXY[?12l[?25h



[?25lXZ
[?12l[?25h



[?25l

X Z
[?12l[?25h[?25l

XX
[?12l[?25h[?25l

XXa
[?12l[?25h[?25l

XXY
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25l

Xa

[?12l[?25h[?25lXa[?12l[?25h[?25lXY

[?12l[?25h[?25lX[?12l[?25h[?25l

Y

[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25lXZ

[?12l[?25h[?25lX [?12l[?25h[?25l

Y

[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25lX Z

[?12l[?25h[?25lX[?12l[?25h[?25l

X

[?12l[?25h[?25lX[?12l[?25h[?25l

Xa

[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 30 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tm

RXa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set mps+=^Vu2018:^Vu2019

d%

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

‘two three ’four[?12l[?25h[?25l

:[?12l[?25hset mps+=^‘:^’
[?25l[?12l[?25h[?25l four[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^ra test
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 16 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTjVjra

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^ra test
[?25l

ra test[?12l[?25h[?25l

abba
[?12l[?25h[?25lbba 
[?12l[?25h[?25l

a

aab 
[?12l[?25h[?25laaaaaaa [?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set whichwrap+=h
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 43 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^x

dh

:set whichwrap-=h

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset whichwrap+=h
[?25l[?12l[?25h[?25l/[?12l[?25h^x
[?25láx[?12l[?25h[?25lx[?12l[?25h

[?25l

:[?12l[?25hset whichwrap-=h
[?25l[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:let a = '.é.' " one char of two bytes
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 548 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let b = '.é.' " normal e with composing char

/^byteidx

:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)])

:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])

/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)])

:let b = '.é.'

:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet a = '.é.' " one char of two bytes
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[?12l[?25h[?25l/[?12l[?25h^byteidx
[?25l

byteidx[?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei


dx(a, 4)])
[?25l:set whichwrap-=h

ENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei


dx(b, 4)])
[?25lENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5[?12l[?25h[?25l

/[?12l[?25h^byteidxcomp
[?25l

byteidxcomp[?12l[?25h[?25l

:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc


omp(a, 3), byteidxcomp(a, 4)])
[?25láxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hlet b = '.eé.'
[?25l[?12l[?25h[?25l:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc


omp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25lSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1]2, 4, 5, -1][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^substitute
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 75 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let y = substitute('123', '\zs', 'a', 'g')    | put =y

ENDTEST[?12l[?25h[?25lsubstitute[?12l[?25h[?25l



:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^substitute
[?25l[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')    | put =y
[?25la1a2a3a[?12l[?25h[?25l



/^STARTTEST


STARTTEST[?12l[?25h[?25l:g/^STARTTEST/.,/^ENDTEST/d

:1;/^Results/,$wq! test.out[?12l[?25h[?25l



:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l



/ENDTEST[?12l[?25h
[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines{ four}ra test

aaaaaaaáxbyteidx[0, 1, 3, 4, -1]

[0, 1, 4, 5, -1]byteidxcomp

[0, 1, 3, 4, -1]

[0, 1, 2, 4, 5, -1]substitute

a1a2a3a[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 166 lines, 730 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test69 = test61; then \
#	  if diff test.out test69.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test69.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test70.failed test.ok test.out X* viminfo
cp test70.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test70.in" 63 lines, 1501 charactersSmoke test for MzScheme interface and mzeval() function



STARTTEST

:so mzscheme.vim

:set nocompatible viminfo+=nviminfo

:function! MzRequire()

:redir => l:mzversion

:mz (version)

:redir END

:if strpart(l:mzversion, 1, 1) < "4"

:" MzScheme versions < 4.x:

:mz (require (prefix vim- vimext))

:else

:" newer versions:

:mz (require (prefix-in vim- 'vimext))

:mz (require r5rs)

:endif

:endfunction

:silent call MzRequire()

:mz (define l '("item0" "dictionary with list OK" "item2"))

:mz (define h (make-hash))

:mz (hash-set! h "list" l)

/^1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSmoke test for MzScheme interface and mzeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1398 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:if l2[2] == l2

:let res = "OK"

:else

:let res = "FAILED: " . l2[2]

:endif

:call setline(search("^3"), "circular test " . res)

:" funcrefs

:mz (define vim:max (vim-eval "function('max')"))

:mz (define m (vim:max '(1 100 8)))

:let m = mzeval('m')

:if m == 100

:let fref_res = "OK"

:else

:let fref_res = "FAILED: " . m

:end

:call append(line('$'), 'funcrefs '. fref_res)

:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mzscheme.vim
[?25l"test.ok" 6 lines, 94 characters


"test.out" [New File] 6 lines, 94 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test70 = test61; then \
#	  if diff test.out test70.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test70.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test73.failed test.ok test.out X* viminfo
cp test73.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test73.in" 169 lines, 3647 charactersTests for find completion.



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xfind directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a stale "Xfind" directory may exist, remove it so that

:" we start from a clean state.

:call delete("Xfind", "rf")

:new

:let cwd=getcwd()

:let test_out = cwd . '/test.out'

:call mkdir('Xfind')

:cd Xfind

:set path=

:find

:exec "w! " . test_out

:close[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for find completion.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 164 lines, 3600 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exec "cd " . cwd . "/Xfind/"

:set path=./path

:" Open the file where Jimmy Hoffa is found

:e in/file.txt

:" Find the file containing 'E.T.' in the Xfind/in/path directory

:find file

:exec "w >>" . test_out

:"

:" Test that completion works when path=.,,

:"

:set path=.,,

:" Open Jimmy Hoffa file

:e in/file.txt

:exec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu

:exec "w >>" . test_out

:q

:exec "cd " . cwd

:call delete("Xfind", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTESTtest73.in                                                                       [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xfind')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE345: Can't find file "" in path[?12l[?25h[?25l:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out"
<ild/vim-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test.out" [New] 0L, 0C written/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25hset path=./**
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('in')
[?25l[?12l[?25h[?25l:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hcall mkdir('path')
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdirtest73.in                                                   [?12l[?25h[?25l:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File]Xfind/file.txt[?12l[?25h[?25l-- INSERT --Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File]in/file.txt[?12l[?25h[?25l-- INSERT --Jimmy Hoffa[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File]stuff.txt[?12l[?25h[?25l-- INSERT --Another Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File]path/file.txt[?12l[?25h[?25l-- INSERT --E.T.[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written    [?12l[?25h[?25l:[?12l[?25hset path=Xfind/**
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[?12l[?25h[?25l:[?12l[?25h" recursive location.
[?25l[?12l[?25h[?25l:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path+=Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[?12l[?25h[?25l:[?12l[?25h" is Xfind/in/file.txt.
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfindin/stuff.txtf       /<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[?12l[?25h
[?25l"file.txt" 1L, 11CHoly Grailfile.txt.     [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25h" Test shortening of
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[?12l[?25h[?25l:[?12l[?25h" of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/file.txt[?12l[?25h[?25l:[?12l[?25hcall mkdir('x')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('y')
[?25l[?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/x[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfindfile.txti                                                          [?12l[?25h[?25l:[?12l[?25h" We should now be in the Xfind directory
[?25l[?12l[?25h[?25l:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File]oo/x/bar/voyager.txt[?12l[?25h[?25l-- INSERT --Voyager 1[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File]y/[?12l[?25h[?25l-- INSERT --Voyager 2[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C1x/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25ly[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C2y/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[?12l[?25h[?25l:[?12l[?25h" order of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    ./voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/fooy/bar/voyager.txt.     [?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/ybar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25lx/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/x/bar/voyager.txt"
<m-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C1/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/x/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check the opposite too:
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foox/bar/voyager.txt/                                                              [?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/xbar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/x/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -o objects/if_lua.o if_lua.c
[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25ly/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/y/bar/voyager.txt"
<m-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C2/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" 1L, 12CJimmy Hoffafile.txti                                                                       [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfindin/file.txt[?12l[?25h[?25l:[?12l[?25hset path=./path
[?25l[?12l[?25h[?25l:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[?12l[?25h[?25l:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that completion works when path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h" Open Jimmy Hoffa file
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[?12l[?25h[?25l:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25hq
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test73 = test61; then \
#	  if diff test.out test73.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test73.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test75.failed test.ok test.out X* viminfo
cp test75.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test75.in" 41 lines, 1000 charactersTests for maparg().

Also test utf8 map with a 0x80 byte.



STARTTEST

:so small.vim

:so mbyte.vim

:set cpo-=<

:set encoding=utf8

:" Test maparg() with a string result

:map foo<C-V> is<F4>foo

:vnoremap <script> <buffer> <expr> <silent> bar isbar

:call append('$', maparg('foo<C-V>'))

:call append('$', string(maparg('foo<C-V>', '', 0, 1)))

:call append('$', string(maparg('bar', '', 0, 1)))

:map <buffer> <nowait> foo bar

:call append('$', string(maparg('foo', '', 0, 1)))

:"

:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for maparg().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 34 lines, 919 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"

:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" Test maparg() with a string result
[?25l[?12l[?25h[?25l:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc x<char-114>x
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc y<S-char-114>y
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25leof

is<F4>foo

{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr':: 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}

{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''sid': 0, 'rhs': 'isbar', 'buffer': 1}

{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''sid': 0, 'rhs': 'bar', 'buffer': 1}

xrx

yRy[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Outside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x1040> a
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25la[?12l[?25h[?25l:[?12l[?25h" Inside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x103f> b
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25lb[?12l[?25h[?25l:[?12l[?25h" Inside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25lc[?12l[?25h[?25l:[?12l[?25h" Outside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf040> d
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25ld[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^eof/+1,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 7 lines, 384 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test75 = test61; then \
#	  if diff test.out test75.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test75.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test77.failed test.ok test.out X* viminfo
cp test77.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test77.in" 30 lines, 719 charactersInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.



cksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST

:so small.vim

:if !executable("cksum")

: e! test.ok

: w! test.out

: qa!

:endif

:set fileformat=unix undolevels=-1

ggdG

:let i = 1

:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhileggdd

:w! Xtest[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 2 million lines with consecutive integers starting from 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 288 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:r !cksum Xtest

:s/\s/ /g

:set fileformat&

:.w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("cksum")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25lcksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST[?12l[?25h[?25l

:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[?12l[?25h[?25lInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil


e/usr/bin/perl -e 'unless ( $] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$_ $_\n" }}' > auto/if_perl.c
/usr/bin/perl /usr/share/perl/5.24/ExtUtils/xsubpp -prototypes -typemap \
    /usr/share/perl/5.24/ExtUtils/typemap if_perl.xs >> auto/if_perl.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perlsfio.o if_perlsfio.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE  -o objects/if_python3.o if_python3.c
[?25l12345678910111213141516171819202122[?12l[?25h[?25l

23[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2000000 lines, 14888896 characters written[?12l[?25h[?25l:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[?25l1

2

3678979763 14888896 Xtest

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22[?12l[?25h[?25l:[?12l[?25hs/\s/ /g
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat&
[?25l[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 26 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test77 = test61; then \
#	  if diff test.out test77.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test77.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test79.failed test.ok test.out X* viminfo
cp test79.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test79.in" 255 lines, 3381 charactersTest for *sub-replace-special* and *sub-replace-expression* on :substitute.

Test for submatch() on :substitue.

Test for *:s%* on :substitute.

Test for :s replacing \n with  line break.



STARTTEST

:so small.vim

ENDTEST



Results of test71:



STARTTEST

:set magic

:set cpo&

/^TEST/

j:s/A/&&/

j:s/B/\&/

j:s/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/

j:s/D/d/

j:s/E/~/

j:s/F/\~/

j:s/G/\ugg/

j:s/H/\Uh\Eh/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_1:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25lA
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l&[?12l[?25h

[?25l:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set nomagic
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 351 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_2:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25l&&
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 203 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\='\\'/

j:s/C/\='^V^M'/

j:s/D/\='\^V^M'/

j:s/E/\='\\^V^M'/

j:s/F/\='\r'/

j:s/G/\='^V^@'/

j:s/H/\='\^V^@'/

j:s/I/\='\\^V^@'/

j:s/J/\='\n'/

j:s/K/\="\r"/

j:s/L/\="\n"/

ENDTEST



TEST_3:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\='\'/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\='\\'/
[?25l\\b
[?12l[?25h

[?25l:[?12l[?25hs/C/\='^^M'/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\='\^^M'/
[?25l\d[?12l[?25h

[?25l





:[?12l[?25hs/E/\='\\^^M'/
[?25l\\

efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\='\r'/
[?25l\rf
[?12l[?25h[?25l

gGg[?12l[?25h[?25l

:[?12l[?25hs/G/\='^^@'/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\='\^^@'/
[?25l

\h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\='\\^^@'/
[?25l

\\

i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\='\n'/
[?25l\nj
[?12l[?25h[?25l

kKk[?12l[?25h[?25l

:[?12l[?25hs/K/\="\r"/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\="\n"/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 611 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\=substitute(submatch(0), '.', '\\', '')/

j:s/C/\=substitute(submatch(0), '.', '^V^M', '')/

j:s/D/\=substitute(submatch(0), '.', '\^V^M', '')/

j:s/E/\=substitute(submatch(0), '.', '\\^V^M', '')/

j:s/F/\=substitute(submatch(0), '.', '\r', '')/

j:s/G/\=substitute(submatch(0), '.', '^V^@', '')/

j:s/H/\=substitute(submatch(0), '.', '\^V^@', '')/

j:s/I/\=substitute(submatch(0), '.', '\\^V^@', '')/

j:s/J/\=substitute(submatch(0), '.', '\n', '')/

j:s/K/\=substitute(submatch(0), '.', "\r", '')/

j:s/L/\=substitute(submatch(0), '.', "\n", '')/

ENDTEST



TEST_4:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^^M', '')/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^^M', '')/
[?25ld[?12l[?25h

[?25l





:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^^M', '')/
[?25l\efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l

f[?12l[?25h[?25l

gGg
[?12l[?25h[?25l

:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^^@', '')/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^^@', '')/
[?25l

h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^^@', '')/
[?25l

\i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l

j[?12l[?25h[?25l

kKk
[?12l[?25h[?25l

:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 445 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST/

j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .. submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch((3) . submatch(2) . submatch(1)/

j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subbmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subbmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l

TEST_5:[?12l[?25h[?25l

A123456789
[?12l[?25h[?25l

:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .


submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(


3) . submatch(2) . submatch(1)/
[?25li\

i987654321[?12l[?25h[?25l

B123456789
[?12l[?25h[?25l

:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub


match(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub


match(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25li

j[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^TEST/

:set cpo+=/

j:s/A/a/

j:s/B/%/

:set cpo-=/

j:s/C/c/

j:s/D/%/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25lTEST_6:

A

B[?12l[?25h[?25l





:[?12l[?25hset cpo+=/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/a/
[?25la[?12l[?25h

[?25l:[?12l[?25hs/B/%/
[?25la[?12l[?25h[?25l:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25lC

D[?12l[?25h[?25l





:[?12l[?25hs/C/c/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/%/
[?25l%[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 11 lines, 303 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST_7/

j:s/A./\=submatch(0)/

j:s/B./\=submatch(0)/

j:s/C./\=strtrans(string(submatch(0, 1)))/

j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/

j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/

/^Q$

:s/Q[^\n]Q/\=submatch(0)."foobar"/

:" Avoid :s error breaks dotest map on Windows.

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST_7/
[?25l

TEST_7:[?12l[?25h[?25l

A^MA
[?12l[?25h[?25l

:[?12l[?25hs/A./\=submatch(0)/
[?25l

A[?12l[?25h[?25l

B^@B
[?12l[?25h[?25l

:[?12l[?25hs/B./\=submatch(0)/
[?25l

B[?12l[?25h[?25l

C^@C
[?12l[?25h[?25l

:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l['C^@']C
[?12l[?25h[?25l

D^@[?12l[?25h[?25l

:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l['D^@', 'D']
[?12l[?25h[?25l

E^@[?12l[?25h[?25l

:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l/[?12l[?25h^Q$
[?25l

Q[?12l[?25h[?25l

:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25lE486: Pattern not found: Q[^\n]Q[?12l[?25h[?25l:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[?12l[?25h[?25l/^STARTTEST
Q



STARTTEST[?12l[?25h[?25l

:function! TitleString()
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 177 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTlet check = 'foo' =~ 'bar'

  return ""

endfunction

:set titlestring=%{TitleString()}

:/^test_one/s/.*/\="foo\nbar"/

:/^test_two/s/.*/\="foo\nbar"/c

y

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hfunction! TitleString()
[?25l

:  [?12l[?25h  let check = 'foo' =~ 'bar'


[?25l:  [?12l[?25h  return ""


[?25l:  [?12l[?25hendfunction
[?25lTEST_7:

A[?12l[?25h[?25l

:[?12l[?25hset titlestring=%{TitleString()}
[?25l[?12l[?25h[?25l:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25lfoo

bar[?12l[?25h[?25l

:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l

test_tworeplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l

foobar
[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 72 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer linesaa

c

%TEST_7:AABB['C^@']C['D^@', 'D']

['E^@', '^@', '^@', '^@', '^@E']

Q

Qfoo

bar

foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 134 lines, 574 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test79 = test61; then \
#	  if diff test.out test79.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test79.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test80.failed test.ok test.out X* viminfo
cp test80.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test80.in" 201 lines, 6298 charactersTest for *sub-replace-special* and *sub-replace-expression* on substitute().

Test for submatch() on substitute().

Test for *:s%* on :substitute.



STARTTEST

:so small.vim

ENDTEST



TEST_1:



STARTTEST

:set magic

:set cpo&

:$put =\"\n\nTEST_1:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

:$put =substitute('F', 'F', '\~', '')

:$put =substitute('G', 'G', '\ugg', '')

:$put =substitute('H', 'H', '\Uh\Eh', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on substitute().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1142 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25l:let y = substitute('123', '\zs.', 'a', 'g')| $put =y.\zs\ze', 'a', 'g') .', 'a', 'g').\ze1\|\ze', 'a', 'g')zs\|[23]', 'a', 'g')

/^TEST_11ENDTESTTEST_11:STARTTEST

:/^Results/,$wq! test.out

ENDTESTResults of test72:TEST_1:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l

x^Mx[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l

YyyY[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l

zZZz[?12l[?25h[?25l

/[?12l[?25h^TEST_2
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1144 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

u

u

v^Hv

w\w

x^Mx

YyyY

zZZz





TEST_2:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25lKk

l^Ml

mm

nn

op^Hp

q       q

r\rscs

uv^Hv

w\wx^Mx

YyyY

zZZzTEST_2:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l

t^Mt[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l

XxxX[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l

yYYy[?12l[?25h[?25l

/[?12l[?25h^TEST_3
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 642 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

t^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '')           | $put =y
[?25l

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '')         | $put =y
[?25l

b\\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\="^^M"', '')         | $put =y
[?25l

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^^M"', '')       | $put =y
[?25l

d\^Md[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^^M"', '')     | $put =y
[?25l

e\\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '')          | $put =y
[?25l

f\rf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '')          | $put =y
[?25l

j\nj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '')           | $put =y
[?25l

k^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '')           | $put =y
[?25ll

l[?12l[?25h[?25l

/[?12l[?25h^TEST_4
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST



TEST_4:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_4:\"

:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')        | $put =y

:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', ''')     | $put =y

:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^V^M", "")', ''')     | $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 912 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^V^M", "")',  '')   | $put =y

:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^V^M", "")'', '') | $put =y

:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))      | $put =y

:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more linest^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

a\a

b\\b

c^Mc

d\^Md

e\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')


      | $put =y
[?25lu



v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '


')     | $put =y
[?25lu

v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^^M", "")', '')


    | $put =y
[?25lv^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^^M", "")', '


')   | $put =y
[?25lw\w

XxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^^M", "")',


'') | $put =y
[?25lXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''


)      | $put =y
[?25lyYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''


)      | $put =y
[?25lTEST_3:

a\a

b\\bc^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')


      | $put =y
[?25lTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')


      | $put =y
[?25lb\\b

c^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jjk^Mk

l

l[?12l[?25h[?25l

/[?12l[?25h^TEST_5
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST



TEST_5:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 543 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more linese\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm


atch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25lf\rf

j\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su


bmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su


bmatch(1, 1)])', '')
[?25lj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/[?12l[?25h^TEST_6
[?25lsearch hit BOTTOM, continuing at TOP:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

ENDTEST



TEST_6:



STARTTEST

:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25lTEST_7:[?12l[?25h[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more linesl





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

3 more lines[?12l[?25h[?25l:[?12l[?25hset cpo+=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l

%[?12l[?25h[?25l

:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l

c[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l

%[?12l[?25h[?25l

/[?12l[?25h^TEST_7
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

ENDTEST



TEST_7:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 313 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more linesd^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A^^MA', 'A.', '\=submatch(0)', '')
[?25l

A^MA[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25lB

B[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l['B

']B[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l

-abab[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l

c-cbcbc[?12l[?25h[?25l

/[?12l[?25h^TEST_8
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

ENDTEST



TEST_8:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 10 lines, 186 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTyy/^TEST_9:

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more linesTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =',,X'
[?25l

,,X[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25lN,,NX
[?12l[?25h[?25l:[?12l[?25h$put =',,Y'
[?25l

,,Y[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,NY
[?12l[?25h[?25l

:[?12l[?25h$put =',,Z'
[?25l

,,Z[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,Z

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l,NZ
[?12l[?25h[?25l

/[?12l[?25h^TEST_9:
[?25lsearch hit BOTTOM, continuing at TOP:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

yy/^TEST_9:

ENDTEST



TEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 82 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more linesa

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put ='xxx'
[?25l

xxx[?12l[?25h[?25l

:[?12l[?25hs/x/X/gc
[?25lx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lx[?12l[?25h[?25l

/[?12l[?25h^TEST_10:
[?25lsearch hit BOTTOM, continuing at TOPTEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 584 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more linesTEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

XXx





TEST_10:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g')            | $put =y
[?25l

1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g')            | $put =y
[?25l

a1a2a3[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g')          | $put =y
[?25l

aa2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y
[?25l

1aaa[?12l[?25h[?25l

/[?12l[?25h^TEST_11
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

AA

&

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [New File] 131 lines, 617 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test80 = test61; then \
#	  if diff test.out test80.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test80.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test82.failed test.ok test.out X* viminfo
cp test82.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test82.in" 103 lines, 3166 charactersTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 97 lines, 3055 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("multi_byte")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor[?12l[?25h[?25l





:[?12l[?25hset enc=utf8
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Ch(a, op, b, expected)
[?25l

:  [?12l[?25h:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected


[?25l:    [?12l[?25h:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a


:op, a:b, a:expected))


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    let b:passed += 1


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Chk(a, b, result)
[?25l

:  [?12l[?25h:  if a:result == 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  elseif a:result > 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 1)


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Check(a, b, result)
[?25l

:  [?12l[?25h:  call Chk(a:a, a:b, a:result)


[?25l:  [?12l[?25h:  call Chk(a:b, a:a, -a:result)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! LT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, -1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! EQ(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 0)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet b:passed=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('', '')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('', 'a')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('abc', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('AB', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'aBc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\


xd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\


xd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x


aakk\xe2\x84\xa6')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def')  " case folding stops at the first bad cha


racter
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a')  " FF3A (upper), FF5A (lower)
[?25l[?12l[?25h[?25l:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff')  " first string is ok and equals \xef\


xbd\x9a after folding, second string is illegal and was left unchanged, then the


strings were bytewise compared
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.


2X', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l3732 checks passed[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       3732 checks passedtest82.in [+]                                                                   [?12l[?25h[?25labcddefg[+][?12l[?25h[?25lABCD
[?12l[?25h[?25l:[?12l[?25hlet lns = getline(1,3)
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l3732 checks passed



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), lns)
[?25lABCDdefg[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 5 lines, 31 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test82 = test61; then \
#	  if diff test.out test82.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test82.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test84.failed test.ok test.out X* viminfo
cp test84.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/if_tcl.o if_tcl.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test84.in" 35 lines, 786 charactersTests for curswant not changing when setting an option



STARTTEST

:so small.vim

:/^start target options$/+1,/^end target options$/-1 yank

:let target_option_names = split(@0)

:function TestCurswant(option_name)

:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction

:

:new

:put =['1234567890', '12345']

:1 delete _

:let result = []

:for option_name in target_option_names

:  call add(result, TestCurswant(option_name))

:endfor

:

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for curswant not changing when setting an option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 637 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _

:write test.out

:

:qall!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[?12l[?25h[?25l:[?12l[?25hlet target_option_names = split(@0)
[?25l[?12l[?25h[?25l:[?12l[?25hfunction TestCurswant(option_name)
[?25l

:  [?12l[?25h:  normal! ggf8j


[?25l:  [?12l[?25h:  let curswant_before = winsaveview().curswant


[?25l:  [?12l[?25h:  execute 'let' '&'.a:option_name '=' '&'.a:option_name


[?25l:  [?12l[?25h:  let curswant_after = winsaveview().curswant


[?25l:  [?12l[?25h:  return [a:option_name, curswant_before, curswant_after]


[?25l:  [?12l[?25h:endfunction
[?25l:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       endfornew

:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _write test.outqall!

ENDTESTtest84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =['1234567890', '12345']
[?25l123456789012345[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hlet result = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor option_name in target_option_names
[?25l

:  [?12l[?25h:  call add(result, TestCurswant(option_name))


[?25l:  [?12l[?25h:endfor
[?25l1234567890

12345[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       1234567890

12345

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   :1 delete _

:write test.out

:

:qall!

ENDTEST



test84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more linestabstop 7 4timeoutlen 7 7ttimeoutlen 7 7[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hwrite test.out
[?25l"test.out" [New File] 3 lines, 43 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hqall!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test84 = test61; then \
#	  if diff test.out test84.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test84.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test88.failed test.ok test.out X* viminfo
cp test88.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test88.in" 99 lines, 1449 charactersvim: set ft=vim



Tests for correct display (cursor column position) with +conceal and

tabulators.



STARTTEST

:so small.vim

:if !has('conceal')

   e! test.ok

   wq! test.out

:endif

:" Conceal settings.

:set conceallevel=2

:set concealcursor=nc

:syntax match test /|/ conceal

:" Save current cursor position. Only works in <expr> mode, can't be used

:" with :normal because it moves the cursor to the command line. Thanks to ZyX

:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.

:let positions = []

:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"

:" Start test.

/^start:

:normal ztj[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lvim: set ft=vim[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 82 lines, 1216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:normal W

GGk

:normal W

GGk

:normal W

GGk

:normal $

GGk

:" Display result.

:call append('$', 'end:')

:call append('$', positions)

:/^end/,$wq! test.out

ENDTEST



start:

.concealed.     text

|concealed|     text.concealed.     text|concealed|     text



.a.     .b.     .c.     .d.

|a|     |b|     |c|     |d|[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('conceal')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:normal W

GGk

:normal W[?12l[?25h[?25l:[?12l[?25h" Conceal settings.
[?25l[?12l[?25h[?25l:[?12l[?25hset conceallevel=2
[?25l[?12l[?25h[?25l:[?12l[?25hset concealcursor=nc
[?25l[?12l[?25h[?25l:[?12l[?25hsyntax match test /|/ conceal
[?25lconcealed  concealed  





a       b       c       d[?12l[?25h[?25l:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[?12l[?25h[?25l:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[?12l[?25h[?25l:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[?12l[?25h[?25l:[?12l[?25hlet positions = []
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[?12l[?25h[?25l:[?12l[?25h" Start test.
[?25l[?12l[?25h[?25l/[?12l[?25h^start:
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ztj
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:let positions += ['2:1']
[?12l[?25h[?25l:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[?12l[?25h[?25l:[?12l[?25h" lines.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['2:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['2:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['3:1']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['3:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['3:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['5:8']
[?12l[?25h[?25l:[?12l[?25h" Same for next test block.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['5:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['5:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['6:8']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['6:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['6:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['8:1']
[?12l[?25h[?25l:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['8:27']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset lbr
[?25l[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset list listchars=tab:>-
[?25l>------



>------->----

>------->------>----.b.>----.c.>----

a>------b>------c>------[?12l[?25h[?25l:[?12l[?25hnormal 0
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25h" Display result.
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', 'end:')
[?25lend:[?12l[?25h[?25l:[?12l[?25hcall append('$', positions)
[?25l2:12:172:203:13:173:205:85:255:286:86:256:288:1[?12l[?25h[?25l:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [New File] 29 lines, 135 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test88 = test61; then \
#	  if diff test.out test88.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test88.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test90.failed test.ok test.out X* viminfo
cp test90.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test90.in" 53 lines, 1204 charactersTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :



STARTTEST

:so small.vim

:if !has('cryptv') || !exists('*sha256')

   e! test.ok

   wq! test.out

:endif

:"

:let testcase='test for empty string: '

:if sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522b855'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for 1 char: '

:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afeee48bb'

: let res='ok'

:else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for contains non-ascii char: '

:if sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00b8d27db8d5feaa813953'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc3[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for empty string: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785


2b855'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25l

test for empty string: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 1 char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af


ee48bb'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for 1 char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61


f20015ad'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25ltest for 3 chars: ok

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c


c39ed110ca776'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25ltest for contains meta char: ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb


0b8d27db8d5feaa813953'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for contains non-ascii char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 6 lines, 143 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test90 = test61; then \
#	  if diff test.out test90.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test90.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test91.failed test.ok test.out X* viminfo
cp test91.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test91.in" 116 lines, 3240 charactersTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().

vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Use strings to test for memory leaks.

:" First, check that in an empty window, gettabvar() returns the correct value

:let t:testvar='abcd'

:$put =string(gettabvar(1,'testvar'))

:$put =string(gettabvar(1,'testvar'))

:" Test for getbufvar()

:let b:var_num = '1234'

:let def_num = '5678'

:$put =string(getbufvar(1, 'var_num'))

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))

:unlet b:var_num

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 109 lines, 3127 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:tabnext

:3wincmd w

:unlet w:var_dict

:tabrewind

:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:$put =string(gettabwinvar(2, 9, ''))

:$put =string(gettabwinvar(2, 9, '', def_dict))

:$put =string(gettabwinvar(9, 3, ''))

:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict

:$put =string(gettabwinvar(2, 3, '&nux'))

:$put =string(gettabwinvar(2, 3, '&nux', 1))

:tabonly

:"

:/^start/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Use strings to test for memory leaks.
[?25l[?12l[?25h[?25l:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:testvar='abcd'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h" Test for getbufvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:var_num = '1234'
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_num = '5678'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25hunlet b:var_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25hunlet def_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Open new window with forced option values
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       {'var_num': '1234'}



'5678'{}''

'5678'

0test91.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25l:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict:$put =string(gettabwinvar(2, 3, '&nux')):$put =string(gettabwinvar(2, 3, '&nux', 1)):tabonly:":/^start/,$wq! test.outENDTESTstart:'abcd''abcd''1234'{'var_num': '1234'}

'5678'



{}

'''5678'



0[?12l[?25h[?25l:[?12l[?25h$put =otherff
[?25l

dos[?12l[?25h[?25l

:[?12l[?25h$put =string(otherbin)
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =otherfenc
[?25l

iso-8859-2[?12l[?25h[?25l

:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[?12l[?25h[?25l:[?12l[?25h" test for getwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet w:var_str = "Dance"
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_str = "Chance"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25hunlet w:var_str
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu',  1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25hunlet def_str
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:other = 777
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X{'var_num': '1234'}

'5678'

{}

{}

''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list'))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25htablast
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hunlet t:var_list
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25hunlet def_list
[?25l[?12l[?25h[?25l:[?12l[?25htabonly
[?25ldos[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabprev
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hsplit
[?25l2N o[No Name]  [No Name]  X[No Name]                                                                       [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hsplit
[?25l + test91.in  3 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                                                        [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25hvert split
[?25l4  X||||||~~~~~[No Name]                              [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                 [No Name]                               X[?12l[?25h[?25l:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd b
[?25l[No Name]                               [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict'))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25htabnext
[?25l + test91.in  4 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ||||||~                                       

~                                       

~                                       

~                                       

~                                       

[No Name]                                ~                                      ~                                      ~                                      ~                                      ~                                      [No Name]                              ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                              [No Name]                                                                         X[?12l[?25h[?25l:[?12l[?25hunlet w:var_dict
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]

{'dict': 'tabwin'}

{'dict': 'tabwin'}

{'var_dict': {'dict': 'tabwin'}}

{'var_dict': {'dict': 'tabwin'}}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25hunlet def_dict
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l

1[?12l[?25h[?25l

:[?12l[?25htabonly
[?25l0[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 50 lines, 530 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test91 = test61; then \
#	  if diff test.out test91.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test91.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test94.failed test.ok test.out X* viminfo
cp test94.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -o objects/if_ruby.o if_ruby.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test94.in" 256 lines, 4824 charactersTest for Visual mode and operators



Tests for the two kinds of operations: Those executed with Visual mode

followed by an operator and those executed via Operator-pending mode. Also

part of the test are mappings, counts, and repetition with the . command.



Test cases:

- Visual modes (v V CTRL-V) followed by an operator; count; repeating

- Visual mode maps; count; repeating

  - Simple

  - With an Ex command (custom text object)

- Operator-pending mode maps

  - Simple

  - With Ex command moving the cursor

  - With Ex command and Visual selection (custom text object)

- Patch 7.3.879: Properly abort Ex command in Operator-pending mode



STARTTEST

:so small.vim

:set enc=utf-8 nocp viminfo+=nviminfo

:

:" User functions

:function MoveToCap()[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Visual mode and operators[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 211 lines, 3837 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" User functions
[?25l[?12l[?25h[?25l:[?12l[?25hfunction MoveToCap()
[?25l

:  [?12l[?25h:  call search('\u', 'W')


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'[?12l[?25h[?25l:[?12l[?25hfunction SelectInCaps()
[?25l

:  [?12l[?25h:  let [line1, col1] = searchpos('\u', 'bcnW')


[?25l:  [?12l[?25h:  let [line2, col2] = searchpos('.\u', 'nW')


[?25l:  [?12l[?25h:  call setpos("'<", [0, line1, col1, 0])


[?25l:  [?12l[?25h:  call setpos("'>", [0, line2, col2, 0])


[?25l:  [?12l[?25h:  normal! gv


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual modes followed by operator
[?25l[?12l[?25h[?25l/[?12l[?25h^apple
[?25l[?12l[?25ha[?25l-- VISUAL --[?12l[?25h[?25lp[?12l[?25h[?25lle banana cherry[?12l[?25h[?25l banana cherry[?12l[?25h [?25lbanan-- VISUAL --[?12l[?25h[?25l
a  cherry[?12l[?25h[?25ly[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^line 1
[?25l[?12l[?25h[?25lline 1 line 1 -- VISUAL LINE --[?12l[?25h[?25lINSERT --Nnewline[?12l[?25h[?25l-- INSERT --newline[?12l[?25h[?25l
line 3 line 3 

line 4 line 4 





-- VISUAL LINE --[?12l[?25h[?25lline 5 line 5line 6 line 6xxxxxxxxxxxxx[?12l[?25h[?25lxxxxxxxxxxxxx

xxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^xxxx
[?25l[?12l[?25h[?25l





-- VISUAL BLOCK --[?12l[?25h[?25lx

[?12l[?25h[?25lx

x[?12l[?25h[?25lINSERT --O  

  [?12l[?25h [?25l





-- INSERT --  

    [?12l[?25h [?25l

xxxx

    xxxx

xxxxxxxx

xxxxxxxxxxxxx

-- VISUAL BLOCK --[?12l[?25h[?25l

-- INSERT --O----

    ----

xxxx----

xxxx----[?12l[?25h-[?25l-- INSERT ------------------[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Kiwi
[?25lKiwiRaspberryDateWatermelonPeach[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25l/\u/s-1
Kiw[?12l[?25h[?25l

-- INSERT --NoRaspberryDateWatermelonPeach[?12l[?25ho[?25l

-- INSERT --NoberryDateWatermelonPeach[?12l[?25hoberry[?25lDateWat

-- VISUAL --[?12l[?25h[?25lrmelonPeach[?12l[?25h[?25lach[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Jambu
[?25l

JambuRambutanBananaTangerineMango[?12l[?25hJa[?25l

-- VISUAL --[?12l[?25h[?25l:'<,'>call SelectInCaps()
Jamb[?12l[?25h[?25l

-- INSERT ---RambutanBananaTangerineMango[?12l[?25h-[?25l

-- INSERT ---tanBananaTangerineMango[?12l[?25h-[?25ltanBanana

-- VISUAL --[?12l[?25h[?25l
--angerineMango[?12l[?25ha[?25lgo[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25honoremap W /\u/<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Pineapple
[?25lPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h[?25l

/\u/
-QuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---LoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---GrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---Z[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Juniper
[?25l

JuniperDurianZ[?12l[?25h[?25l

:call MoveToCap()
Whavcre
[?12l[?25h[?25l:call MoveToCap()
Qhevna[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Lemon
[?25l

LemonNectarineZ[?12l[?25h[?25l

:call SelectInCaps()
[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l:call SelectInCaps()
NewNectarineZ[?12l[?25hwNecta[?25l

:call SelectInCaps()
wZ[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[?12l[?25h[?25l/[?12l[?25h^zzzz
[?25lzzzz[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25lE21: Cannot make changes, 'modifiable' is off[?12l[?25h[?25l:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l

characterwise visual mode: replace last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25hlet @" = 'x'
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l

v:errmsg=[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l

characterwise visual mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l

characterwise visual mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l

characterwise visual mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l

characterwise visual mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Select mode maps
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>End> <End>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l

characterwise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l

characterwise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l

characterwise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- SELECT --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l

characterwise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- SELECT --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l

linewise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25lbc

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l

linewise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25la

b 
[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l

linewise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lc 

-- SELECT LINE --[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l

linewise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lb 



-- SELECT LINE --[?12l[?25h[?25lb

c 
[?12l[?25h[?25l~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l

v_p: replace last character with line register at middle line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25laaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25lccc

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting


newline'
[?25llinewise select mode: delete middle two line

c---linewise select mode: delete last line

ab

---linewise select mode: delete last two line

a---v_p: replace last character with line register at middle line

aaabbaaaccc

---v_p: replace last character with line register at middle line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25lb[?12l[?25h[?25laaa[?12l[?25h[?25l

ccc
[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l

v_p: replace last character with line register at last line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n


ewline'
[?25laaa

bbaaaccc

---v_p: replace last character with line register at middle line selecting newline

aaabbaaa

ccc

---v_p: replace last character with line register at last line

aaabbb

ccaaa---v_p: replace last character with line register at last line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l

gv in exclusive select mode after operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25h$put ='äà '
[?25l

äÃ[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h

[?25l

-- VISUAL --[?12l[?25h[?25läÃ[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l

gv in exclusive select mode without operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h/^start:/+2,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 123L, 1328C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test94 = test61; then \
#	  if diff test.out test94.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test94.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test95.failed test.ok test.out X* viminfo
cp test95.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test95.in" 141 lines, 5827 charactersTest for regexp patterns with multi-byte support, using utf-8.

See test64 for the non-multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:so mbyte.vim

:set nocp encoding=utf-8 viminfo+=nviminfo nomore

:" tl is a List of Lists with:

:"    2: test auto/old/new  0: test auto/old  1: test auto/new

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:

:"""" Multi-byte character tests. These will fail unless vim is compiled

:"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns with multi-byte support, using utf-8.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 131 lines, 5590 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h[?25l





:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    2: test auto/old/new  0: test auto/old  1: test auto/new
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[?12l[?25h[?25l:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])^I^I^I^I^I^I^I^I" equivalence


classes
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij


asoifjos'])
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']


)[?25l:endif[?12l[?25h[?25l





:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" this is not a normal "i" but 0xec
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p\+', 'ìa', 'ìa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aあ', 'aあ'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of some character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\i\+', '&*¨xx ', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\f\+', '&*<9f>fname ', 'fname'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test composing character matching
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.ม', 'xมม่x yมy', 'yม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.มม่', 'xมม่x yมy', 'xมม่'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ca", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\%C', "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%C', "ca\u0300t", "ca\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%Ct', "ca\u0300t", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test \Z
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ú\Z', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְ\Z', 'ווְייַ', 'ייַ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\\+\\Z", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\\Z\u05b9\\+", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[=a=]]\+', 'ddaãâbcd', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25lOK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi double: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25lOK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25lOK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0

eng 2 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi double: 0[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 140L, 2022C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test95 = test61; then \
#	  if diff test.out test95.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test95.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test98.failed test.ok test.out X* viminfo
cp test98.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/netbeans.o netbeans.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test98.in" 43 lines, 908 charactersTest for 'scrollbind' causing an unexpected scroll of one of the windows.

STARTTEST

:so small.vim

:" We don't want the status line to cause problems:

:set laststatus=0

:let g:totalLines = &lines * 20

:let middle = g:totalLines / 2

:wincmd n

:wincmd o

:for i in range(1, g:totalLines)

:    call setline(i, 'LINE ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:aboveleft vert new

:for i in range(1, g:totalLines)

:    call setline(i, 'line ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:" Execute the following two command at once to reproduce the problem.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind' causing an unexpected scroll of one of the windows.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 791 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:setl scb | wincmd p

:setl scb

:wincmd w

:let topLineLeft = line('w0')

:wincmd p

:let topLineRight = line('w0')

:setl noscrollbind

:wincmd p

:setl noscrollbind

:q!

:%del _

:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight))

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We don't want the status line to cause problems:
[?25l[?12l[?25h[?25l:[?12l[?25hset laststatus=0
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[?12l[?25h[?25l:[?12l[?25hlet middle = g:totalLines / 2
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd n
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd o
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'LINE ' . i)


[?25l:  [?12l[?25h:endfor
[?25lLINE 1

LINE 2

LINE 3LINE 4LINE 5LINE 6LINE 7LINE 8LINE 9LINE 10LINE 11LINE 12LINE 13LINE 14LINE 15LINE 16LINE 17LINE 18LINE 19LINE 20LINE 21LINE 22LINE 23[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25lLINE 229

LINE 230

LINE 231

LINE 232

LINE 233

LINE 234

LINE 235

LINE 236

LINE 237

LINE 238

LINE 239

LINE 240

LINE 241

LINE 242

LINE 243

LINE 244

LINE 245

LINE 246

LINE 247

LINE 248

LINE 249

LINE 250

LINE 251[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lLINE 252

LINE 253

LINE 254

LINE 255

LINE 256

LINE 257

LINE 258

LINE 259

LINE 260

LINE 261

LINE 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25haboveleft vert new
[?25l        |||||||||||||||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       LINE 240LINE 241LINE 242LINE 243LINE 244LINE 245LINE 246LINE 247LINE 248LINE 249LINE 250LINE 251LINE 252LINE 253LINE 254LINE 255LINE 256LINE 257LINE 258LINE 259LINE 260LINE 261LINE 262[?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'line ' . i)


[?25l:  [?12l[?25h:endfor
[?25lline 1|

line 2|

line 3                                  

line 4                                  

line 5                                  

line 6                                  

line 7                                  

line 8                                  

line 9                                  

line 10                                 

line 11                                 

line 12                                 

line 13                                 

line 14                                 

line 15                                 

line 16                                 

line 17                                 

line 18                                 

line 19                                 

line 20                                 

line 21                                 

line 22                                 

line 23                                 LINE 240LINE 241[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25l2293023123223323423523623723823924024124224324424524624748495051[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lline 240                                

line 241                                

line 242                                

line 243                                

line 244                                

line 245                                

line 246                                

line 247                                

line 248                                

line 249                                

line 250                                

line 251                                

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        line 252

line 253

line 254

line 255

line 256

line 257

line 258

line 259

line 260

line 261

line 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb | wincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineLeft = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineRight = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25lLINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINE[?12l[?25h[?25l:[?12l[?25h%del _
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t


opLineLeft - topLineRight))
[?25lDifference between the top lines (left - right): 0[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 51 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters:normal M:" Execute the following two command at once to reproduce the problem.:setl scb | wincmd p:setl scb:wincmd w:let topLineLeft = line('w0'):wincmd p:let topLineRight = line('w0'):setl noscrollbind:wincmd p:setl noscrollbind:q!:%del _:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight)):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test98 = test61; then \
#	  if diff test.out test98.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test98.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test99.failed test.ok test.out X* viminfo
cp test99.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test99.in" 69 lines, 1400 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test44 for exactly the same test with re=1.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=2

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 43 lines, 931 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


/[?12l[?25h[\u4f7f\u5929]\+
[?25l


/[?12l[?25h\%U12345678
[?25l


/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l"test.out" 23L, 264C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test99 = test61; then \
#	  if diff test.out test99.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test99.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test103.failed test.ok test.out X* viminfo
cp test103.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test103.in" 37 lines, 823 charactersTest for visual mode not being reset causing E315 error.

STARTTEST

:so small.vim

:enew

:let g:msg="Everything's fine."

:function! TriggerTheProblem()

:" At this point there is no visual selection because :call reset it.

:" Let's restore the selection:

:normal gv

:'<,'>del _

:try

:exe "normal \<Esc>"

:catch /^Vim\%((\a\+)\)\=:E315/

:echom 'Snap! E315 error!'

:let g:msg='Snap! E315 error!'

:endtry

:endfunction

:enew

:setl buftype=nofile

:call append(line('$'), 'Delete this line.')

:"

:"

:" NOTE: this has to be done by a call to a function because executing :del the[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for visual mode not being reset causing E315 error.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 723 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"ex-way will require the colon operator which resets the visual mode thuus

:"preventing the problem:

:"

GV:call TriggerTheProblem()

:%del _

:call append(line('$'), g:msg)

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25henew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:msg="Everything's fine."
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! TriggerTheProblem()
[?25l

:  [?12l[?25h:^I" At this point there is no visual selection because :call reset it.


[?25l:  [?12l[?25h:^I" Let's restore the selection:


[?25l:  [?12l[?25h:^Inormal gv


[?25l:  [?12l[?25h:^I'<,'>del _


[?25l:  [?12l[?25h:^Itry


[?25l:    [?12l[?25h:^I^Iexe "normal \<Esc>"


[?25l:    [?12l[?25h:^Icatch /^Vim\%((\a\+)\)\=:E315/


[?25l:    [?12l[?25h:^I^Iechom 'Snap! E315 error!'


[?25l:    [?12l[?25h:^I^Ilet g:msg='Snap! E315 error!'


[?25l:    [?12l[?25h:^Iendtry


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25henew
[?25l[?12l[?25h[?25l:[?12l[?25hsetl buftype=nofile
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25lDelete this line.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[?12l[?25h[?25l:[?12l[?25h"       ex-way will require the colon operator which resets the visual mode th


us[?25l[?12l[?25h[?25l:[?12l[?25h"       preventing the problem:
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h

[?25lDelete this line. 
[?12l[?25h[?25l:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h%del _
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), g:msg)
[?25lEverything's fine.[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters:endtry

:endfunction:enew:setl buftype=nofile:call append(line('$'), 'Delete this line.'):":":" NOTE: this has to be done by a call to a function because executing :del the:"       ex-way will require the colon operator which resets the visual mode thuus:"       preventing the problem::"GV:call TriggerTheProblem():%del _:call append(line('$'), g:msg):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test103 = test61; then \
#	  if diff test.out test103.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test103.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test104.failed test.ok test.out X* viminfo
cp test104.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test104.in" 30 lines, 698 charactersTests for :let.  vim: set ft=vim ts=8 :



STARTTEST

:so small.vim

:set runtimepath+=./sautest

:" Test to not autoload when assigning.  It causes internal error.

:try

:  let Test104#numvar = function('tr')

:  $put ='OK: ' . string(Test104#numvar)

:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try

:    redir => messages

:    execute 'let' letargs

:    redir END

:    $put ='OK:'

:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :let.  vim: set ft=vim ts=8 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 24 lines, 618 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:    $put ='FAIL: ' . v:exception

:    redir END

:  endtry

:endfor

:/^Results/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset runtimepath+=./sautest
[?25l[?12l[?25h[?25l:[?12l[?25h" Test to not autoload when assigning.  It causes internal error.
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let Test104#numvar = function('tr')


[?25l:  [?12l[?25h:  $put ='OK: ' . string(Test104#numvar)


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  $put ='FAIL: ' . v:exception


[?25l:  [?12l[?25h:endtry
[?25l:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try:    redir => messages

:    execute 'let' letargsEND$put ='OK:'$put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch'FAIL: ' . v:exception  redir END

:  endtryendfor/^Results/,$wq! test.out

ENDTESTResults of test104:

OK: function('tr')[?12l[?25h[?25l

:[?12l[?25hlet a = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = 2
[?25l[?12l[?25h[?25l:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0


== 1 ? "a" : "b"}']
[?25l:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    redir => messages


[?25l:    [?12l[?25h:    execute 'let' letargs


[?25la#1


b#2


:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:    $put ='OK:'


[?25l:    [?12l[?25h:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='FAIL: ' . v:exception


[?25l:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor


[?25lb#2


b#2


a#1


a#1


b#2


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 13 lines, 244 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test104 = test61; then \
#	  if diff test.out test104.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test104.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test107.failed test.ok test.out X* viminfo
cp test107.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test107.in" 38 lines, 717 charactersTests for adjusting window and contents     vim: set ft=vim :



STARTTEST

:so small.vim

:new

:call setline(1, range(1,256))

:let r=[]

:func! GetScreenStr(row)

:   let str = ""

:   for c in range(1,3)

:let str .= nr2char(screenchar(a:row, c))

:   endfor

:   return str

:endfunc

:

:exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for adjusting window and contents     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 32 lines, 628 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:"/^start:/,$wq! test.out

ENDTESTtest107.in                                                                      [?12l[?25h[?25l:[?12l[?25hcall setline(1, range(1,256))
[?25l1

234567891011[+][?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! GetScreenStr(row)
[?25l

:  [?12l[?25h:   let str = ""


[?25l:  [?12l[?25h:   for c in range(1,3)


[?25l:    [?12l[?25h:       let str .= nr2char(screenchar(a:row, c))


[?25l:    [?12l[?25h:   endfor


[?25l:  [?12l[?25h:   return str


[?25l:  [?12l[?25h:endfunc
[?25l1

2

3

4

5

6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[No Name] [+]                                                                   :let s3=GetScreenStr(1)test107.in                                                                      [?12l[?25h[?25l:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l50

51

52

53

54

55

56

57

58

59

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l59

60

61

62

63

64

65

66

67

68

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25h:wincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l::exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

::exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:":/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

[1, '1  ']

[50, '50 ']

[59, '59 ']3 more lines[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 4 lines, 42 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test107 = test61; then \
#	  if diff test.out test107.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test107.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test108.failed test.ok test.out X* viminfo
cp test108.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test108.in" 88 lines, 1329 charactersTests for backtrace debug commands.     vim: set ft=vim :



STARTTEST

:so small.vim

:lang mess C

:function! Foo()

:   let var1 = 1

:   let var2 = Bar(var1) + 9

:   return var2

:endfunction

:

:function! Bar(var)

:    let var1 = 2 + a:var

:    let var2 = Bazz(var1) + 4

:    return var2

:endfunction

:

:function! Bazz(var)

:    let var1 = 3 + a:var

:    let var3 = "another var"

:    return var1

:endfunction

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for backtrace debug commands.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 83 lines, 1251 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTup

b

echo "fil is not frame or finish, it is file"

fil

echo "\n- relative backtrace movement\n"

fr -1

frame

fra +1

fram

echo "\n- go beyond limits does not crash\n"

fr 100

fra

frame -40

fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Foo()
[?25l

:  [?12l[?25h:   let var1 = 1


[?25l:  [?12l[?25h:   let var2 = Bar(var1) + 9


[?25l:  [?12l[?25h:   return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bar(var)
[?25l

:  [?12l[?25h:    let var1 = 2 + a:var


[?25l:  [?12l[?25h:    let var2 = Bazz(var1) + 4


[?25l:  [?12l[?25h:    return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bazz(var)
[?25l

:  [?12l[?25h:    let var1 = 3 + a:var


[?25l:  [?12l[?25h:    let var3 = "another var"


[?25l:  [?12l[?25h:    return var1


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       echo "\n- final result 19:"

cont:0debuggreedy

:redir END$put =out

:w! test.out

:qa!ENDTESTtest108.in                                                                      [?12l[?25h[?25l:[?12l[?25hdebuggreedy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => out
[?25l[?12l[?25h[?25l:[?12l[?25hdebug echo Foo()
[?25lEntering Debug mode.  Type "cont" to continue.


cmd: echo Foo()


>[?12l[?25hstep


[?25lfunction Foo


line 1: let var1 = 1


>[?12l[?25hstep


[?25lfunction Foo


line 2: let var2 = Bar(var1) + 9


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 1: let var1 = 2 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 2: let var2 = Bazz(var1) + 4


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 1: let var1 = 3 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "- show backtrace:\n"


[?25l- show backtrace:


>[?12l[?25hbacktrace


[?25l  2 function Foo[2]


  1 Bar[2]


->0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "\nshow variables on different levels:\n"


[?25l

show variables on different levels:


>[?12l[?25hecho var1


[?25l6

>[?12l[?25hup


[?25l>[?12l[?25hback


[?25l  2 function Foo[2]


->1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l3

>[?12l[?25hu


[?25l>[?12l[?25hbt


[?25l->2 function Foo[2]


  1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l1

>[?12l[?25hecho "\n- undefined vars:\n"


[?25l

- undefined vars:


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: return var1


>[?12l[?25hframe 2


[?25l>[?12l[?25hecho "undefined var3 on former level:"


[?25lundefined var3 on former level:


>[?12l[?25hecho var3


[?25lError detected while processing function Foo[2]..Bar[2]..Bazz:


line    3:


E121: Undefined variable: var3


E15: Invalid expression: var3


>[?12l[?25hfr 0


[?25l>[?12l[?25hecho "here var3 is defined with \"another var\":"


[?25lhere var3 is defined with "another var":


>[?12l[?25hecho var3


[?25lanother var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: End of function


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: return var2


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: End of function


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nundefined var2 on former level"


[?25l

undefined var2 on former level


>[?12l[?25hecho var2


[?25lError detected while processing function Foo[2]..Bar:


line    3:


E121: Undefined variable: var2


E15: Invalid expression: var2


>[?12l[?25hdown


[?25l>[?12l[?25hecho "here var2 is defined with 10:"


[?25lhere var2 is defined with 10:


>[?12l[?25hecho var2


[?25l10


>[?12l[?25hecho "\n- backtrace movements:\n"


[?25l

- backtrace movements:


>[?12l[?25hb


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\nnext command cannot go down, we are on bottom\n"


[?25l

next command cannot go down, we are on bottom


>[?12l[?25hdown


[?25lframe is zero


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nnext command cannot go up, we are on top\n"


[?25l

next command cannot go up, we are on top


>[?12l[?25hup


[?25lframe at highest level: 1


>[?12l[?25hb


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "fil is not frame or finish, it is file"


[?25lfil is not frame or finish, it is file


>[?12l[?25hfil


[?25l"[No Name]" --No lines in buffer--


>[?12l[?25hecho "\n- relative backtrace movement\n"


[?25l

- relative backtrace movement


>[?12l[?25hfr -1


[?25l>[?12l[?25hframe


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hfra +1


[?25l>[?12l[?25hfram


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "\n- go beyond limits does not crash\n"


[?25l

- go beyond limits does not crash


>[?12l[?25hfr 100


[?25lframe at highest level: 1


>[?12l[?25hfra


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hframe -40


[?25lframe is zero


>[?12l[?25hfram


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\n- final result 19:"


[?25l

- final result 19:


>[?12l[?25hcont


[?25l19


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h0debuggreedy
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST



test108.in                                                                      [?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25h$put =out
[?25l83 more lines->1 function Foo[2]

  0 Barline 3: End of functionframe is zero  1 function Foo[2]->0 Barline 3: End of function- final result 19:19[+][?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 84 lines, 1390 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test108 = test61; then \
#	  if diff test.out test108.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test108.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autocmd_option.failed test.ok test.out X* viminfo
cp test_autocmd_option.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autocmd_option.in" 77 lines, 2954 charactersTest for option autocommand



STARTTEST

:so small.vim

:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! ttest.out | qa! | endif

:fu! AutoCommand(match)

:let c=g:testcase

:let item=remove(g:options, 0)

:let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope:  <%s>\n", item[0], item[1], item[2], item[3])

:let c.=printf("Autocmd Option: <%s>,", a:match)

:let c.=printf(" OldVal: <%s>,", v:option_old)

:let c.=printf(" NewVal: <%s>,", v:option_new)

:let c.=printf(" Scope: <%s>\n", v:option_type)

:call setreg('r', printf("%s\n%s", getreg('r'), c))

:endfu

:au OptionSet * :call AutoCommand(expand("<amatch>"))

:let g:testcase="1: Setting number option\n"

:let g:options=[['number', 0, 1, 'global']]

:set nu

:let g:testcase="2: Setting local number option\n"

:let g:options=[['number', 1, 0, 'local']][?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for option autocommand[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 2896 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)

:" Write register now, because next test shouldn't output anything.

:$put r

:let @r=''

:let g:testcase="\n15: Setting key option, shouldn't trigger\n"

:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

:setlocal key=blah

:setlocal key=

:$put =g:testcase

:$put r

:/^dummy text/,$w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! 


test.out | qa! | endif
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hfu! AutoCommand(match)
[?25l

:  [?12l[?25h:^Ilet c=g:testcase


[?25l:  [?12l[?25h:       let item=remove(g:options, 0)


[?25l:  [?12l[?25h:       let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Sco


pe: <%s>\n", item[0], item[1], item[2], item[3])


[?25l:  [?12l[?25h:       let c.=printf("Autocmd Option: <%s>,", a:match)


[?25l:  [?12l[?25h:       let c.=printf(" OldVal: <%s>,", v:option_old)


[?25l:  [?12l[?25h:       let c.=printf(" NewVal: <%s>,", v:option_new)


[?25l:  [?12l[?25h:       let c.=printf(" Scope: <%s>\n", v:option_type)


[?25l:  [?12l[?25h:       call setreg('r', printf("%s\n%s", getreg('r'), c))


[?25l:  [?12l[?25h:endfu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)[?12l[?25h[?25l

:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ai!
[?25l[?12l[?25h[?25l:[?12l[?25h Should not print anything, use :noa
[?25lE492: Not an editor command: Should not print anything, use :noa[?12l[?25h[?25l:[?12l[?25hnoa :set nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset list nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"$

     57 :let g:options=[['backup', '', '1', 'local']]$

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger$

     59 :call setbufvar(1, '&l:bk', 1)$

     60 : "should trigger, use correct option name$

     61 :call setbufvar(1, '&backup', 1)$

     62 :let g:testcase="14: Setting number option using setwinvar\n"$

     63 :let g:options=[['number', 0, 1, 'local']]$

     64 :call setwinvar(0, '&number', 1)$

     65 :" Write register now, because next test shouldn't output anything.$

     66 :$put r$

     67 :let @r=''$

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"$

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]$

     70 :setlocal key=blah$

     71 :setlocal key=$

     72 :$put =g:testcase$

     73 :$put r$

     74 :/^dummy text/,$w! test.out$

     75 :qa!$

     76 ENDTEST$

     77 dummy text$[?12l[?25h[?25l:[?12l[?25hnoa set nolist nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal acd
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal invar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hlet &bs="eol,indent,start"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec


ond time, it should trigger
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25lE355: Unknown option: l:bk[?12l[?25h[?25l:[?12l[?25h "should trigger, use correct option name
[?25l[?12l[?25h[?25l:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[?12l[?25h[?25l:[?12l[?25h$put r
[?25l60 more lines117Autocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>11811910: Setting local autoread    120 Expected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>121Autocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>12212311: Setting global autoread124Expected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>125Autocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>12612712: Setting option backspace through :let128Expected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoope: <global>129Autocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoope: <global>131313: Setting option backspace through setbufvar()13Expected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>13Autocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>131314: Setting number option using setwinvar13xpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>13Autocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[?12l[?25h[?25l:[?12l[?25hlet @r=''
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=blah
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:testcase
[?25l    138 

    139 15: Setting key option, shouldn't trigger[?12l[?25h[?25l

:[?12l[?25h$put r
[?25l

    140 [?12l[?25h[?25l

:[?12l[?25h/^dummy text/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 64 lines, 2700 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autocmd_option = test61; then \
#	  if diff test.out test_autocmd_option.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autocmd_option.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autoformat_join.failed test.ok test.out X* viminfo
cp test_autoformat_join.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/channel.o channel.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autoformat_join.in" 23 lines, 524 charactersTests for setting the '[,'] marks when joining lines.



STARTTEST

:so small.vim

:/^\t\t/

0gqj:

:let a=string(getpos("'[")).'/'.string(getpos("']"))

:/^This line/;'}-join

:let b=string(getpos("'[")).'/'.string(getpos("']"))

:$put ='First test: Start/End '.string(a)

:$put ='Second test: Start/End '.string(b)

:/^\t\t/,$wq! test.out

ENDTESTO sodales, ludite, vos qui

attamen consulite per voster honur. Tua pulchra facies me fay planszer milies



This line.

Should be joined with the next line

and with this line



Results:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for setting the '[,'] marks when joining lines.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 9 lines, 265 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^\t\t/
[?25l[?12l[?25h[?25lattamen consulite per voster honur.

Tua pulchra facies me fay planszer milies[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h/^This line/;'}-join
[?25lThis line.  Should be joined with the next line and with this line





~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25lFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[?12l[?25h[?25l:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25lSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[?12l[?25h[?25l:[?12l[?25h/^\t\t/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 292 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autoformat_join = test61; then \
#	  if diff test.out test_autoformat_join.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autoformat_join.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_changelist.failed test.ok test.out X* viminfo
cp test_changelist.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_changelist.in" 22 lines, 288 charactersTest changelist position after splitting window

Set 'undolevels' to make changelist for sourced file



STARTTEST

:so small.vim

Gkylp:set ul=100

Gylp:set ul=100

gg

:vsplit

:try

:  normal g;

:  normal ggVGcpass^[

:catch

:  normal ggVGcfail^[

:finally

:  %w! test.out

:endtry

:qa!

ENDTEST



1

2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest changelist position after splitting window[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 163 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h



[?25l11[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l22[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l:[?12l[?25hvsplit
[?25l|

 window                                 |

Set 'undolevels' to make changelist for |

sourced file|

             |

STARTTEST       |

:so small.vim  |

Gkylp:set ul=100|

Gylp:set ul=100|

gg  |

:vsplit     |

:try                  |

:  normal g;|pass|

:catch  |

:  normal ggVGcfail^[|

:finally|

:  %w! test.out|

:endtry|

:qa!|

ENDTEST|

  |

test_changelist.in [+]                   Test changelist position after splitting windowSet 'undolevels' to make changelist forsourced fileSTARTTEST:so small.vimGkylp:set ul=100Gylp:set ul=100gg:vsplit:try:  normal g;:  normal ggVGcpass^[:catch:  normal ggVGcfail^[:finally:  %w! test.out:endtry:qa!ENDTESTtest_changelist.in [+]                 [?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  normal g;


[?25l:  [?12l[?25h:  normal ggVGcpass
[?25l21 fewer lines

:  


:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  normal ggVGcfail


[?25l:  


:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  %w! test.out


[?25l"test.out" [New File] 1 line, 5 characters written


:  [?12l[?25h:endtry
[?25lpass||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                           pass~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                         [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_changelist = test61; then \
#	  if diff test.out test_changelist.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_changelist.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_close_count.failed test.ok test.out X* viminfo
cp test_close_count.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_close_count.in" 153 lines, 2665 charactersTests for :[count]close! and :[count]hide     vim: set ft=vim :



STARTTEST

:so small.vim

:let tests = []

:for i in range(5)

:new

:endfor

:4wincmd w

:close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:$close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

:2close![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :[count]close! and :[count]hide     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 41 lines, 749 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(tests, buffers)

:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:for i in range(5)

:new

:endfor

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:4wincmd w

:.hide[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hclose!
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 5~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w:only!:b1ENDTESTSTARTTEST:let tests = []:for i in range(5):new:endfor:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers):4wincmd w:.hide:let buffers = [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 44 lines, 815 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:2wincmd w

:+hide

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:1wincmd w

:$ hide

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                       test_close_count.in                                                              [?12l[?25h[?25l:[?12l[?25h.hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 7 lines, 39 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l13 12 11 10 9 113 12 11 9 112 11 9 112 11 9[+][?12l[?25h[?25l12 9

15 12 9

15 12[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 9

15 12~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:+hide:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5):new:endfor:1wincmd w:$ hide:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 93 of 153 --60%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 448 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:1wincmd w

:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:4wincmd w

^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[?12l[?25h[?25l:[?12l[?25h$ hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$-1 close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h.+close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 15 lines, 106 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[+][?12l[?25h[?25l15 12 915 120 19 18 17 16

20 19 18 16

20 18 16
[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5



13 12 11 10 9 1

13 12 11 9 1

12 11 9 1

12 11 9

12 9

15 12 9

15 12



20 19 18 17 16

20 19 18 16

20 18 16



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new:endfor:4wincmd w

^Wc:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 121 of 153 --79%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 28 lines, 511 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST1^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

9^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

2^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:only!

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 16 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 915 1220 19 18 17 1620 19 18 1620 18 16[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l25 24 23 21 124 23 21 124 23 2124 21[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_close_count = test61; then \
#	  if diff test.out test_close_count.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_close_count.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_comparators.failed test.ok test.out X* viminfo
cp test_comparators.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_comparators.in" 21 lines, 283 characters" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'

:  else

:    $put ='ng'

:  endif

:finally

:  let &isident=oldisident

:endtry

:"

:/^marker/+1,$wq! test.out

ENDTEST



marker

~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l" Test for expression comparators.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 200 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let oldisident=&isident


[?25l:  [?12l[?25h:  set isident+=#


[?25l:  [?12l[?25h:  if 1 is#1


[?25l:    [?12l[?25h:    $put ='ok'


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    $put ='ng'


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  let &isident=oldisident


[?25l:  [?12l[?25h:endtry
[?25l" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'ok[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^marker/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1 line, 3 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_comparators = test61; then \
#	  if diff test.out test_comparators.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_comparators.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_erasebackword.failed test.ok test.out X* viminfo
cp test_erasebackword.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_erasebackword.in" 19 lines, 427 charactersTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G







:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for erasing backword[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 12 lines, 362 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G

o wwwこんにちわ世界ワールドvim ^W^[

o wwwこんにちわ世界ワールドvim ^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^W^[

:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h



[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25lド[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h/^test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 111 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_erasebackword = test61; then \
#	  if diff test.out test_erasebackword.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_erasebackword.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_eval.failed test.ok test.out X* viminfo
cp test_eval.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_eval.in" 247 lines, 6201 charactersTest for various eval features.   vim: set ft=vim :



Note: system clipboard is saved, changed and restored.



clipboard contents

something else



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:lang C

:fun AppendRegContents(reg)

  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:rreg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))

:endfun

:fun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)

  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, aa:type, a:cont, a:strcont, a:cont1, a:strcont1))

endfun

:command -nargs=? AR :call AppendRegContents(<q-args>)

:fun SetReg(...)

    call call('setreg', a:000)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for various eval features.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 233 lines, 6010 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun AppendRegContents(reg)
[?25l

:  [?12l[?25h  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg


(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))


[?25l:  [?12l[?25h:endfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hfun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)
[?25l

:  [?12l[?25h  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:re


g, a:type, a:cont, a:strcont, a:cont1, a:strcont1))


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[?12l[?25h[?25l:[?12l[?25hfun SetReg(...)
[?25l

:  [?12l[?25h    call call('setreg', a:000)


[?25l:  [?12l[?25h    call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2]))


[?25l:  [?12l[?25h    call AppendRegContents(a:1)


[?25l:  [?12l[?25h    if a:1 isnot# '='


[?25l:    [?12l[?25h        execute "silent normal! Go==\n==\e\"".a:1."P"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun ErrExe(str)
[?25l

:  [?12l[?25h    call append('$', 'Executing '.a:str)


[?25l:  [?12l[?25h    try


[?25l:    [?12l[?25h        execute a:str


[?25l:    [?12l[?25h    catch


[?25l:    [?12l[?25h        $put =v:exception


[?25l:    [?12l[?25h    endtry


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h$put ='{{{1 let tests'


[?25l:  [?12l[?25hlet @" = 'abc'


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\n"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\<C-m>"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @= = '"abc"'


[?25l:  [?12l[?25hAR =


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Basic setreg tests'


[?25l:  [?12l[?25hcall SetReg('a', 'abcA', 'c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcB', 'v')


[?25l:  [?12l[?25hcall SetReg('c', 'abcC', 'l')


[?25l:  [?12l[?25hcall SetReg('d', 'abcD', 'V')


[?25l:  [?12l[?25hcall SetReg('e', 'abcE', 'b')


[?25l:  [?12l[?25hcall SetReg('f', 'abcF', "\<C-v>")


[?25l:  [?12l[?25hcall SetReg('g', 'abcG', 'b10')


[?25l:  [?12l[?25hcall SetReg('h', 'abcH', "\<C-v>10")


[?25l:  [?12l[?25hcall SetReg('I', 'abcI')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending single lines with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc', 'c')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAl', 'l')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc2','c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc', 'ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb', 'ba')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc2','ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb2','b50a')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('C', 'abcCl', 'l')


[?25l:  [?12l[?25hcall SetReg('C', 'abcCc', 'c')


[?25l:  [?12l[?25hcall SetReg('D', 'abcDb', 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('E', 'abcEb', 'b')


[?25l:  [?12l[?25hcall SetReg('E', 'abcEl', 'l')


[?25l:  [?12l[?25hcall SetReg('F', 'abcFc', 'c')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending NL with setreg()'


[?25l:  [?12l[?25hcall setreg('a', 'abcA2', 'c')


[?25l:  [?12l[?25hcall setreg('b', 'abcB2', 'v')


[?25l:  [?12l[?25hcall setreg('c', 'abcC2', 'l')


[?25l:  [?12l[?25hcall setreg('d', 'abcD2', 'V')


[?25l:  [?12l[?25hcall setreg('e', 'abcE2', 'b')


[?25l:  [?12l[?25hcall setreg('f', 'abcF2', "\<C-v>")


[?25l:  [?12l[?25hcall setreg('g', 'abcG2', 'b10')


[?25l:  [?12l[?25hcall setreg('h', 'abcH2', "\<C-v>10")


[?25l:  [?12l[?25hcall setreg('I', 'abcI2')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', "\n")


[?25l:  [?12l[?25hcall SetReg('B', "\n", 'c')


[?25l:  [?12l[?25hcall SetReg('C', "\n")


[?25l:  [?12l[?25hcall SetReg('D', "\n", 'l')


[?25l:  [?12l[?25hcall SetReg('E', "\n")


[?25l:  [?12l[?25hcall SetReg('F', "\n", 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA3'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3'], 'l')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC3'], 'b')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD3'])


[?25l:  [?12l[?25hcall SetReg('e', [1, 2, 'abc', 3])


[?25l:  [?12l[?25hcall SetReg('f', [1, 2, 3])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ['abcA3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3l'], 'la')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3b'], 'lb')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD32'])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', ['abcA32'])


[?25l:  [?12l[?25hcall SetReg('B', ['abcB3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3l'], 'l')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD3b'], 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with NL with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ["\n", 'abcA3l2'], 'l')


[?25l:  [?12l[?25hcall SetReg('B', ["\n", 'abcB3c2'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ["\n", 'abcC3b2'], 'b')


[?25l:  [?12l[?25hcall SetReg('D', ["\n", 'abcD3b50'],'b50')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with NLs with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4


-4-2"])


[?25l:  [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na


bcB4c-4-2"], 'c')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na


bcC4l-4-2"], 'l')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na


bcD4b-4-2"], 'b')


[?25l:  [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4


b10-4\nabcE4b10-4-2"], 'b10')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Search and expressions'


[?25l:  [?12l[?25hcall SetReg('/', ['abc/'])


[?25l:  [?12l[?25hcall SetReg('/', ["abc/\n"])


[?25l:  [?12l[?25hcall SetReg('=', ['"abc/"'])


[?25l:  [?12l[?25hcall SetReg('=', ["\"abc/\n\""])


[?25l:  [?12l[?25h$put ='{{{1 System clipboard'


[?25l:  [?12l[?25hif has('clipboard')


[?25l:    [?12l[?25h" Save and restore system clipboard.


[?25l:    [?12l[?25h" If no connection to X-Server is possible, test should succeed.


[?25l:    [?12l[?25hlet _clipreg = ['*', getreg('*'), getregtype('*')]


[?25l:    [?12l[?25hlet _clipopt = &cb


[?25l:    [?12l[?25hlet &cb='unnamed'


[?25l:    [?12l[?25h5y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25htabdo :windo :echo "hi"


[?25l:    [?12l[?25h6y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25hlet &cb=_clipopt


[?25l:    [?12l[?25hcall call('setreg', _clipreg)


[?25l:    [?12l[?25helse


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard conte


nts']", "clipboard contents\n", "['clipboard contents']")


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "something else\n", "['something else']", 


"something else\n", "['something else']")


[?25l:    [?12l[?25hendif


[?25l:  [?12l[?25h$put ='{{{1 Errors'


[?25l:  [?12l[?25hcall ErrExe('call setreg()')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, 3, 4)')


[?25l:  [?12l[?25hcall ErrExe('call setreg([], 2)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, {})')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, [])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("/", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("=", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, ["", "", [], ""])')


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test()
[?25lhi*: type V; value: something else^@ (['something else']), expr: something else^@  (['something else'])

{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)

Vim(call):E730: using List as a String

Executing call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction SetReg
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction AppendRegContents
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction ErrExe
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hdelcommand AR
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name not starting with capital
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! g:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)8: Too many arguments for function: setreg[], 2)730: using List as a String1, {}1Dictionary as a String2, [])0List as a String"/", ["1", "2"])883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name includes a colon
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! b:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)Vim(function):E128: Function name must start with a capital or "s:": b:test()[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name folowed by #
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! test2() "#


[?25l:  [?12l[?25h:echo "test2"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)Vim(call):E730: using List as a String

Executing call setreg(1, {})Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! g:Foo(n)
[?25l

:  [?12l[?25h:  $put ='called Foo(' . a:n . ')'


[?25l:  [?12l[?25h:endfunction
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg[?12l[?25h[?25l

:[?12l[?25hlet b:my_func = function('Foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcall b:my_func(1)
[?25l

called Foo(1)[?12l[?25h[?25l

:[?12l[?25hecho g:Foo(2)
[?25l0

called Foo(2)[?12l[?25h[?25l

:[?12l[?25hecho Foo(3)
[?25l0

called Foo(3)[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[?12l[?25h[?25l:[?12l[?25hso test_eval_func.vim
[?25ls:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h: call append($, 'foobar')


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#

called Foo(123

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1func Bar exists: 1

Vim(call):E116: Invalid arguments for function append[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l

{{{1 getcurpos/setpos[?12l[?25h[?25l

/[?12l[?25h^012345678
[?25lsearch hit BOTTOM, continuing at TOP:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:

{{{1 let tests

": type v; value: abc (['abc']), expr: abc (['abc'])

": type V; value: abc^@ (['abc']), expr: abc^@ (['abc'])

": type V; value: abc^M^@ (['abc^M']), expr: abc^M^@ (['abc^M'])

=: type v; value: abc (['abc']), expr: "abc" (['"abc"'])

{{{1 Basic setreg tests

{{{2 setreg('a', 'abcA', 'c')

a: type v; value: abcA (['abcA']), expr: abcA (['abcA'])

search hit BOTTOM, continuing at TOP[?12l[?25h012345[?25l:[?12l[?25hlet sp = getcurpos()
[?25l[?12l[?25h
[?25l:[?12l[?25hcall setpos('.', sp)
[?25l[?12l[?25h[?25l:[?12l[?25h$put
[?25lExecuting call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

Vim(function):E128: Function name must start with a capital or "s:": b:test()

Vim(function):E128: Function name must start with a capital or "s:": test2() "#

called Foo(1)

called Foo(2)

called Foo(3)

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1

Vim(call):E116: Invalid arguments for function append

{{{1 getcurpos/setpos

6[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" substring and variable name
[?25l[?12l[?25h[?25l:[?12l[?25hlet str = 'abcdef'
[?25l[?12l[?25h[?25l:[?12l[?25hlet n = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[n:]
[?25l

def[?12l[?25h[?25l

:[?12l[?25h$put =str[:n]
[?25l

abcd[?12l[?25h[?25l

:[?12l[?25h$put =str[n:n]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet n
[?25l[?12l[?25h[?25l:[?12l[?25hlet nn = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[nn:]
[?25ldef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:nn]
[?25labcd[?12l[?25h[?25l:[?12l[?25h$put =str[nn:nn]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet nn
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:nn = 4
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:]
[?25lef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:b:nn]
[?25labcde[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:b:nn]
[?25l

e[?12l[?25h[?25l

:[?12l[?25hunlet b:nn
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 362 lines, 11279 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_eval = test61; then \
#	  if diff test.out test_eval.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_eval.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_fixeol.failed test.ok test.out X* viminfo
cp test_fixeol.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fixeol.in" 40 lines, 780 charactersTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol

:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol

:w! XXTestNoEol

:bwipe XXEol XXNoEol XXTestEol XXTestNoEol

:set fixeol[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'fixeol'vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 698 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Append "END" to each file so that we can see what the last written char was.

ggdGaEND^[:w >>XXEol

:w >>XXNoEol

:w >>XXTestEol

:w >>XXTestNoEol

:"

:" Concatenate the results

:e! test.out

a0^[:$r XXEol

:$r XXNoEol

Go1^[:$r XXTestEol

:$r XXTestNoEol

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?25l[?12l[?25h[?25l:[?12l[?25h" use Unix fileformat for consistency
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lwith eol[?12l[?25h[?25l:[?12l[?25hw! XXEol
[?25l"XXEol" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25henew!
[?25l[?12l[?25h[?25l:[?12l[?25hset noeol nofixeol
[?25l[?12l[?25h[?25lwithout eol[?12l[?25h[?25l:[?12l[?25hw! XXNoEol
[?25l"XXNoEol" [New File][Incomplete last line] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hset eol fixeol
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


2 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" 1 line, 9 characterswith eol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l

stays eol[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [New File] 2 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [Incomplete last line] 1 line, 11 charactersout eol

~                                                                               [?12l[?25h[?25l

stays without[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [New File][Incomplete last line] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fixeol
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25lTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXEol
[?25l"XXEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l0[?12l[?25h[?25l:[?12l[?25h$r XXEol
[?25l"XXEol" 2 lines, 13 characterswith eolEND[?12l[?25h[?25l:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" 1 line, 15 characterswithout eolEND[?12l[?25h[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" 3 lines, 23 characterswith eolstays eolEND[?12l[?25h[?25l:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" 2 lines, 29 characterswithout eolstays withoutEND[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_fixeol = test61; then \
#	  if diff test.out test_fixeol.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_fixeol.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_getcwd.failed test.ok test.out X* viminfo
cp test_getcwd.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_getcwd.in" 96 lines, 2374 charactersTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xtopdir directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a swapfile in Xtopdir prevents it from being cleaned up.

:set noswapfile

:"

:function! GetCwdInfo(win, tab)

: let tab_changed = 0

: let mod = ":t"

: if a:tab > 0 && a:tab != tabpagenr()

:   let tab_changed = 1

:   exec "tabnext " . a:tab

: endif

: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)

: if tab_changed[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 90 lines, 2273 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GetCwdInfo(win, tab)
[?25l

:  [?12l[?25h: let tab_changed = 0


[?25l:  [?12l[?25h: let mod = ":t"


[?25l:  [?12l[?25h: if a:tab > 0 && a:tab != tabpagenr()


[?25l:    [?12l[?25h:   let tab_changed = 1


[?25l:    [?12l[?25h:   exec "tabnext " . a:tab


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)


[?25l:  [?12l[?25h: if tab_changed


[?25l:    [?12l[?25h:   tabprevious


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: if a:win == 0 && a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir()


[?25l:    [?12l[?25h: elseif a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win)


[?25l:    [?12l[?25h: else


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win, a:tab), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win, a:tab)


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: return bufname . ' ' . dirname . ' ' . lflag


[?25l:  [?12l[?25h:endfunction
[?25l:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST

[?12l[?25h[?25l



:[?12l[?25h" On windows a stale "Xtopdir" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       test_getcwd.in                                                                  [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xtopdir')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir1')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir2')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir3')
[?25l[?12l[?25h[?25l:[?12l[?25hnew a
[?25l"a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25hnew b
[?25l"b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25hnew c
[?25l"c" [New File]~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lc                                                                                a                                                                               [?12l[?25h[?25l:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir1/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                           b                                                                               ab                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                                               b                                                                                [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir3/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lcb                                                                               b                                                           a                                                           /<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25htabnew x
[?25l"x" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  x                                               X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hnew y
[?25l"y" [New File]2 y  Xy                                                                                x                                                                                [?12l[?25h[?25l:[?12l[?25hnew z
[?25l"z" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               z                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               y                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               x                                                                               [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lz                                                                                x                                                                               x  X[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25ly                                                                               x                                                                                y  X[?12l[?25h[?25l:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir2/b/v/v/s/v/t/X/y  X/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lzb /                Xz                                                                               yb                                                                               x                                                           [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir3/b/v/v/s/v/t/X/z  X/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[?12l[?25h[?25l:[?12l[?25hq
[?25l 4 [No Name]  3 z                                                               X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdirX/z  XXtopdir/cXtopdir/bXtopdir/a

[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_getcwd = test61; then \
#	  if diff test.out test_getcwd.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_getcwd.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_insertcount.failed test.ok test.out X* viminfo
cp test_insertcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_insertcount.in" 14 lines, 204 charactersTests for repeating insert and replace.



STARTTEST

:so small.vim

:/Second

4gro

:/^First/,$wq! test.out

:" get here when failed and in Insert mode

^[:.wq! test.out

ENDTEST



First line

Second line

Last line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for repeating insert and replace.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 111 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/Second
[?25l[?12l[?25h[?25looooecond line
ooo[?12l[?25h

Las[?25l:[?12l[?25h/^First/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 3 lines, 36 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_insertcount = test61; then \
#	  if diff test.out test_insertcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_insertcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listchars.failed test.ok test.out X* viminfo
cp test_listchars.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listchars.in" 54 lines, 705 charactersTests for 'listchars' display with 'list' and :list



STARTTEST

:so small.vim

:set ff=unix

:let g:lines = []

:function GetScreenCharsForLine(lnum)

:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))')), '')

:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"

:set listchars+=tab:>-,space:.,trail:<

:set list

:

/^start:/

:normal! jzt

GG

GG

GG

GG

GGH:

:set listchars-=trail:<[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'listchars' display with 'list' and :list[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 431 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTGG

GG

GG

GG

GG:

:put =g:lines

:'[,']w! test.out

ENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:lines = []
[?25l[?12l[?25h[?25l:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l

:  [?12l[?25h:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val


))'), '')


[?25l:  [?12l[?25h:endfunction
[?25l:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"[?12l[?25h[?25l

:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))


\<CR>"
[?25l:endfunction[?12l[?25h[?25l

:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset list
[?25l$.<expr>.GG.":call..\\<CR>"$

:set.$

:set.list$

:$$.jzt$

GG$

GG$

GG$

GG$

GGH:$

:set.$

GG$

GG$

GG$

GG$

GG:$

:put.$.$$

$[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:$[?12l[?25h[?25l

:[?12l[?25hnormal! jzt
[?25l>-------aa>-----$

..bb>---<<$

...cccc><$

dd........ee<<>-$

<$

$

$

STARTTEST$

:set.listchars+=trail:<$

:set.nolist$

:$

/^start:/$

:redir!.>>.test.out$

:+1,$list$

:redir.END$

:q!$

ENDTEST$

$

start:$

..fff>--<<$

>-------gg>-----$

.....h>-$

iii<<<<><<$[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset listchars-=trail:<
[?25l.....

.......>..[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hput =g:lines
[?25l10 more >-------aa>-----$$

..bb>---<<$$

...cccc><$$

dd........ee<<>-$$

<$$

>-------aa>-----$$

..bb>---..$$

...cccc>.$$

dd........ee..>-$$

.$$10 more lines[?12l[?25h[?25l:[?12l[?25h'[,']w! test.out
[?25l"test.out" [New File] 10 lines, 124 characters written[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 93 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:+1,$list$

:redir.END$

:q!$

ENDTEST$[?12l[?25h[?25l

$[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset listchars+=trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist
[?25l   >>  [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:[?12l[?25h[?25l

:[?12l[?25hredir! >> test.out
[?25l[?12l[?25h[?25l:[?12l[?25h+1,$list
[?25l..fff>--<<$


>-------gg>-----$


.....h>-$


iii<<<<><<$


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l>-------aa>-----$

..bb>---..$

...cccc>.$

dd........ee..>-$

.$STARTTEST:set listchars+=trail:<

:set nolist

:

/^start:/

:redir! >> test.out+1,$listredir END

:q!ENDTESTstart:  fff

        ggh

iii   [?12l[?25h[?25l

:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listchars = test61; then \
#	  if diff test.out test_listchars.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listchars.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr.failed test.ok test.out X* viminfo
cp test_listlbr.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr.in" 119 lines, 2868 charactersTest for linebreak and list option (non-utf8)



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |  endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width)

:let c=''

:for j in range(1,4)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu

:fu! DoRecordScreen()

:wincmd l

:$put =printf(\"\n%s\", g:test)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option (non-utf8)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 114 lines, 2792 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTabcd{ef

ghijklm

no}pqrs^[2k0f{^V^Vc%^[

:"

:let g:test ="Test 11: using block replace mode after wrapping"

:$put =g:test

:set linebreak wrap

Go^[150aa^[yypk147|^Vjr0

:"

:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$":set list listchars=space:_,trail:-,tab:>-,eol:$

:$put =g:test

:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |


endif
[?25labcd{ef[?12l[?25h[?25l

:[?12l[?25h10new|:vsp|:vert resize 20
[?25l       ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =linenorm! zt

:redraw!let line=ScreenChar(winwidth(0))

:call DoRecordScreen()%w! test.outqaENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,4)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 1: set         

+linebreak          

    abcdef          

+hijklmn            

+pqrstuvwxyz_1060ABCTest 1: set linebreak    abcdef          +hijklmn            +pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[?12l[?25h[?25l:[?12l[?25hset linebreak list listchars=
[?25l^Iabcdef hijklmn^I  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP      

              

Test 1: set

+linebreak 

    abcdef

+hijklmn  

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l^Iabcdef hijklmn^I  |

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOPTest 1: set linebreakabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines    abcdef                                                 +hijklmn                                                   +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                             ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l    abcdef          hijklmn            pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

           

Test 1: set

+linebreak

    abcdef

+hijklmn            

+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

[No Name] [+]        abcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines^Iabcdef hijklmn^I                                         +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Test 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou


ld break!"
[?25labcdef|^Iabcdef hijklmn^I[?12l[?25h[?25l:[?12l[?25hset nolist linebreak ts=8
[?25l    abcdef[?12l[?25h[?25l:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25l      

        

Test 3: set         linebreak nolist

    abcdef

+hijklmn   

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

1       

+aaaaaaaaaaaaaaaaaa [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l1|

+aaaaaaaaaaaaaaaaaa |||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     1aaaaaaaaaaaaaaaaaaTest 4: set linebreak with tab and 1 line as long as screen+: should break!1+aaaaaaaaaaaaaaaaaa~~4 more lines[?12l[?25h[?25l:[?12l[?25hlet line="_S_\t bla"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lTest 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    ~

~

_S_      bla[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l_S_      bla        

                    

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak with conceal and set list and tab displayed


by different char (line may not be truncated)"
[?25l_S_      bla|+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25labbbb[?12l[?25h[?25l:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25lSabb[?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 5: set         

+linebreak with     

+conceal and set    

+list and tab       

+displayed by       

+different char     

+(line may not be   

+truncated)         ~                                                          ~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  _S_      blaTest 5: set linebreak with conceal and set list and tab dis+played by different char (line may not be truncated)Sabbbbbb bla~~~4 more lines[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: this not"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25labbbbbb

~

~          

~              

Test 6: set     nebreak withvisual block mode

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE: this not    [?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE:             

+aaaaaaaaaaaaa      [?12l[?25h[?25l:[?12l[?25h1/^REMOVE:
[?25l[?12l[?25h[?25l[?12l[?25h[?25lR[?12l[?25h[?25lEMOVE: 

REMOVE:[?12l[?25h[?25lthis not        

aaaaaaaaaaaaa

~                   [?12l[?25h[?25l:[?12l[?25h$put
[?25l~                   

~                   

~                   

Test 6: set         

+linebreak with     

+visual block mode  

this not            

aaaaaaaaaaaaa       

~                   

                    REMOVE:             

REMOVE:[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lthis not            

aaaaaaaaaaaaa       

REMOVE:             

REMOVE:             

                    

                    

                    

                    

                    

                    Test 7: set

+linebreak with

+visual block mode

+and vbA

~                   

~                   [?12l[?25h[?25llong line:          [?12l[?25h[?25l foobar

+foobar foobar      @                   

@                           

             

       

       

           

               

                  

        

                    

                    +foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar[?12l[?25h+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar             

                    [?25lTARGET at

+end[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx at[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak sbr=
[?25lfoobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar TARGETx at 

end played by different char (line may not be truncated)[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set  

linebreak with

visual char mode

and changing block

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l1111-1111-1111-11-  

1111-1111-1111      [?12l[?25h[?25l[?12l[?25h[?25l111[?12l[?25h[?25l2222[?12l[?25h[?25l2222[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                [?12l[?25h[?25l1111-2222-1111-11-  

1111-2222-1111      

Test 9: using redo  

after block visual  

mode                

~                   

                    

                    

                    

                                        

aaa

aaa

a

~                   [?12l[?25h[?25l[?12l[?25h[?25la

a[?12l[?25h[?25l3 lines changedA

A

A[?12l[?25h[?25lA

AaA[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                

                    

AaA                 

AaA                 

A                   

~                   

                    

                    Test 10: using      

normal commands

after block-visual[?12l[?25h[?25l:[?12l[?25hset linebreak
[?25l[?12l[?25h[?25lAaA                 

AaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

                    

                    

                    abcd{ef

ghijklm

no}pqrs[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25lpqrs

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lAaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

~                   

~                   

                    Test 11: using      

block replace mode  

after wrapping[?12l[?25h[?25l:[?12l[?25hset linebreak wrap
[?25l[?12l[?25h[?25lA                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

Test 11: using      

block replace mode  

after wrapping      

                    [?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa        

~                   

~                   [?12l[?25h[?25l[?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l[?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa

~                   

~                   [?12l[?25h[?25l0

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaa0aaa

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$


"[?25laaaaaaaaaaaaaaaaaaaa|~[?12l[?25h[?25l:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l$[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         

~                   

~                   

~                   

                    

                    

                    

                    ~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25la_|

aaaaaaaaaaaaaaaaaaaa|

aa>-----a-$||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ~~_S_      blaTest 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)Sabbbbbb bla~~~[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines$                   

Test_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

a------------------ 

$                   Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a aaaaaaaaaaaaaaaaaaaaaaa12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a_          aaaaaaaaaaaaaaaaaaaaaa>-----a-$[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 62 lines, 2030 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr = test61; then \
#	  if diff test.out test_listlbr.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_search_mbyte.failed test.ok test.out X* viminfo
cp test_search_mbyte.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json.o json.c
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search_mbyte.in" 15 lines, 226 charactersTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for search('multi-byte char', 'bce')[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hsource small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hsource mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h/^Test bce:/+1
[?25l[?12l[?25h[?25l:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l15[?12l[?25h[?25l:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [New File] 5 lines, 27 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_search_mbyte = test61; then \
#	  if diff test.out test_search_mbyte.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_search_mbyte.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_utf8.failed test.ok test.out X* viminfo
cp test_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_utf8.in" 46 lines, 1245 charactersTests for Unicode manipulationsvim: set ft=vim :



STARTTEST

:so small.vim

:set encoding=utf-8

:"

:" Visual block Insert adjusts for multi-byte char

:new


:exe ":norm! gg0l\<C-V>jjIx\<Esc>"

:let r = getline(1, '$')

:"

:bwipeout!

:$put=r

:"

:" Test for built-in function strchars()


:$put=strchars(str)

:$put=strchars(str, 0)

:$put=strchars(str, 1)

:endfor

:"

:" Test for customlist completion[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for Unicode manipulationsvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 1151 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:return ['あ', 'い']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)

:return ['あたし', 'あたま', 'あたりめ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)

:return ['Nこ', 'Nん', 'Nぶ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']endfunctioncommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')"call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST test_utf8.in                                                                    [?12l[?25h[?25l:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25laaa

あああbbb[+][?12l[?25h[?25l:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25lxaa

xあああ

bxbb[?12l[?25h[?25l:[?12l[?25hlet r = getline(1, '$')
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:       return ['あ', 'い']

:endfunction:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it'):":function! CustomComplete2(lead, line, pos):       return ['あたし', 'あたま', 'あたりめ']:endfunction:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')"function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']

:endfunctionommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"call garbagecollect(1):/^start:/,$wq! test.out

ENDTEST

 [?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

axaa

xあああ

bxbb3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for built-in function strchars()
[?25l[?12l[?25h[?25l:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l

:  [?12l[?25h:^I$put=strchars(str)


[?25l:  [?12l[?25h:^I$put=strchars(str, 0)


[?25l:  [?12l[?25h:^I$put=strchars(str, 1)


[?25l:  [?12l[?25h:endfor
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST



start:axaaxあああbxbb11133322133

1111[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for customlist completion
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あ', 'い']


[?25l:  [?12l[?25h:endfunction
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test1 ...'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 ''Test1 '


Test1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あたし', 'あたま', 'あたりめ']


[?25l:  [?12l[?25h:endfunction
[?25l:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた''Test2 あた'


Test2 あた[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['Nこ', 'Nん', 'Nぶ']


[?25l:  [?12l[?25h:endfunction
[?25lENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test3 ...N'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N''Test3 N'


Test3 N[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 22 lines, 86 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_utf8 = test61; then \
#	  if diff test.out test_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_wordcount.failed test.ok test.out X* viminfo
cp test_wordcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_wordcount.in" 126 lines, 2815 charactersTest for wordcount() function



STARTTEST

:so small.vim

:so mbyte.vim

:set enc=utf8

:set selection=inclusive fileformat=unix fileformats=unix

:new

:fu DoRecordWin(...)

:wincmd k

:if exists("a:1")

:call cursor(a:1)

:endif

:let result=[]

:call add(result, g:test)

:call add(result, getline(1, '$'))

:call add(result, wordcount())

:wincmd j

:return result

:endfu

:fu PutInWindow(args)

:wincmd k

:%d _[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for wordcount() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 121 lines, 2753 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"


:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"

:call PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])

:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:
[?12l[?25h[?25l

:[?12l[?25hset selection=inclusive fileformat=unix fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])[2]=g:visual_statcall Log()"/^RESULT test/,$w! test.out

:qa!ENDTEST

RESULT test:

test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hfu DoRecordWin(...)
[?25l

:  [?12l[?25h:^Iwincmd k


[?25l:  [?12l[?25h:       if exists("a:1")


[?25l:    [?12l[?25h:           call cursor(a:1)


[?25l:    [?12l[?25h:       endif


[?25l:  [?12l[?25h:       let result=[]


[?25l:  [?12l[?25h:       call add(result, g:test)


[?25l:  [?12l[?25h:       call add(result, getline(1, '$'))


[?25l:  [?12l[?25h:       call add(result, wordcount())


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:       return result


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu PutInWindow(args)
[?25l

:  [?12l[?25h:       wincmd k


[?25l:  [?12l[?25h:       %d _


[?25l:  [?12l[?25h:       call append(1, a:args)


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu Log()
[?25l

:  [?12l[?25h:   $put ='----'


[?25l:  [?12l[?25h:   $put =remove(g:log,0)


[?25l:  [?12l[?25h:   $put =string(g:log)


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu! STL()
[?25l

:  [?12l[?25h:    if mode() =~? 'V'


[?25l:    [?12l[?25h:       let g:visual_stat=wordcount()


[?25l:    [?12l[?25h:    endif


[?25l:  [?12l[?25h:    return string(wordcount())


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin()
[?25l[No Name]                                                                        test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 1: empty window

[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00, 'cursor_bytes': 0}][+][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25lone two three[+][?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 2: some words, cursor at start

[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worrds': 0, 'bytes': 15, 'cursor_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 3: some words, cursor at end

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 4: some words, cursor at end, ve=all

[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 15}][?12l[?25h[?25l





:[?12l[?25hset ve=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25lone two threeone two three--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 5: several lines with words

[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__chars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25l[No Name] [+]                                                                   test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset bomb
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/main.o main.c
[New File] 2 lines, 18 characters writtenXtesta         [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 6: one line with BOM set

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 18, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25hwincmd k
[?25lXtest                                                                           test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset nobomb
[?25l[+][?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written    [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh'])
[?25lÄne M¤ne Müh[+]--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 7: one line with multibyte words

[['', 'Äne M¤ne Müh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worrds': 3, 'bytes': 17, 'cursor_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25lund raus bist dü!--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 8: several lines with multibyte words

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'cursor_chars': 31, 'wwords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l 

Äne M¤ne Müh 

und raus bist dü! ds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[?12l[?25h[?25lÄne M¤ne Mühnd raus bist dü!3 lines yankedursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 9: visual mode, complete buffer

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l[?12l[?25h[?25lursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 10: visual mode (empty)

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h2
[?25l2,1,3}[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_2}[?12l[?25h[?25lÄne M¤ne Mühds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[?12l[?25h[?25l
Äne M¤ne Mühursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[?12l[?25hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]s                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 11: visual mode, single line

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^RESULT test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 34 lines, 1905 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_wordcount = test61; then \
#	  if diff test.out test_wordcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_wordcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test11.failed test.ok test.out X* viminfo
cp test11.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test11.in" 84 lines, 3366 charactersTests for autocommands:

- FileWritePrewriting a compressed file

- FileReadPostreading a compressed file

- BufNewFilereading a file template

- BufReadPredecompressing the file to be read

- FilterReadPresubstituting characters in the temp file

- FilterReadPostsubstituting characters after filtering

- FileReadPreset options for decompression

- FileReadPostdecompress the file



Note: This test is skipped if "gzip" is not available.

$GZIP is made empty, "-v" would cause trouble.

Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being

modified outside of Vim (noticed on Solaris).



STARTTEST

:so small.vim

:" drop out when there is no gzip program

:if !executable("gzip")

: e! test.ok

: w! test.out

: qa!

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for autocommands:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 48 lines, 2298 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w" write it, after filtering

:au!" remove all autocommands

:e" Edit test.out again

:set nobin ff&   " use the default fileformat for writing

:w

:qa!

ENDTEST



startstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" drop out when there is no gzip program
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("gzip")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/[?12l[?25h[?25l:[?12l[?25hlet $GZIP = ""
[?25l[?12l[?25h[?25l:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePre    *.gz   '[,']!gzip
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePost   *.gz   undo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered

"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written


10 more lines; before #1  0 seconds ago


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileReadPost    *.gz   '[,']!gzip -d
[?25l:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w                           " write it, after filtering

:au!             " remove all autocommandse" Edit test.out againset nobin ff&   " use the default fileformat for writing

:wqa!ENDTESTstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx45678910

end of testfile[?12l[?25h[?25l

:[?12l[?25h$r Xtestfile.gz                " Read and decompress the testfile
[?25l"Xtestfile.gz" [Incomplete last line] 1 line, 111 characters
[?12l[?25h[?25lstart of test.c

/*

 * Here is a new .c file

 */

end of test.c

start of testfile[?12l[?25h[?25l

:[?12l[?25h?startstart?,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 29 lines, 788 characters written[?12l[?25h[?25l:[?12l[?25hau BufNewFile      *.c    read Xtest.c
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25lsearch hit BOTTOM, continuing at TOP"Xtest.c" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25he! foo.c                       " Will load Xtest.c
[?25l"foo.c" [New File]

"Xtest.c" 3 lines, 32 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileAppendPre   *.out  '[,']s/new/NEW/
[?25l/*

 * Here is a new .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FileAppendPost  *.out  !cat Xtest.c >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 4 lines, 33 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hau! FileAppendPre
[?25l/*

 * Here is a NEW .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile.gz                " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'


[?12l[?25h[?25l"Xtestfile.gz""Xtestfile.gz" 11 lines, 357 characters:!gzip 'Xtestfile'


[?12l[?25h[?25lcaught FileChangedShell


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 11 lines, 357 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hset shelltemp                  " need temp files here
[?25lstart of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>") . "


.t")
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi


le>")) . ".t >" . shellescape(expand("<afile>"))
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !rm ' . shellescape(expand("<afile>")) .


'.t'
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPost  *.out  '[,']s/x/X/g
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out                    " Edit the output file
[?25l"test.out" 50 lines, 1242 charactersstarstart of testfile2  Abcdefghijklmnopqrstuvwxyz3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4  Abcdefghijklmnopqrstuvwxyz5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6  Abcdefghijklmnopqrstuvwxyz7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8  Abcdefghijklmnopqrstuvwxyz9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfilestart of test.c/* * Here is a new .c file */end of test.cstart of testfileline 2  Abcdefghijklmnopqrstuvwxyzline 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 4  Abcdefghijklmnopqrstuvwxyzline 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines


28 lines filtered


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h23,$s/\r$//                 " remove CR for when sed adds them
[?25lE486: Pattern not found: \r$

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>


"))
[?25lstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE 5  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[?12l[?25h[?25l

:[?12l[?25hau  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau! FileReadPost   *.gz   '[,']s/l/L/
[?25l[?12l[?25h[?25l:[?12l[?25h$r Xtestfile.gz             " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" 11 lines, 357 characters


11 substitutions on 11 lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw                           " write it, after filtering
[?25l"test.out"61 lines, 1599 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau!             " remove all autocommands
[?25lE216: No such group or event: " remove all autocommands


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he               " Edit test.out again
[?25l"test.out"61 lines, 1599 charactersstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"test.out" 61 lines, 1599 characters[?12l[?25h[?25l:[?12l[?25hset nobin ff&   " use the default fileformat for writing
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test11 = test61; then \
#	  if diff test.out test11.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test11.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test52.failed test.ok test.out X* viminfo
cp test52.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test52.in" 65 lines, 1645 charactersTests for reading and writing files with conversion for Win32.



STARTTEST

:so mbyte.vim

:" make this a dummy test for non-Win32 systems

:if !has("win32") | e! test.ok | wq! test.out | endif

:"

:" write tests:

:" combine three values for 'encoding' with three values for 'fileencoding'

:" also write files for read tests

/^1

:set encoding=utf-8

:.w! ++enc=utf-8 test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=utf-8 Xutf8

/^2

:set encoding=cp1251

:.w ++enc=utf-8 >>test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=cp1251 Xcp1251

/^3[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for reading and writing files with conversion for Win32.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 57 lines, 1333 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xcp1251

:.w ++enc=cp1251 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp1251 >>test.out

:"

:" read three 'fileencoding's with cp866 'encoding'

:set encoding=cp866 fencs=utf-8,cp1251

:e Xutf8

:.w ++enc=cp866 >>test.out

:e Xcp1251

:.w ++enc=cp866 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp866 >>test.out

:"

:qa!

ENDTEST






[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" 18 lines, 1374 characters


"test.out" [New File] 18 lines, 1374 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test52 = test61; then \
#	  if diff test.out test52.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test52.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test85.failed test.ok test.out X* viminfo
cp test85.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test85.in" 85 lines, 1868 charactersTest for Lua interface and luaeval() function



STARTTEST

:so small.vim

:so lua.vim

:set nocompatible viminfo+=nviminfo

:lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"

:lua h = vim.dict(); h.list = l

:call garbagecollect()

/^1

:" change buffer contents

:lua curbuf = vim.buffer()

:lua curline = vim.eval"line('.')"

:lua curbuf[curline] = "1 changed line 1"

:" scalar test

:let tmp_string = luaeval('"string"')

:let tmp_1000 = luaeval('1000')

:if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"

:let scalar_res = "OK"

:else

:let scalar_res = "FAILED"

:endif

:call append(search("^1"), "scalar test " . scalar_res)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Lua interface and luaeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 77 lines, 1775 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")

:lua d[4] = d[0]

:lua d[5] = d[1]

:lua d[6] = d[2]

:lua d[7] = d[3]

:lua d[3] = nil

:lua d[2] = nil

:lua d[1] = nil

:lua d[0] = nil

:lua d = nil

:$put =string(d)



:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso lua.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[?12l[?25h[?25l:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect()
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l:[?12l[?25h" change buffer contents
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf = vim.buffer()
[?25l[?12l[?25h[?25l:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25lchanged line 1
[?12l[?25h[?25l:[?12l[?25h" scalar test
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[?12l[?25h[?25l:[?12l[?25hif printf("%s%.0f", tmp_string, tmp_1000) == "string1000"
[?25l

:  [?12l[?25h:let scalar_res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let scalar_res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")[?12l[?25h[?25l





:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25lscalar test OK

2 line 2[?12l[?25h[?25l:[?12l[?25h" dictionary containing a list
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[?12l[?25h[?25l:[?12l[?25h/^2/put =tmp
[?25l

dictionary with list OK[?12l[?25h[?25l

:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l
[?25l[?12l[?25h[?25l:[?12l[?25hlet l2 = luaeval("h").list
[?25l[?12l[?25h[?25l:[?12l[?25hif l2[2] == l2
[?25l

:  [?12l[?25h:let res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")[?12l[?25h[?25l

:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l

circular test OK[?12l[?25h[?25l

:[?12l[?25hlet l = []
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.eval("l")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = l[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = l[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = l[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(l)
[?25l

[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][?12l[?25h[?25l

:[?12l[?25hlet d = {}
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = vim.eval("d")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[4] = d[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[5] = d[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[6] = d[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[7] = d[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(d)
[?25l

{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[?12l[?25h[?25l

:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 7L, 206C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test85 = test61; then \
#	  if diff test.out test85.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test85.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test86.failed test.ok test.out X* viminfo
cp test86.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile.o memfile.c
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test86.in" 1711 lines, 48481 charactersTests for various python features.     vim: set ft=vim :



NOTE: This will cause errors when run under valgrind.

This would require recompiling Python with:

  ./configure --without-pymalloc

See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:if !has('python') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py import vim

:py cb = vim.current.buffer

:let l = []

:py l=vim.bindeval('l')

:py f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py l.extend([1, "as'd", [1, 2, f, {'a': 1}]])

:$put =string(l)

:$put =string(l[-1])[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1700 lines, 48188 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" 1445 lines, 67439 characters


"test.out" [New File] 1445 lines, 67439 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test86 = test61; then \
#	  if diff test.out test86.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test86.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test87.failed test.ok test.out X* viminfo
cp test87.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test87.in" 1707 lines, 49069 charactersTests for various python features.     vim: set ft=vim :



STARTTEST

:so small.vim

:set noswapfile

:if !has('python3') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py3 import vim

:py3 cb = vim.current.buffer

:let l = []

:py3 l=vim.bindeval('l')

:py3 f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]

:$put =string(l)

:$put =string(l[-1])

:try

:  $put =string(l[-4])

:catch

:  $put =v:exception[:13]

:endtry

:" List assignment[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1701 lines, 48985 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h:py3 import vim


[?25l:  [?12l[?25h:py3 cb = vim.current.buffer


[?25l:  [?12l[?25h:let l = []


[?25l:  [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:  [?12l[?25h:py3 f=vim.bindeval('function("strlen")')


[?25l:  [?12l[?25h:" Extending List directly with different types


[?25l:  [?12l[?25h:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-4])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:13]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List assignment


[?25l:  [?12l[?25h:py3 l[0]=0


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:py3 l[-2]=f


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Extending Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:fun d.f()


[?25l:    [?12l[?25h:  return 1


[?25l:    [?12l[?25h:endfun


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hd=vim.bindeval('d')


[?25l:    [?12l[?25hd['1']='asd'


[?25l:    [?12l[?25hd.update()  # Must not do anything, including throwing errors


[?25l:    [?12l[?25hd.update(b=[1, 2, f])


[?25l:    [?12l[?25hd.update((('-1', {'a': 1}),))


[?25l:    [?12l[?25hd.update({'0': -1})


[?25l:    [?12l[?25hdk = d.keys()


[?25l:    [?12l[?25hdv = d.values()


[?25l:    [?12l[?25hdi = d.items()


[?25l:    [?12l[?25hdk.sort(key=repr)


[?25l:    [?12l[?25hdv.sort(key=repr)


[?25l:    [?12l[?25hdi.sort(key=repr)


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =py3eval('d[''f''](self={})')


[?25l:    [?12l[?25h:$put =py3eval('repr(dk)')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(dv)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(di)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:for [key, Val] in sort(items(d))


[?25l:      [?12l[?25h:  $put =string(key) . ' : ' . string(Val)


[?25l:      [?12l[?25h:  unlet key Val


[?25l:      [?12l[?25h:endfor


[?25l:    [?12l[?25h:py3 del dk


[?25l:    [?12l[?25h:py3 del di


[?25l:    [?12l[?25h:py3 del dv


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items with del


[?25l:    [?12l[?25h:py3 del l[2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:try


[?25l:      [?12l[?25h:   py3 del l[:3]


[?25l:      [?12l[?25h:   py3 del l[1:]


[?25l:      [?12l[?25h:catch


[?25l:      [?12l[?25h:   $put =v:exception


[?25l:      [?12l[?25h:endtry


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:py3 del d['-1']


[?25l:    [?12l[?25h:py3 del d['f']


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''b'')'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''1''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(''0'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(''1'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:$put =string(d)


[?25l:    [?12l[?25h:$put =py3eval('repr(d.popitem())')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.get(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[2:1]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:3]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:5]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:6]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[-1:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-3:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-4:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-5:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-6:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[::2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[3:0:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Slice assignment to a list


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['a']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[1:2]=['b']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:4]=['c']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[4:4]=['d']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-1:2]=['e']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-10:2]=['f']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:-10]=['g']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = []


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['h']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:6:2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:-2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Locked variables


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:lockvar! l


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hdef emsg(ei):


[?25l:    [?12l[?25h    return ei[0].__name__ + ':' + repr(ei[1].args)


[?25l:    [?12l[?25h


[?25l:    [?12l[?25htry:


[?25l:    [?12l[?25h    l[2]='i'


[?25l:    [?12l[?25hexcept vim.error:


[?25l:    [?12l[?25h    cb.append('l[2] threw vim.error: ' + emsg(sys.exc_info()))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:unlockvar! l


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Function calls


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25himport sys


[?25l:    [?12l[?25himport re


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hpy33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional


argument but (\d+) were given$')


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hdef ee(expr, g=globals(), l=locals()):


[?25l:    [?12l[?25h    cb = vim.current.buffer


[?25l:    [?12l[?25h    try:


[?25l:    [?12l[?25h        try:


[?25l:    [?12l[?25h            exec(expr, g, l)


[?25l:    [?12l[?25h        except Exception as e:


[?25l:    [?12l[?25h            if sys.version_info >= (3, 3) and e.__class__ is AttributeErro


r and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, AttributeError(s


tr(e)[str(e).rfind(" '") + 2:-1]))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is ImportError


and str(e).find('No module named \'') >= 0:


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, ImportError(str(


e).replace("'", '')))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is TypeError:


[?25l:    [?12l[?25h                m = py33_type_error_pattern.search(str(e))


[?25l:    [?12l[?25h                if m:


[?25l:    [?12l[?25h                    msg = '__call__() takes exactly {0} positional argumen


t ({1} given)'.format(m.group(1), m.group(2))


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, TypeError(ms


g))))


[?25l:    [?12l[?25h                else:


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, e)))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 5) and e.__class__ is ValueError 


and str(e) == 'embedded null byte':


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((TypeError, TypeError('expecte


d bytes with no null'))))


[?25l:    [?12l[?25h            else:


[?25l:    [?12l[?25h                msg = repr((e.__class__, e))


[?25l:    [?12l[?25h                # Some Python versions say can't, others cannot.


[?25l:    [?12l[?25h                if msg.find('can\'t') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('can\'t', 'cannot')


[?25l:    [?12l[?25h                # Some Python versions use single quote, some double quote


[?25l:    [?12l[?25h                if msg.find('"cannot ') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('"cannot ', '\'cannot ')


[?25l:    [?12l[?25h                if msg.find(' attributes"') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace(' attributes"', ' attributes\'')


[?25l:    [?12l[?25h                cb.append(expr + ':' + msg)


[?25l:    [?12l[?25h        else:


[?25l:    [?12l[?25h            cb.append(expr + ':NOT FAILED')


[?25l:    [?12l[?25h    except Exception as e:


[?25l:    [?12l[?25h        cb.append(expr + '::' + repr((e.__class__, e)))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:fun New(...)


[?25l:      [?12l[?25h:   return ['NewStart']+a:000+['NewEnd']


[?25l:      [?12l[?25h:endfun


[?25l:      [?12l[?25h:fun DictNew(...) dict


[?25l:[?12l[?25h:   return ['DictNewStart']+a:000+['DictNewEnd', self]


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:let l=[function('New'), function('DictNew')]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l+=[l[0].name]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 ee('l[1](1, 2, 3)')


[?25l:[?12l[?25h:py3 f=l[0]


[?25l:[?12l[?25h:delfunction New


[?25l:[?12l[?25h:py3 ee('f(1, 2, 3)')


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let l=[0.0]


[?25l:[?12l[?25h:   py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:   py3 l.extend([0.0])


[?25l:[?12l[?25h:   $put =string(l)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='[0.0, 0.0]'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:let messages=[]


[?25l:[?12l[?25h:delfunction DictNew


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25hd=vim.bindeval('{}')


[?25l:[?12l[?25hm=vim.bindeval('messages')


[?25l:[?12l[?25hdef em(expr, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        if sys.version_info >= (3, 5) and e.__class__ is ValueError an


d str(e) == 'embedded null byte':


[?25l:[?12l[?25h            m.extend([TypeError.__name__])


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            m.extend([e.__class__.__name__])


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d["abc1"]')


[?25l:[?12l[?25hem('d["abc1"]="\\0"')


[?25l:[?12l[?25hem('d["abc1"]=vim')


[?25l:[?12l[?25hem('d[""]=1')


[?25l:[?12l[?25hem('d["a\\0b"]=1')


[?25l:[?12l[?25hem('d[b"a\\0b"]=1')


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d.pop("abc1")')


[?25l:[?12l[?25hem('d.popitem()')


[?25l:[?12l[?25hdel em


[?25l:[?12l[?25hdel m


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =messages


[?25l:[?12l[?25h:unlet messages


[?25l:[?12l[?25h:" locked and scope attributes


[?25l:[?12l[?25h:let d={} | let dl={} | lockvar dl


[?25l:[?12l[?25h:for s in split("d dl v: g:")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e


val(name.".".v:val)'), ';')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! let d.abc2=1


[?25l:[?12l[?25h:silent! let dl.abc3=1


[?25l:[?12l[?25h:py3 d.locked=True


[?25l:[?12l[?25h:py3 dl.locked=False


[?25l:[?12l[?25h:silent! let d.def=1


[?25l:[?12l[?25h:silent! let dl.def=1


[?25l:[?12l[?25h:put ='d:'.string(d)


[?25l:[?12l[?25h:put ='dl:'.string(dl)


[?25l:[?12l[?25h:unlet d dl


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:let l=[] | let ll=[] | lockvar ll


[?25l:[?12l[?25h:for s in split("l ll")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : locked:'.py3eval(name.'.locked')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! call extend(l, [0])


[?25l:[?12l[?25h:silent! call extend(ll, [0])


[?25l:[?12l[?25h:py3 l.locked=True


[?25l:[?12l[?25h:py3 ll.locked=False


[?25l:[?12l[?25h:silent! call extend(l, [1])


[?25l:[?12l[?25h:silent! call extend(ll, [1])


[?25l:[?12l[?25h:put ='l:'.string(l)


[?25l:[?12l[?25h:put ='ll:'.string(ll)


[?25l:[?12l[?25h:unlet l ll


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" py3eval()


[?25l:[?12l[?25h:let l=py3eval('[0, 1, 2]')


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')


[?25l:[?12l[?25h:$put =sort(items(d))


[?25l:[?12l[?25h:let v:errmsg = ''


[?25l:[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let f=py3eval('0.0')


[?25l:[?12l[?25h:   $put =string(f)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='0.0'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:" Invalid values:


[?25l:[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']


[?25l:[?12l[?25h:   try


[?25l:[?12l[?25h:      let v=py3eval(e)


[?25l:[?12l[?25h:   catch


[?25l:[?12l[?25h:      let toput=e.":\t".v:exception[:13]


[?25l:[?12l[?25h:      $put =toput


[?25l:[?12l[?25h:   endtry


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" threading


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport threading


[?25l:[?12l[?25himport time


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass T(threading.Thread):


[?25l:[?12l[?25h    def __init__(self):


[?25l:[?12l[?25h        threading.Thread.__init__(self)


[?25l:[?12l[?25h        self.t = 0


[?25l:[?12l[?25h        self.running = True


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def run(self):


[?25l:[?12l[?25h        while self.running:


[?25l:[?12l[?25h            self.t += 1


[?25l:[?12l[?25h            time.sleep(0.1)


[?25l:[?12l[?25h


[?25l:[?12l[?25ht = T()


[?25l:[?12l[?25hdel T


[?25l:[?12l[?25ht.start()


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:sleep 1


[?25l:[?12l[?25h:py3 t.running = False


[?25l:[?12l[?25h:py3 t.join()


[?25l:[?12l[?25h:" Check if the background thread is working.  Count should be 10, but


on a


[?25l:[?12l[?25h:" busy system (AppVeyor) it can be much lower.


[?25l:[?12l[?25h:py3 l[0] = t.t > 4


[?25l:[?12l[?25h:py3 del time


[?25l:[?12l[?25h:py3 del threading


[?25l:[?12l[?25h:py3 del t


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" settrace


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef traceit(frame, event, arg):


[?25l:[?12l[?25h    global l


[?25l:[?12l[?25h    if event == "line":


[?25l:[?12l[?25h        l += [frame.f_lineno]


[?25l:[?12l[?25h    return traceit


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef trace_main():


[?25l:[?12l[?25h    for i in range(5):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:py3 sys.settrace(traceit)


[?25l:[?12l[?25h:py3 trace_main()


[?25l:[?12l[?25h:py3 sys.settrace(None)


[?25l:[?12l[?25h:py3 del traceit


[?25l:[?12l[?25h:py3 del trace_main


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Slice


[?25l:[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')


[?25l:[?12l[?25h:py3 l = ll[:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-4:-2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[0:6]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-10:10]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:-1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[::2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 del l


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Vars


[?25l:[?12l[?25h:let g:foo = 'bac'


[?25l:[?12l[?25h:let w:abc3 = 'def'


[?25l:[?12l[?25h:let b:baz = 'bar'


[?25l:[?12l[?25h:let t:bar = 'jkl'


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  throw "Abc"


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  put =py3eval('vim.vvars[''exception'']')


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:put =py3eval('vim.vars[''foo'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Options


[?25l:[?12l[?25h:" paste:          boolean, global


[?25l:[?12l[?25h:" previewheight   number,  global


[?25l:[?12l[?25h:" operatorfunc:   string,  global


[?25l:[?12l[?25h:" number:         boolean, window-local


[?25l:[?12l[?25h:" numberwidth:    number,  window-local


[?25l:[?12l[?25h:" colorcolumn:    string,  window-local


[?25l:[?12l[?25h:" statusline:     string,  window-local/global


[?25l:[?12l[?25h:" autoindent:     boolean, buffer-local


[?25l:[?12l[?25h:" shiftwidth:     number,  buffer-local


[?25l:[?12l[?25h:" omnifunc:       string,  buffer-local


[?25l:[?12l[?25h:" preserveindent: boolean, buffer-local/global


[?25l:[?12l[?25h:" path:           string,  buffer-local/global


[?25l:[?12l[?25h:let g:bufs=[bufnr('%')]


[?25l:[?12l[?25h:new


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd j


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd l


[?25l:[?12l[?25h:fun RecVars(opt)


[?25l:[?12l[?25h:  let gval =string(eval('&g:'.a:opt))


[?25l:[?12l[?25h:  let wvals=join(map(range(1, 4),  'v:val.":".string(getwinvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  put ='  G: '.gval


[?25l:[?12l[?25h:  put ='  W: '.wvals


[?25l:[?12l[?25h:  put ='  B: '.wvals


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef e(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('return ' + repr(e.__class__.__name__))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef ev(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        return eval(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('let exc=' + repr(e.__class__.__name__))


[?25l:[?12l[?25h        return 0


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:fun E(s)


[?25l:[?12l[?25h:   python3 e(vim.eval('a:s'))


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun Ev(s)


[?25l:[?12l[?25h:   let r=py3eval('ev(vim.eval("a:s"))')


[?25l:[?12l[?25h:   if exists('exc')


[?25l:[?12l[?25h:       throw exc


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   return r


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:py3 gopts1=vim.options


[?25l:[?12l[?25h:py3 wopts1=vim.windows[2].options


[?25l:[?12l[?25h:py3 wopts2=vim.windows[0].options


[?25l:[?12l[?25h:py3 wopts3=vim.windows[1].options


[?25l:[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options


[?25l:[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options


[?25l:[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options


[?25l:[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts


2)')


[?25l:[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts


2)')


[?25l:[?12l[?25h:py3 gset=set(iter(gopts1))


[?25l:[?12l[?25h:py3 wset=set(iter(wopts1))


[?25l:[?12l[?25h:py3 bset=set(iter(bopts1))


[?25l:[?12l[?25h:set path=.,..,,


[?25l:[?12l[?25h:let lst=[]


[?25l:[?12l[?25h:let lst+=[['paste',          1,     0,     1,     2,      1,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['previewheight',  5,     1,     6,     'a',    0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['operatorfunc',   'A',   'B',   'C',   2,      0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['number',         0,     1,     1,     0,      1,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['numberwidth',    2,     3,     5,     -100,   0,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc4',  0,  


 0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['statusline',     '1',   '2',   '4',   0,      0,   


1,      1    ]]


[?25l:[?12l[?25h:let lst+=[['autoindent',     0,     1,     1,     2,      1,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['shiftwidth',     0,     2,     1,     3,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['preserveindent', 0,     1,     1,     2,      1,   


1,      2    ]]


[?25l:[?12l[?25h:let lst+=[['path',           '.,,', ',,',  '.',   0,      0,   


1,      2    ]]


[?25l:[?12l[?25h:for       [oname,            oval1, oval2, oval3, invval, bool,


global, local] in lst


[?25l:[?12l[?25h:   py3 oname=vim.eval('oname')


[?25l:[?12l[?25h:   py3 oval1=vim.bindeval('oval1')


[?25l:[?12l[?25h:   py3 oval2=vim.bindeval('oval2')


[?25l:[?12l[?25h:   py3 oval3=vim.bindeval('oval3')


[?25l:[?12l[?25h:   if invval is 0 || invval is 1


[?25l:[?12l[?25h:       py3 invval=bool(vim.bindeval('invval'))


[?25l:[?12l[?25h:   else


[?25l:[?12l[?25h:       py3 invval=vim.bindeval('invval')


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   if bool


[?25l:[?12l[?25h:       py3 oval1=bool(oval1)


[?25l:[?12l[?25h:       py3 oval2=bool(oval2)


[?25l:[?12l[?25h:       py3 oval3=bool(oval3)


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   put ='>>> '.oname


[?25l:[?12l[?25h:   $put ='  g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona


me in wset').'/'.py3eval('oname in bset')


[?25l:[?12l[?25h:   $put ='  g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev


al('oname in wopts1').'/'.py3eval('oname in bopts1')


[?25l:[?12l[?25h:   for v in ['gopts1', 'wopts1', 'bopts1']


[?25l:[?12l[?25h:       try


[?25l:[?12l[?25h:           put ='  p/'.v.': '.Ev('repr('.v.'['''.oname.''


'])')


[?25l:[?12l[?25h:       catch


[?25l:[?12l[?25h:           put ='  p/'.v.'! '.v:exception


[?25l:[?12l[?25h:       endtry


[?25l:[?12l[?25h:       let r=E(v.'['''.oname.''']=invval')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  inv: '.string(invval).'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:       for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[


:-2].'3'])


[?25l:[?12l[?25h:           let val=substitute(vv, '^.opts', 'oval', '')


[?25l:[?12l[?25h:           let r=E(vv.'['''.oname.''']='.val)


[?25l:[?12l[?25h:           if r isnot 0


[?25l:[?12l[?25h:               put ='  '.vv.'! '.r


[?25l:[?12l[?25h:           endif


[?25l:[?12l[?25h:       endfor


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:   for v in ['wopts3', 'bopts3']


[?25l:[?12l[?25h:       let r=E('del '.v.'["'.oname.'"]')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  del '.v.'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:delfunction RecVars


[?25l:[?12l[?25h:delfunction E


[?25l:[?12l[?25h:delfunction Ev


[?25l:[?12l[?25h:py3 del ev


[?25l:[?12l[?25h:py3 del e


[?25l:[?12l[?25h:only


[?25l:[?12l[?25h:for buf in g:bufs[1:]


[?25l:[?12l[?25h:   execute 'bwipeout!' buf


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:py3 del gopts1


[?25l:[?12l[?25h:py3 del wopts1


[?25l:[?12l[?25h:py3 del wopts2


[?25l:[?12l[?25h:py3 del wopts3


[?25l:[?12l[?25h:py3 del bopts1


[?25l:[?12l[?25h:py3 del bopts2


[?25l:[?12l[?25h:py3 del bopts3


[?25l:[?12l[?25h:py3 del oval1


[?25l:[?12l[?25h:py3 del oval2


[?25l:[?12l[?25h:py3 del oval3


[?25l:[?12l[?25h:py3 del oname


[?25l:[?12l[?25h:py3 del invval


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test buffer object


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:put ='First line'


[?25l:[?12l[?25h:put ='Second line'


[?25l:[?12l[?25h:put ='Third line'


[?25l:[?12l[?25h:1 delete _


[?25l:[?12l[?25h:py3 b=vim.current.buffer


[?25l:[?12l[?25h:wincmd w


[?25l:[?12l[?25h:mark a


[?25l:[?12l[?25h:augroup BUFS


[?25l:[?12l[?25h:   autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a


buf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:   autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab


uf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:augroup END


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Tests BufferAppend and BufferItem


[?25l:[?12l[?25hcb.append(b[0])


[?25l:[?12l[?25h# Tests BufferSlice and BufferAssSlice


[?25l:[?12l[?25hcb.append('abc5') # Will be overwritten


[?25l:[?12l[?25hcb[-1:] = b[:-2]


[?25l:[?12l[?25h# Test BufferLength and BufferAssSlice


[?25l:[?12l[?25hcb.append('def') # Will not be overwritten


[?25l:[?12l[?25hcb[len(cb):] = b[:]


[?25l:[?12l[?25h# Test BufferAssItem and BufferMark


[?25l:[?12l[?25hcb.append('ghi') # Will be overwritten


[?25l:[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))


[?25l:[?12l[?25h# Test BufferRepr


[?25l:[?12l[?25hcb.append(repr(cb) + repr(b))


[?25l:[?12l[?25h# Modify foreign buffer


[?25l:[?12l[?25hb.append('foo')


[?25l:[?12l[?25hb[0]='bar'


[?25l:[?12l[?25hb[0:0]=['baz']


[?25l:[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe


r)

[?25l:[?12l[?25h# Test assigning to name property


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hold_name = cb.name


[?25l:[?12l[?25hcb.name = 'foo'


[?25l:[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hb.name = 'bar'


[?25l:[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hcb.name = old_name


[?25l:[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel old_name


[?25l:[?12l[?25h# Test CheckBuffer


[?25l:[?12l[?25hfor _b in vim.buffers:


[?25l:[?12l[?25h    if _b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(_b.number))


[?25l:[?12l[?25hdel _b


[?25l:[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))


)

[?25l:[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")


'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr)


[?25l:[?12l[?25h    except vim.error:


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        # Usually a SEGV here


[?25l:[?12l[?25h        # Should not happen in any case


[?25l:[?12l[?25h        cb.append('No exception for ' + expr)


[?25l:[?12l[?25hvim.command('cd .')


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.buffers object


[?25l:[?12l[?25h:set hidden


[?25l:[?12l[?25h:edit a


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit b


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit c


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Check GCing iterator that was not fully exhausted


[?25l:[?12l[?25hi = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# and also check creating more than one iterator at a time


[?25l:[?12l[?25hi2 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i2:' + str(next(i2)))


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# The following should trigger GC and not cause any problems


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hdel i2


[?25l:[?12l[?25hi3 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i3:' + str(next(i3)))


[?25l:[?12l[?25hdel i3


[?25l:[?12l[?25h


[?25l:[?12l[?25hprevnum = 0


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    # Check buffer order


[?25l:[?12l[?25h    if prevnum >= b.number:


[?25l:[?12l[?25h        cb.append('!!! Buffer numbers not in strictly ascending 


order')


[?25l:[?12l[?25h    # Check indexing: vim.buffers[number].number == number


[?25l:[?12l[?25h    cb.append(str(b.number) + ':' + repr(vim.buffers[b.number]) 


+ '=' + repr(b))


[?25l:[?12l[?25h    prevnum = b.number


[?25l:[?12l[?25hdel prevnum


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append(str(len(vim.buffers)))


[?25l:[?12l[?25h


[?25l:[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Test wiping out buffer with existing iterator


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept vim.error:


[?25l:[?12l[?25h    pass


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h    cb.append('!!!! No vim.error')


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept StopIteration:


[?25l:[?12l[?25h    cb.append('StopIteration')


[?25l:[?12l[?25hdel i4


[?25l:[?12l[?25hdel bnums


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object


s

[?25l:[?12l[?25h:tabnew 0


[?25l:[?12l[?25h:tabnew 1


[?25l:[?12l[?25h:vnew a.1


[?25l:[?12l[?25h:tabnew 2


[?25l:[?12l[?25h:vnew a.2


[?25l:[?12l[?25h:vnew b.2


[?25l:[?12l[?25h:vnew c.2


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))


[?25l:[?12l[?25hcb.append('Current tab pages:')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef W(w):


[?25l:[?12l[?25h    if '(unknown)' in repr(w):


[?25l:[?12l[?25h        return '<window object (unknown)>'


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef Cursor(w, start=len(cb)):


[?25l:[?12l[?25h    if w.buffer is cb:


[?25l:[?12l[?25h        return repr((start - w.cursor[0], w.cursor[1]))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w.cursor)


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor t in vim.tabpages:


[?25l:[?12l[?25h    cb.append('  ' + repr(t) + '(' + str(t.number) + ')' + ': ' 


+ str(len(t.windows)) + ' windows, current is ' + W(t.window))


[?25l:[?12l[?25h    cb.append('  Windows:')


[?25l:[?12l[?25h    for w in t.windows:


[?25l:[?12l[?25h        cb.append('    ' + W(w) + '(' + str(w.number) + ')' + ':


displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))


[?25l:[?12l[?25h        # Other values depend on the size of the terminal, so th


ey are checked partly:


[?25l:[?12l[?25h        for attr in ('height', 'row', 'width', 'col'):


[?25l:[?12l[?25h            try:


[?25l:[?12l[?25h                aval = getattr(w, attr)


[?25l:[?12l[?25h                if type(aval) is not int:


[?25l:[?12l[?25h                    raise TypeError


[?25l:[?12l[?25h                if aval < 0:


[?25l:[?12l[?25h                    raise ValueError


[?25l:[?12l[?25h            except Exception as e:


[?25l:[?12l[?25h                cb.append('!!!!!! Error while getting attribute 


' + attr + ': ' + e.__class__.__name__)


[?25l:[?12l[?25h        del aval


[?25l:[?12l[?25h        del attr


[?25l:[?12l[?25h        w.cursor = (len(w.buffer), 0)


[?25l:[?12l[?25hdel W


[?25l:[?12l[?25hdel Cursor


[?25l:[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi


m.windows)))


[?25l:[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):


[?25l:[?12l[?25h    cb.append('!!!!!! Windows differ')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.current


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef H(o):


[?25l:[?12l[?25h    return repr(o)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +


H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +


H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c


urrent.tabpage.window.buffer))


[?25l:[?12l[?25hdel H


[?25l:[?12l[?25h# Assigning: fails


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    vim.current.window = vim.tabpages[0].window


[?25l:[?12l[?25hexcept ValueError:


[?25l:[?12l[?25h    cb.append('ValueError at assigning foreign tab window')


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        setattr(vim.current, attr, None)


[?25l:[?12l[?25h    except TypeError:


[?25l:[?12l[?25h        cb.append('Type error at assigning None to vim.current.'


+ attr)


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Assigning: success


[?25l:[?12l[?25hvim.current.tabpage = vim.tabpages[-2]


[?25l:[?12l[?25hvim.current.buffer = cb


[?25l:[?12l[?25hvim.current.window = vim.windows[0]


[?25l:[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))


[?25l:[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))


[?25l:[?12l[?25hws = list(vim.windows)


[?25l:[?12l[?25hts = list(vim.tabpages)


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    if b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(b.number))


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))


[?25l:[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))


[?25l:[?12l[?25hdel w


[?25l:[?12l[?25hdel t


[?25l:[?12l[?25hdel ts


[?25l:[?12l[?25hdel ws


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:tabonly!


[?25l:[?12l[?25h:only!


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test types


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor expr, attr in (


[?25l:[?12l[?25h    ('vim.vars',                         'Dictionary'),


[?25l:[?12l[?25h    ('vim.options',                      'Options'),


[?25l:[?12l[?25h    ('vim.bindeval("{}")',               'Dictionary'),


[?25l:[?12l[?25h    ('vim.bindeval("[]")',               'List'),


[?25l:[?12l[?25h    ('vim.bindeval("function(\'tr\')")', 'Function'),


[?25l:[?12l[?25h    ('vim.current.buffer',               'Buffer'),


[?25l:[?12l[?25h    ('vim.current.range',                'Range'),


[?25l:[?12l[?25h    ('vim.current.window',               'Window'),


[?25l:[?12l[?25h    ('vim.current.tabpage',              'TabPage'),


[?25l:[?12l[?25h):


[?25l:[?12l[?25h    cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is


getattr(vim, attr)))


[?25l:[?12l[?25hdel expr


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test __dir__() method


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor name, o in (


[?25l:[?12l[?25h        ('current',    vim.current),


[?25l:[?12l[?25h        ('buffer',     vim.current.buffer),


[?25l:[?12l[?25h        ('window',     vim.current.window),


[?25l:[?12l[?25h        ('tabpage',    vim.current.tabpage),


[?25l:[?12l[?25h        ('range',      vim.current.range),


[?25l:[?12l[?25h        ('dictionary', vim.bindeval('{}')),


[?25l:[?12l[?25h        ('list',       vim.bindeval('[]')),


[?25l:[?12l[?25h        ('function',   vim.bindeval('function("tr")')),


[?25l:[?12l[?25h        ('output',     sys.stdout),


[?25l:[?12l[?25h    ):


[?25l:[?12l[?25h    cb.append(name + ':' + ','.join(dir(o)))


[?25l:[?12l[?25hdel name


[?25l:[?12l[?25hdel o


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.*.__new__


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List()'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={})'))


[?25l:[?12l[?25h:$put ='auto_rebind'


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')


)

[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au


to_rebind=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={}, auto_rebind=False)'))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.Function


[?25l:[?12l[?25h:function Args(...)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:function SelfArgs(...) dict


[?25l:[?12l[?25h:   return [a:000, self]


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:" The following four lines should not crash


[?25l:[?12l[?25h:let Pt = function('tr', [[]], {'l': []})


[?25l:[?12l[?25h:py3 Pt = vim.bindeval('Pt')


[?25l:[?12l[?25h:unlet Pt


[?25l:[?12l[?25h:py3 del Pt


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):


[?25l:[?12l[?25h    line = out_prefix + ': '


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        ret = func(*args, **kwargs)


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        line += '!exception: ' + emsg(sys.exc_info())


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        line += '!result: ' + str(vim.Function('string')(ret


), 'utf-8')


[?25l:[?12l[?25h    cb.append(line)


[?25l:[?12l[?25ha = vim.Function('Args')


[?25l:[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])


[?25l:[?12l[?25hpa2 = vim.Function('Args', args=[])


[?25l:[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe


lfPA3': 'abcSelfPA3Val'})


[?25l:[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va


l'})


[?25l:[?12l[?25hcb.append('a: ' + repr(a))


[?25l:[?12l[?25hcb.append('pa1: ' + repr(pa1))


[?25l:[?12l[?25hcb.append('pa2: ' + repr(pa2))


[?25l:[?12l[?25hcb.append('pa3: ' + repr(pa3))


[?25l:[?12l[?25hcb.append('pa4: ' + repr(pa4))


[?25l:[?12l[?25hsa = vim.Function('SelfArgs')


[?25l:[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])


[?25l:[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])


[?25l:[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={


'abcSelfPSA3': 'abcSelfPSA3Val'})


[?25l:[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel


fPSA4Val'})


[?25l:[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel


fPSA5Val'}, auto_rebind=0)


[?25l:[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={


'abcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())


[?25l:[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r


ebind=[])


[?25l:[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)


[?25l:[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel


fPSA9Val'}, auto_rebind=True)


[?25l:[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={


'abcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)


[?25l:[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r


ebind={'abcARPSAB': 'abcARPSABVal'})


[?25l:[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])


[?25l:[?12l[?25hcb.append('sa: ' + repr(sa))


[?25l:[?12l[?25hcb.append('psa1: ' + repr(psa1))


[?25l:[?12l[?25hcb.append('psa2: ' + repr(psa2))


[?25l:[?12l[?25hcb.append('psa3: ' + repr(psa3))


[?25l:[?12l[?25hcb.append('psa4: ' + repr(psa4))


[?25l:[?12l[?25hcb.append('psa5: ' + repr(psa5))


[?25l:[?12l[?25hcb.append('psa6: ' + repr(psa6))


[?25l:[?12l[?25hcb.append('psa7: ' + repr(psa7))


[?25l:[?12l[?25hcb.append('psa8: ' + repr(psa8))


[?25l:[?12l[?25hcb.append('psa9: ' + repr(psa9))


[?25l:[?12l[?25hcb.append('psaA: ' + repr(psaA))


[?25l:[?12l[?25hcb.append('psaB: ' + repr(psaB))


[?25l:[?12l[?25hcb.append('psaC: ' + repr(psaC))


[?25l:[?12l[?25h


[?25l:[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr


gsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})


[?25l:[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]


[?25l:[?12l[?25hpsar.self['rec'] = psar


[?25l:[?12l[?25hpsar.self['self'] = psar.self


[?25l:[?12l[?25hpsar.self['args'] = psar.args


[?25l:[?12l[?25h


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    cb.append('psar: ' + repr(psar))


[?25l:[?12l[?25hexcept Exception:


[?25l:[?12l[?25h    cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i


nfo()))


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put ='s(a): '.string(py3eval('a'))


[?25l:[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))


[?25l:[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))


[?25l:[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))


[?25l:[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))


[?25l:[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))


[?25l:[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))


[?25l:[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))


[?25l:[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))


[?25l:[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))


[?25l:[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))


[?25l:[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))


[?25l:[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))


[?25l:[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))


[?25l:[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))


[?25l:[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))


[?25l:[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))


[?25l:[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps


a6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']


[?25l:[?12l[?25h:   let d = {'f': py3eval(v)}


[?25l:[?12l[?25h:   $put ='d.'.v.'(): '.string(d.f())


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a()', a, )


[?25l:[?12l[?25h:py3 ecall('pa1()', pa1, )


[?25l:[?12l[?25h:py3 ecall('pa2()', pa2, )


[?25l:[?12l[?25h:py3 ecall('pa3()', pa3, )


[?25l:[?12l[?25h:py3 ecall('pa4()', pa4, )


[?25l:[?12l[?25h:py3 ecall('sa()', sa, )


[?25l:[?12l[?25h:py3 ecall('psa1()', psa1, )


[?25l:[?12l[?25h:py3 ecall('psa2()', psa2, )


[?25l:[?12l[?25h:py3 ecall('psa3()', psa3, )


[?25l:[?12l[?25h:py3 ecall('psa4()', psa4, )


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)


[?25l:[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':


1})


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef s(v):


[?25l:[?12l[?25h    if v is None:


[?25l:[?12l[?25h        return repr(v)


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return str(vim.Function('string')(v), 'utf-8')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.args: ' + s(a.args))


[?25l:[?12l[?25hcb.append('pa1.args: ' + s(pa1.args))


[?25l:[?12l[?25hcb.append('pa2.args: ' + s(pa2.args))


[?25l:[?12l[?25hcb.append('pa3.args: ' + s(pa3.args))


[?25l:[?12l[?25hcb.append('pa4.args: ' + s(pa4.args))


[?25l:[?12l[?25hcb.append('sa.args: ' + s(sa.args))


[?25l:[?12l[?25hcb.append('psa1.args: ' + s(psa1.args))


[?25l:[?12l[?25hcb.append('psa2.args: ' + s(psa2.args))


[?25l:[?12l[?25hcb.append('psa3.args: ' + s(psa3.args))


[?25l:[?12l[?25hcb.append('psa4.args: ' + s(psa4.args))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.self: ' + s(a.self))


[?25l:[?12l[?25hcb.append('pa1.self: ' + s(pa1.self))


[?25l:[?12l[?25hcb.append('pa2.self: ' + s(pa2.self))


[?25l:[?12l[?25hcb.append('pa3.self: ' + s(pa3.self))


[?25l:[?12l[?25hcb.append('pa4.self: ' + s(pa4.self))


[?25l:[?12l[?25hcb.append('sa.self: ' + s(sa.self))


[?25l:[?12l[?25hcb.append('psa1.self: ' + s(psa1.self))


[?25l:[?12l[?25hcb.append('psa2.self: ' + s(psa2.self))


[?25l:[?12l[?25hcb.append('psa3.self: ' + s(psa3.self))


[?25l:[?12l[?25hcb.append('psa4.self: ' + s(psa4.self))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.name: ' + s(a.name))


[?25l:[?12l[?25hcb.append('pa1.name: ' + s(pa1.name))


[?25l:[?12l[?25hcb.append('pa2.name: ' + s(pa2.name))


[?25l:[?12l[?25hcb.append('pa3.name: ' + s(pa3.name))


[?25l:[?12l[?25hcb.append('pa4.name: ' + s(pa4.name))


[?25l:[?12l[?25hcb.append('sa.name: ' + s(sa.name))


[?25l:[?12l[?25hcb.append('psa1.name: ' + s(psa1.name))


[?25l:[?12l[?25hcb.append('psa2.name: ' + s(psa2.name))


[?25l:[?12l[?25hcb.append('psa3.name: ' + s(psa3.name))


[?25l:[?12l[?25hcb.append('psa4.name: ' + s(psa4.name))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.auto_rebind: ' + s(a.auto_rebind))


[?25l:[?12l[?25hcb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind))


[?25l:[?12l[?25hcb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind))


[?25l:[?12l[?25hcb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind))


[?25l:[?12l[?25hcb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind))


[?25l:[?12l[?25hcb.append('sa.auto_rebind: ' + s(sa.auto_rebind))


[?25l:[?12l[?25hcb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind))


[?25l:[?12l[?25hcb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind))


[?25l:[?12l[?25hcb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind))


[?25l:[?12l[?25hcb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind))


[?25l:[?12l[?25hcb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind))


[?25l:[?12l[?25hcb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind))


[?25l:[?12l[?25hcb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind))


[?25l:[?12l[?25hcb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind))


[?25l:[?12l[?25hcb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind))


[?25l:[?12l[?25hcb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind))


[?25l:[?12l[?25hcb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind))


[?25l:[?12l[?25hcb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel s


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel a


[?25l:[?12l[?25hdel pa1


[?25l:[?12l[?25hdel pa2


[?25l:[?12l[?25hdel pa3


[?25l:[?12l[?25hdel pa4


[?25l:[?12l[?25hdel sa


[?25l:[?12l[?25hdel psa1


[?25l:[?12l[?25hdel psa2


[?25l:[?12l[?25hdel psa3


[?25l:[?12l[?25hdel psa4


[?25l:[?12l[?25hdel psa5


[?25l:[?12l[?25hdel psa6


[?25l:[?12l[?25hdel psa7


[?25l:[?12l[?25hdel psa8


[?25l:[?12l[?25hdel psa9


[?25l:[?12l[?25hdel psaA


[?25l:[?12l[?25hdel psaB


[?25l:[?12l[?25hdel psaC


[?25l:[?12l[?25hdel psar


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel ecall


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test stdout/stderr


[?25l:[?12l[?25h:redir => messages


[?25l:[?12l[?25h:py3 sys.stdout.write('abc8') ; sys.stdout.write('def')


[?25l:[?12l[?25h:py3 sys.stderr.write('abc9') ; sys.stderr.write('def')


[?25l:[?12l[?25h:py3 sys.stdout.writelines(iter('abcA'))


[?25l:[?12l[?25h:py3 sys.stderr.writelines(iter('abcB'))


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:$put =string(substitute(messages, '\d\+', '', 'g'))


[?25l:[?12l[?25h:" Test subclassing


[?25l:[?12l[?25h:fun Put(...)


[?25l:[?12l[?25h:   $put =string(a:000)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hclass DupDict(vim.Dictionary):


[?25l:[?12l[?25h    def __setitem__(self, key, value):


[?25l:[?12l[?25h        super(DupDict, self).__setitem__(key, value)


[?25l:[?12l[?25h        super(DupDict, self).__setitem__('dup_' + key, val


ue)


[?25l:[?12l[?25hdd = DupDict()


[?25l:[?12l[?25hdd['a'] = 'b'


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupList(vim.List):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        return [super(DupList, self).__getitem__(idx)] * 2


[?25l:[?12l[?25h


[?25l:[?12l[?25hdl = DupList()


[?25l:[?12l[?25hdl2 = DupList(iter('abcC'))


[?25l:[?12l[?25hdl.extend(dl2[0])


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupFun(vim.Function):


[?25l:[?12l[?25h    def __call__(self, arg):


[?25l:[?12l[?25h        return super(DupFun, self).__call__(arg, arg)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdf = DupFun('Put')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =string(sort(keys(py3eval('dd'))))


[?25l:[?12l[?25h:$put =string(py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dl2'))


[?25l:[?12l[?25h:$put =string(py3eval('df(2)'))


[?25l:[?12l[?25h:$put =string(py3eval('dl') is# py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dd') is# py3eval('dd'))


[?25l:[?12l[?25h:$put =string(py3eval('df'))


[?25l:[?12l[?25h:delfunction Put


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel DupDict


[?25l:[?12l[?25hdel DupList


[?25l:[?12l[?25hdel DupFun


[?25l:[?12l[?25hdel dd


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel dl2


[?25l:[?12l[?25hdel df


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test chdir


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hfnamemodify = vim.Function('fnamemodify')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hos.chdir('..')


[?25l:[?12l[?25hpath = fnamemodify('.', ':p:h:t')


[?25l:[?12l[?25hif path != b'src':


[?25l:[?12l[?25h  # Running tests from a shadow directory, so move up anot


her level


[?25l:[?12l[?25h  # This will result in @% looking like shadow/testdir/tes


t87.in, hence the


[?25l:[?12l[?25h  # slicing to remove the leading path and path separator


[?25l:[?12l[?25h  os.chdir('..')


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.s


ep, '/'))


[?25l:[?12l[?25h  os.chdir(path)


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%').replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel path


[?25l:[?12l[?25hos.chdir('testdir')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hdel fnamemodify


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test errors


[?25l:[?12l[?25h:fun F() dict


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun D()


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hd = vim.Dictionary()


[?25l:[?12l[?25hned = vim.Dictionary(foo='bar', baz='abcD')


[?25l:[?12l[?25hdl = vim.Dictionary(a=1)


[?25l:[?12l[?25hdl.locked = True


[?25l:[?12l[?25hl = vim.List()


[?25l:[?12l[?25hll = vim.List('abcE')


[?25l:[?12l[?25hll.locked = True


[?25l:[?12l[?25hnel = vim.List('abcO')


[?25l:[?12l[?25hf = vim.Function('string')


[?25l:[?12l[?25hfd = vim.Function('F')


[?25l:[?12l[?25hfdel = vim.Function('D')


[?25l:[?12l[?25hvim.command('delfunction D')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef subexpr_test(expr, name, subexprs):


[?25l:[?12l[?25h    cb.append('>>> Testing %s using %s' % (name, expr)


)

[?25l:[?12l[?25h    for subexpr in subexprs:


[?25l:[?12l[?25h        ee(expr % subexpr)


[?25l:[?12l[?25h    cb.append('<<< Finished')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef stringtochars_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, 'StringToChars', (


[?25l:[?12l[?25h        '1',       # Fail type checks


[?25l:[?12l[?25h        'b"\\0"',  # Fail PyString_AsStringAndSize(obj


ect, , NULL) check


[?25l:[?12l[?25h        '"\\0"',   # Fail PyString_AsStringAndSize(byt


es, , NULL) check


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass Mapping(object):


[?25l:[?12l[?25h    def __init__(self, d):


[?25l:[?12l[?25h        self.d = d


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __getitem__(self, key):


[?25l:[?12l[?25h        return self.d[key]


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return self.d.keys()


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def items(self):


[?25l:[?12l[?25h        return self.d.items()


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompyobject_test(expr, recurse=True):


[?25l:[?12l[?25h    # pydict_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % '{%s : 1}')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % '{"abcF" : %s}


', False)


[?25l:[?12l[?25h    # pymap_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % 'Mapping({%s : 1})')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % 'Mapping({"abc


G" : %s})', False)


[?25l:[?12l[?25h    # pyseq_to_tv


[?25l:[?12l[?25h    iter_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyObject', (


[?25l:[?12l[?25h        'None',                 # Not conversible


[?25l:[?12l[?25h        '{b"": 1}',             # Empty key not allowe


d

[?25l:[?12l[?25h        '{"": 1}',              # Same, but with unico


de object


[?25l:[?12l[?25h        'FailingMapping()',     #


[?25l:[?12l[?25h        'FailingMappingKey()',  #


[?25l:[?12l[?25h        'FailingNumber()',      #


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompymapping_test(expr):


[?25l:[?12l[?25h    convertfrompyobject_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyMapping', 


(

[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef iter_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, '*Iter*', (


[?25l:[?12l[?25h        'FailingIter()',


[?25l:[?12l[?25h        'FailingIterNext()',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef number_test(expr, natural=False, unsigned=False):


[?25l:[?12l[?25h    if natural:


[?25l:[?12l[?25h        unsigned = True


[?25l:[?12l[?25h    return subexpr_test(expr, 'NumberToLong', (


[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h        'None',


[?25l:[?12l[?25h    ) + (('-1',) if unsigned else ())


[?25l:[?12l[?25h    + (('0',) if natural else ()))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingTrue(object):


[?25l:[?12l[?25h    def __bool__(self):


[?25l:[?12l[?25h        raise NotImplementedError('bool')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIter(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        raise NotImplementedError('iter')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNext(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        raise NotImplementedError('next')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNextN(object):


[?25l:[?12l[?25h    def __init__(self, n):


[?25l:[?12l[?25h        self.n = n


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        if self.n:


[?25l:[?12l[?25h            self.n -= 1


[?25l:[?12l[?25h            return 1


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            raise NotImplementedError('next N')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMappingKey(object):


[?25l:[?12l[?25h    def __getitem__(self, item):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mappingkey'


)

[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return list("abcH")


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMapping(object):


[?25l:[?12l[?25h    def __getitem__(self):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mapping')


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        raise NotImplementedError('keys')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingList(list):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        if i == 2:


[?25l:[?12l[?25h            raise NotImplementedError('getitem:list')


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            return super(FailingList, self).__getitem_


_(idx)


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass NoArgsCall(object):


[?25l:[?12l[?25h    def __call__(self):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingCall(object):


[?25l:[?12l[?25h    def __call__(self, path):


[?25l:[?12l[?25h        raise NotImplementedError('call')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingNumber(object):


[?25l:[?12l[?25h    def __int__(self):


[?25l:[?12l[?25h        raise NotImplementedError('int')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append("> Output")


[?25l:[?12l[?25hcb.append(">> OutputSetattr")


[?25l:[?12l[?25hee('del sys.stdout.softspace')


[?25l:[?12l[?25hnumber_test('sys.stdout.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hnumber_test('sys.stderr.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hee('assert sys.stdout.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stdout.seekable()==False')


[?25l:[?12l[?25hee('sys.stdout.close()')


[?25l:[?12l[?25hee('sys.stdout.flush()')


[?25l:[?12l[?25hee('assert sys.stderr.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stderr.seekable()==False')


[?25l:[?12l[?25hee('sys.stderr.close()')


[?25l:[?12l[?25hee('sys.stderr.flush()')


[?25l:[?12l[?25hee('sys.stdout.attr = None')


[?25l:[?12l[?25hcb.append(">> OutputWrite")


[?25l:[?12l[?25hee('assert sys.stdout.writable()==True')


[?25l:[?12l[?25hee('assert sys.stdout.readable()==False')


[?25l:[?12l[?25hee('assert sys.stderr.writable()==True')


[?25l:[?12l[?25hee('assert sys.stderr.readable()==False')


[?25l:[?12l[?25hee('assert sys.stdout.closed()==False')


[?25l:[?12l[?25hee('assert sys.stderr.closed()==False')


[?25l:[?12l[?25hee('assert sys.stdout.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stderr.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stdout.encoding==sys.stderr.encoding')


[?25l:[?12l[?25hee('sys.stdout.write(None)')


[?25l:[?12l[?25hcb.append(">> OutputWriteLines")


[?25l:[?12l[?25hee('sys.stdout.writelines(None)')


[?25l:[?12l[?25hee('sys.stdout.writelines([1])')


[?25l:[?12l[?25hiter_test('sys.stdout.writelines(%s)')


[?25l:[?12l[?25hcb.append("> VimCommand")


[?25l:[?12l[?25hstringtochars_test('vim.command(%s)')


[?25l:[?12l[?25hee('vim.command("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimToPython")


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEval")


[?25l:[?12l[?25hstringtochars_test('vim.eval(%s)')


[?25l:[?12l[?25hee('vim.eval("", FailingTrue())')


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEvalPy")


[?25l:[?12l[?25hstringtochars_test('vim.bindeval(%s)')


[?25l:[?12l[?25hee('vim.eval("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimStrwidth")


[?25l:[?12l[?25hstringtochars_test('vim.strwidth(%s)')


[?25l:[?12l[?25hcb.append("> VimForeachRTP")


[?25l:[?12l[?25hee('vim.foreach_rtp(None)')


[?25l:[?12l[?25hee('vim.foreach_rtp(NoArgsCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(FailingCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(int, 2)')


[?25l:[?12l[?25hcb.append('> import')


[?25l:[?12l[?25hold_rtp = vim.options['rtp']


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace('\\', '\\\\')


.replace(',', '\\,')


[?25l:[?12l[?25hee('import xxx_no_such_module_xxx')


[?25l:[?12l[?25hee('import failing_import')


[?25l:[?12l[?25hee('import failing')


[?25l:[?12l[?25hvim.options['rtp'] = old_rtp


[?25l:[?12l[?25hdel old_rtp


[?25l:[?12l[?25hcb.append("> Options")


[?25l:[?12l[?25hcb.append(">> OptionsItem")


[?25l:[?12l[?25hee('vim.options["abcQ"]')


[?25l:[?12l[?25hee('vim.options[""]')


[?25l:[?12l[?25hstringtochars_test('vim.options[%s]')


[?25l:[?12l[?25hcb.append(">> OptionsContains")


[?25l:[?12l[?25hstringtochars_test('%s in vim.options')


[?25l:[?12l[?25hcb.append("> Dictionary")


[?25l:[?12l[?25hcb.append(">> DictionaryConstructor")


[?25l:[?12l[?25hee('vim.Dictionary("abcI")')


[?25l:[?12l[?25h##! Not checked: py_dict_alloc failure


[?25l:[?12l[?25hcb.append(">> DictionarySetattr")


[?25l:[?12l[?25hee('del d.locked')


[?25l:[?12l[?25hee('d.locked = FailingTrue()')


[?25l:[?12l[?25hee('vim.vvars.locked = False')


[?25l:[?12l[?25hee('d.scope = True')


[?25l:[?12l[?25hee('d.xxx = True')


[?25l:[?12l[?25hcb.append(">> _DictionaryItem")


[?25l:[?12l[?25hee('d.get("a", 2, 3)')


[?25l:[?12l[?25hstringtochars_test('d.get(%s)')


[?25l:[?12l[?25hee('d.pop("a")')


[?25l:[?12l[?25hee('dl.pop("a")')


[?25l:[?12l[?25hcb.append(">> DictionaryContains")


[?25l:[?12l[?25hee('"" in d')


[?25l:[?12l[?25hee('0 in d')


[?25l:[?12l[?25hcb.append(">> DictionaryIterNext")


[?25l:[?12l[?25hee('for i in ned: ned["a"] = 1')


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hcb.append(">> DictionaryAssItem")


[?25l:[?12l[?25hee('dl["b"] = 1')


[?25l:[?12l[?25hstringtochars_test('d[%s] = 1')


[?25l:[?12l[?25hconvertfrompyobject_test('d["a"] = %s')


[?25l:[?12l[?25hcb.append(">> DictionaryUpdate")


[?25l:[?12l[?25hcb.append(">>> kwargs")


[?25l:[?12l[?25hcb.append(">>> iter")


[?25l:[?12l[?25hee('d.update(FailingMapping())')


[?25l:[?12l[?25hee('d.update([FailingIterNext()])')


[?25l:[?12l[?25hee('d.update([FailingIterNextN(1)])')


[?25l:[?12l[?25hiter_test('d.update(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update(%s)')


[?25l:[?12l[?25hstringtochars_test('d.update(((%s, 0),))')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update((("a", %s),))')


[?25l:[?12l[?25hcb.append(">> DictionaryPopItem")


[?25l:[?12l[?25hee('d.popitem(1, 2)')


[?25l:[?12l[?25hcb.append(">> DictionaryHasKey")


[?25l:[?12l[?25hee('d.has_key()')


[?25l:[?12l[?25hcb.append("> List")


[?25l:[?12l[?25hcb.append(">> ListConstructor")


[?25l:[?12l[?25hee('vim.List(1, 2)')


[?25l:[?12l[?25hee('vim.List(a=1)')


[?25l:[?12l[?25hiter_test('vim.List(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('vim.List([%s])')


[?25l:[?12l[?25hcb.append(">> ListItem")


[?25l:[?12l[?25hee('l[1000]')


[?25l:[?12l[?25hcb.append(">> ListAssItem")


[?25l:[?12l[?25hee('ll[1] = 2')


[?25l:[?12l[?25hee('l[1000] = 3')


[?25l:[?12l[?25hcb.append(">> ListAssSlice")


[?25l:[?12l[?25hee('ll[1:100] = "abcJ"')


[?25l:[?12l[?25hiter_test('l[:] = %s')


[?25l:[?12l[?25hee('nel[1:10:2]  = "abcK"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:10:2]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:1:-1]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[:] = FailingIterNextN(2)')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hconvertfrompyobject_test('l[:] = [%s]')


[?25l:[?12l[?25hcb.append(">> ListConcatInPlace")


[?25l:[?12l[?25hiter_test('l.extend(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('l.extend([%s])')


[?25l:[?12l[?25hcb.append(">> ListSetattr")


[?25l:[?12l[?25hee('del l.locked')


[?25l:[?12l[?25hee('l.locked = FailingTrue()')


[?25l:[?12l[?25hee('l.xxx = True')


[?25l:[?12l[?25hcb.append("> Function")


[?25l:[?12l[?25hcb.append(">> FunctionConstructor")


[?25l:[?12l[?25hcb.append(">>> FunctionConstructor")


[?25l:[?12l[?25hee('vim.Function("123")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx#non#existent#function#xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx2", arg


s=[])')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx3", sel


f={})')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx4", arg


s=[], self={})')


[?25l:[?12l[?25hcb.append(">>> FunctionNew")


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf")')


[?25l:[?12l[?25hee('vim.Function("tr", args=427423)')


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf2", args="abcF


uncArgs2")')


[?25l:[?12l[?25hee('vim.Function(self="abcFuncSelf2", args="abcFuncArg


s2")')


[?25l:[?12l[?25hee('vim.Function("tr", "", self="abcFuncSelf2", args="


abcFuncArgs2")')


[?25l:[?12l[?25hee('vim.Function("tr", "")')


[?25l:[?12l[?25hcb.append(">> FunctionCall")


[?25l:[?12l[?25hconvertfrompyobject_test('f(%s)')


[?25l:[?12l[?25hconvertfrompymapping_test('fd(self=%s)')


[?25l:[?12l[?25hcb.append("> TabPage")


[?25l:[?12l[?25hcb.append(">> TabPageAttr")


[?25l:[?12l[?25hee('vim.current.tabpage.xxx')


[?25l:[?12l[?25hcb.append("> TabList")


[?25l:[?12l[?25hcb.append(">> TabListItem")


[?25l:[?12l[?25hee('vim.tabpages[1000]')


[?25l:[?12l[?25hcb.append("> Window")


[?25l:[?12l[?25hcb.append(">> WindowAttr")


[?25l:[?12l[?25hee('vim.current.window.xxx')


[?25l:[?12l[?25hcb.append(">> WindowSetattr")


[?25l:[?12l[?25hee('vim.current.window.buffer = 0')


[?25l:[?12l[?25hee('vim.current.window.cursor = (100000000, 100000000)


')

[?25l:[?12l[?25hee('vim.current.window.cursor = True')


[?25l:[?12l[?25hnumber_test('vim.current.window.height = %s', unsigned


=True)


[?25l:[?12l[?25hnumber_test('vim.current.window.width = %s', unsigned=


True)


[?25l:[?12l[?25hee('vim.current.window.xxxxxx = True')


[?25l:[?12l[?25hcb.append("> WinList")


[?25l:[?12l[?25hcb.append(">> WinListItem")


[?25l:[?12l[?25hee('vim.windows[1000]')


[?25l:[?12l[?25hcb.append("> Buffer")


[?25l:[?12l[?25hcb.append(">> StringToLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = "\\na"')


[?25l:[?12l[?25hee('vim.current.buffer[0] = b"\\na"')


[?25l:[?12l[?25hcb.append(">> SetBufferLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = True')


[?25l:[?12l[?25hcb.append(">> SetBufferLineList (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[:] = True')


[?25l:[?12l[?25hee('vim.current.buffer[:] = ["\\na", "bc"]')


[?25l:[?12l[?25hcb.append(">> InsertBufferLines (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer.append(None)')


[?25l:[?12l[?25hee('vim.current.buffer.append(["\\na", "bc"])')


[?25l:[?12l[?25hee('vim.current.buffer.append("\\nbc")')


[?25l:[?12l[?25hcb.append(">> RBItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000]')


[?25l:[?12l[?25hcb.append(">> RBAsItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000] = ""')


[?25l:[?12l[?25hcb.append(">> BufferAttr")


[?25l:[?12l[?25hee('vim.current.buffer.xxx')


[?25l:[?12l[?25hcb.append(">> BufferSetattr")


[?25l:[?12l[?25hee('vim.current.buffer.name = True')


[?25l:[?12l[?25hee('vim.current.buffer.xxx = True')


[?25l:[?12l[?25hcb.append(">> BufferMark")


[?25l:[?12l[?25hee('vim.current.buffer.mark(0)')


[?25l:[?12l[?25hee('vim.current.buffer.mark("abcM")')


[?25l:[?12l[?25hee('vim.current.buffer.mark("!")')


[?25l:[?12l[?25hcb.append(">> BufferRange")


[?25l:[?12l[?25hee('vim.current.buffer.range(1, 2, 3)')


[?25l:[?12l[?25hcb.append("> BufMap")


[?25l:[?12l[?25hcb.append(">> BufMapItem")


[?25l:[?12l[?25hee('vim.buffers[100000000]')


[?25l:[?12l[?25hnumber_test('vim.buffers[%s]', natural=True)


[?25l:[?12l[?25hcb.append("> Current")


[?25l:[?12l[?25hcb.append(">> CurrentGetattr")


[?25l:[?12l[?25hee('vim.current.xxx')


[?25l:[?12l[?25hcb.append(">> CurrentSetattr")


[?25l:[?12l[?25hee('vim.current.line = True')


[?25l:[?12l[?25hee('vim.current.buffer = True')


[?25l:[?12l[?25hee('vim.current.window = True')


[?25l:[?12l[?25hee('vim.current.tabpage = True')


[?25l:[?12l[?25hee('vim.current.xxx = True')


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ned


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdel ll


[?25l:[?12l[?25hdel nel


[?25l:[?12l[?25hdel f


[?25l:[?12l[?25hdel fd


[?25l:[?12l[?25hdel fdel


[?25l:[?12l[?25hdel subexpr_test


[?25l:[?12l[?25hdel stringtochars_test


[?25l:[?12l[?25hdel Mapping


[?25l:[?12l[?25hdel convertfrompyobject_test


[?25l:[?12l[?25hdel convertfrompymapping_test


[?25l:[?12l[?25hdel iter_test


[?25l:[?12l[?25hdel number_test


[?25l:[?12l[?25hdel FailingTrue


[?25l:[?12l[?25hdel FailingIter


[?25l:[?12l[?25hdel FailingIterNext


[?25l:[?12l[?25hdel FailingIterNextN


[?25l:[?12l[?25hdel FailingMapping


[?25l:[?12l[?25hdel FailingMappingKey


[?25l:[?12l[?25hdel FailingList


[?25l:[?12l[?25hdel NoArgsCall


[?25l:[?12l[?25hdel FailingCall


[?25l:[?12l[?25hdel FailingNumber


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction F


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test import


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hsys.path.insert(0, os.path.join(os.getcwd(), 'python_b


efore'))


[?25l:[?12l[?25hsys.path.append(os.path.join(os.getcwd(), 'python_afte


r'))


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace(',', '\\,').r


eplace('\\', '\\\\')


[?25l:[?12l[?25hl = []


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    l.append(os.path.relpath(path))


[?25l:[?12l[?25hvim.foreach_rtp(callback)


[?25l:[?12l[?25hcb.append(repr(l))


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    return os.path.relpath(path)


[?25l:[?12l[?25hcb.append(repr(vim.foreach_rtp(callback)))


[?25l:[?12l[?25hdel callback


[?25l:[?12l[?25hfrom module import dir as d


[?25l:[?12l[?25hfrom modulex import ddir


[?25l:[?12l[?25hcb.append(d + ',' + ddir)


[?25l:[?12l[?25himport before


[?25l:[?12l[?25hcb.append(before.dir)


[?25l:[?12l[?25himport after


[?25l:[?12l[?25hcb.append(after.dir)


[?25l:[?12l[?25himport topmodule as tm


[?25l:[?12l[?25himport topmodule.submodule as tms


[?25l:[?12l[?25himport topmodule.submodule.subsubmodule.subsubsubmodul


e as tmsss


[?25l:[?12l[?25hcb.append(tm.__file__.replace(os.path.sep, '/')[-len('


modulex/topmodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tms.__file__.replace(os.path.sep, '/')[-len(


'modulex/topmodule/submodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tmsss.__file__.replace(os.path.sep, '/')[-le


n('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):])


[?25l:[?12l[?25hdel before


[?25l:[?12l[?25hdel after


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ddir


[?25l:[?12l[?25hdel tm


[?25l:[?12l[?25hdel tms


[?25l:[?12l[?25hdel tmsss


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test exceptions


[?25l:[?12l[?25h:fun Exe(e)


[?25l:[?12l[?25h:   execute a:e


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hExe = vim.bindeval('function("Exe")')


[?25l:[?12l[?25hee('vim.command("throw \'abcN\'")')


[?25l:[?12l[?25hee('Exe("throw \'def\'")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')"


)')


[?25l:[?12l[?25hee('vim.eval("xxx_unknown_function_xxx()")')


[?25l:[?12l[?25hee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx


\')")')


[?25l:[?12l[?25hdel Exe


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction Exe


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Regression: interrupting vim.command propagates t


o next vim.command


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef test_keyboard_interrupt():


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('while 1 | endwhile')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('Caught KeyboardInterrupt')


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('!!!!!!!! No exception')


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('$ put =\'Running :put\'')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught KeyboardInterrupt


')

[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('No exception')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:debuggreedy


[?25l:[?12l[?25h:call inputsave()


[?25l:[?12l[?25h:call feedkeys("s\ns\ns\ns\nq\n")


[?25l:[?12l[?25h:redir => output


[?25l:[?12l[?25h:debug silent! py3 test_keyboard_interrupt()


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:0 debuggreedy


[?25l:[?12l[?25h:call inputrestore()


[?25l:[?12l[?25h:silent $put =output


[?25l:[?12l[?25h:unlet output


[?25l:[?12l[?25h:py3 del test_keyboard_interrupt


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Cleanup


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel cb


[?25l:[?12l[?25hdel ee


[?25l:[?12l[?25hdel emsg


[?25l:[?12l[?25hdel sys


[?25l:[?12l[?25hdel os


[?25l:[?12l[?25hdel vim


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfun RunTest()
[?25l

:  [?12l[?25h:let checkrefs = !empty($PYTHONDUMPREFS)


[?25l:  [?12l[?25h:let start = getline(1, '$')


[?25l:  [?12l[?25h:for i in range(checkrefs ? 10 : 1)


[?25l:    [?12l[?25h:   if i != 0


[?25l:      [?12l[?25h:       %d _


[?25l:      [?12l[?25h:       call setline(1, start)


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:   call Test()


[?25l:    [?12l[?25h:   if i == 0


[?25l:      [?12l[?25h:       let result = getline(1, '$')


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:if checkrefs


[?25l:    [?12l[?25h:   %d _


[?25l:    [?12l[?25h:   call setline(1, result)


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall RunTest()
[?25l8 more lin

3 more lines[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message.o message.c



[?25l"a" [New File]


"b" [New File]


"c" [New File]


"0" [New File]


"1" [New File]


"a.1" [New File]


"2" [New File]


"a.2" [New File]


"b.2" [New File]


"c.2" [New File]


Already only one window


abc8def


Error detected while processing function RunTest[8]..Test:


line 1106:


abc9def


abcA


line 1108:


abcB


8 more lines


Entering Debug mode.  Type "cont" to continue.


function RunTest[8]..Test


line 1650: py3 test_keyboard_interrupt()


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>q
['.']

'.'

3,xx

before

after

pythonx/topmodule/__init__.py

pythonx/topmodule/submodule/__init__.py

pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py

vim.command("throw 'abcN'"):(<class 'vim.error'>, error('abcN',))

Exe("throw 'def'"):(<class 'vim.error'>, error('def',))

vim.eval("Exe('throw ''ghi''')"):(<class 'vim.error'>, error('ghi',))

vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkll',))

vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vimm:E492: Not an editor command: xxx_non_existent_command_xxx',))

vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unnknown function: xxx_unknown_function_xxx',))

vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error(('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))

Caught KeyboardInterrupt

Running :put

No exception



"test87.in" [Modified][Not edited] line 3151 of 3151 --100%-- col 1[?12l[?25h[?25l:[?12l[?25hdelfunction RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1445 lines, 77744 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test87 = test61; then \
#	  if diff test.out test87.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test87.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test12.failed test.ok test.out X* viminfo
cp test12.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test12.in" 52 lines, 1199 charactersTests for 'directory' option.

- ".", in same dir as file

- "./dir", in directory relative to file

- "dir", in directory relative to current dir



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set dir=.,~

:/start of testfile/,/end of testfile/w! Xtest1

:" do an ls of the current dir to find the swap file (should not be there)

:if has("unix")

:  !ls .X*.swp >test.out

:else

:  r !ls X*.swp >test.out

:endif

:!echo first line >>test.out

:e Xtest1

:if has("unix")

:" Do an ls of the current dir to find the swap file, remove the leading dot

:" to make the result the same for all systems.

:  r!ls .X*.swp

:  s/\.*X/X/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'directory' option.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 965 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:!mkdir Xtest2

:set dir=./Xtest2,.,~

:e Xtest1

:!ls X*.swp >>test.out

:!echo under under >>test.out

:!ls Xtest2 >>test.out

:!echo under Xtest1.swp >>test.out

:!mkdir Xtest.je

:/start of testfile/,/end of testfile/w! Xtest2/Xtest3

:set dir=Xtest.je,~

:e Xtest2/Xtest3

:swap

:!ls Xtest2 >>test.out

:!echo under Xtest3 >>test.out

:!ls Xtest.je >>test.out

:!echo under Xtest3.swp >>test.out

:qa!

ENDTEST



start of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset dir=.,~
[?25l[?12l[?25h[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:  !ls .X*.swp >test.out


[?25l:!ls .X*.swp >test.out[?1l>[?12l[?25h[?1049l

ls: cannot access '.X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25helse


[?25l:  [?12l[?25h:  r !ls X*.swp >test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25h!echo first line >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70Cstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:" Do an ls of the current dir to find the swap file, remove the leading dot


[?25l:  [?12l[?25h:" to make the result the same for all systems.


[?25l:  [?12l[?25h:  r!ls .X*.swp


[?25l:  [?12l[?25h:  s/\.*X/X/


[?25l:  [?12l[?25h:  .w >>test.out
[?25l"test.out" 1L, 11C appended


:  [?12l[?25h:  undo


[?25l1 line less; before #1  0 seconds ago


:  [?12l[?25h:else


[?25l:  [?12l[?25h:  !ls X*.swp >>test.out


[?25l:  [?12l[?25h:endif
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest2
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hset dir=./Xtest2,.,~
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25h!ls X*.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l

ls: cannot access 'X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under under >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest.je
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25lsearch hit BOTTOM, continuing at TOP"Xtest2/Xtest3" [New] 4L, 70C writtenstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest2/Xtest3" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25hset dir=Xtest.je,~
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[?12l[?25h[?25l:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[?12l[?25h[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest.je >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test12 = test61; then \
#	  if diff test.out test12.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test12.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test25.failed test.ok test.out X* viminfo
cp test25.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test25.in" 31 lines, 840 charactersTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 540 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ln -s . test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25htags line
[?25lhis only works for Unix, because of the symbolic link.STARTTEST

:so small.vim

:set hidden" Create a link from test25.dir to the current directory.

:!rm -f test25.dirln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line:r !pwdd$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.testG^] x:.w! test.out:!rm -f test25.dir tags.test

:qa!ENDTESTtags line:
[?12l[?25h[?25l:[?12l[?25hr !pwd
[?25l[?12l[?25h[?25lSTARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST



tags line:

/<<PKGBUILDDIR>>/src/vim-gtk/testdir
[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25htest
[?25l

SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test25.dir/te@                                                                               

SECTION_OFF     /<<PKGBUILDDIR>>/src/vim-gtk/testdir/test25.dir/teest25.in /^#define  SECTION_OFF  3$/[?12l[?25h[?25l



:[?12l[?25h.w! tags.test
[?25l"tags.test" [New File] 1 line, 112 characters written[?12l[?25h[?25l:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[?12l[?25h[?25l:[?12l[?25h" symbolic link.  When wrong, this will give the ATTENTION message.  The next
[?25l[?12l[?25h[?25l:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[?12l[?25h[?25l:[?12l[?25hset tags=tags.test
[?25l[?12l[?25h[?25l/*tx.c*/

#define  SECTION_OFF  3

#define  NUM_SECTIONS 3



SECTION_OFF[?12l[?25h#[?25lefine  SECTION_OFF  3[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 23 characters written[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir tags.test
[?25l[?1l>[?12l[?25h[?1049l

[No write since last change]



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test25 = test61; then \
#	  if diff test.out test25.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test25.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test49.failed test.ok test.out X* viminfo
cp test49.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test49.in" 32 lines, 705 charactersThis is a test of the script language.



If after adding a new test, the test output doesn't appear properly in

test49.failed, try to add one or more "G"s at the line ending in "test.out"



STARTTEST

:so small.vim

:se nocp nomore viminfo+=nviminfo

:lang mess C

:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy

:redir => funclist

:silent func

:redir END

:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of the script language.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 23 lines, 475 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endfor

:for v in keys(g:)

:  silent! exe "unlet " . v

:endfor

:unlet v

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hso test49.vim
[?25lError detected while processing function F:


line    5:


E583: multiple :else:     else^I^I


Error detected while processing function G:


line    5:


E584: :elseif after :else:     elseif 1^I^I" aborts function


Error detected while processing function H:


line    7:


E583: multiple :else:     else^I^I


Error detected while processing function I:


line    7:


E584: :elseif after :else:     elseif 1^I^I" aborts function


*** Test  16: OK (8722)


Error detected while processing function F:


line   18:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   34:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   47:


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/test49.vim:


line  784:


E171: Missing :endif: endwhile 


*** Test  17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"/tmp/vH6Y8QC/0" [New] 53L, 1582C written14L, 358C appended26L, 824C appended34L, 986C appended


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/1[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/1" 16L, 304C appended17L, 326C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/2[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/2"' -c 'breakad


dfile 8 /tmp/vH6Y8QC/1' -S /tmp/vH6Y8QC/1[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/2" 3L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/3[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/3" 6L, 127C appended7L, 149C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/4[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/4"' -c 'breakad


dfile 4 /tmp/vH6Y8QC/3' -S /tmp/vH6Y8QC/3[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/4" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/5[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/5" 21L, 486C appended22L, 508C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/6[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/6"' -c 'breakad


dfunc 7 F' -S /tmp/vH6Y8QC/5[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/6" 3L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/7[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/7" 13L, 364C appendedcd xxd; CC="gcc" CFLAGS="-Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1" LDFLAGS="-L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed" \
	/usr/bin/make -f Makefile
14L, 386C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox/xxd'
gcc -Wdate-time -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -DUNIX -o xxd xxd.c

<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/8[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/8"' -c 'breakad


dfunc 3 G' -S /tmp/vH6Y8QC/7[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/8" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/9[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/9" 12L, 201C appended13L, 223C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/10[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/10"' -S /tmp/vH6Y8


QC/9[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/11[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/11" 12L, 205C appended13L, 227C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/12[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/12"' -S /tmp/vH6Y8


QC/11[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/13[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/13" 6L, 122C appended7L, 144C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/14[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/14"' -S /tmp/vH6Y8


QC/13[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/15[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/15" 8L, 176C appended9L, 198C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/16[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/16"' -S /tmp/vH6Y8


QC/15[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/17[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/17" 10L, 215C appended11L, 237C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/18[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/18"' -S /tmp/vH6Y8


QC/17[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/19[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/19" 7L, 149C appended8L, 171C8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/20[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/20"' -S /tmp/vH6Y8


QC/19[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/21[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/21" 9L, 135C appended10L, 157C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/22[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/22"' -S /tmp/vH6Y8


QC/21[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/23[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/23" 10L, 155C appended11L, 177C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/24[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/24"' -S /tmp/vH6Y8


QC/23[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/25[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/25" 12L, 204C appended13L, 226C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/26[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/26"' -S /tmp/vH6Y8


QC/25[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/27[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/27" 12L, 214C appended13L, 236C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/28[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/28"' -S /tmp/vH6Y8


QC/27[?1l>[?12l[?25h[?1049l

make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox/xxd'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox/po'
OLD_PO_FILE_INPUT=yes msgfmt -v -o af.mo af.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/29[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/29" 1423 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ca.mo ca.po
12L, 211C appended13L, 233C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/30[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/30"' -S /tmp/vH6Y8


QC/29[?1l>[?12l[?25h[?1049l

1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.mo cs.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/31[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/31" 1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o de.mo de.po
14L, 263C appended15L, 285C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/32[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/32"' -S /tmp/vH6Y8


QC/31[?1l>[?12l[?25h[?1049l

1701 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o en_GB.mo en_GB.po
78 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o eo.mo eo.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/33[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/33" 14L, 277C appended1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o es.mo es.po
15L, 299C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/34[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/34"' -S /tmp/vH6Y8


QC/33[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/35[?1l>[?12l[?25h[?1049l

1733 translated messages.


Press ENTER or type command to continue[?1049h[?1h=OLD_PO_FILE_INPUT=yes msgfmt -v -o fi.mo fi.po
[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/35" 58L, 1022C appended59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/36[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/36"' -S /tmp/vH6Y8


QC/35[?1l>[?12l[?25h[?1049l

1902 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o fr.mo fr.po


Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C1916 translated messages.



*** Test  21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"OLD_PO_FILE_INPUT=yes msgfmt -v -o ga.mo ga.po

<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/37[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/37" 23L, 418C appended24L, 440C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/38[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/38"' -S /tmp/vH6Y8


QC/37[?1l>[?12l[?25h[?1049l

1914 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o it.mo it.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/39[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/39" 1897 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.mo ja.po
23L, 437C appended24L, 459C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/40[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/40"' -c 'breaka


dd func 2 Interrupt' -S /tmp/vH6Y8QC/39[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/40" 1L, 3C1918 translated messages.

"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.mo ko.po

<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/41[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/41" 21L, 386C appended22L, 408C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/42[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/42"' -S /tmp/vH6Y8


QC/41[?1l>[?12l[?25h[?1049l

1728 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ko.UTF-8.mo ko.UTF-8.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/43[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
1728 translated messages.
"/tmp/vH6Y8QC/43" OLD_PO_FILE_INPUT=yes msgfmt -v -o nb.mo nb.po
25L, 432C appended26L, 454C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/44[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/44"' -S /tmp/vH6Y8


QC/43[?1l>[?12l[?25h[?1049l

1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o nl.mo nl.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"1213 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o no.mo no.po

<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/45" 16L, 392C appended17L, 414C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/46[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/46"' -S /tmp/vH6Y8


QC/45[?1l>[?12l[?25h[?1049l

1668 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.mo pl.po


Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  24: OK (41)


*** Test  25: OK (260177811)


*** Test  26: OK (1681500476)


*** Test  27: OK (1996459)


   function F()


1      try


2Xpath 1" X: 1


3try


4Xpath 2" X: 2


5return


6Xpath 4" X: 0


7finally


8Xpath 8" X: 8


9endtry


10Xpath 16" X: 0


11     finally


12Xpath 32" X: 32


13     endtry


14     Xpath 64" X: 0


   endfunction"/tmp/vH6Y8QC/47"[noeol] 17L, 552C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/47" 1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pt_BR.mo pt_BR.po
14L, 502C written
"test49.in" 32L, 705C

   function G()

1      try

2Xpath 128" X: 128

3return

4Xpath 256" X: 0

5      finally

6Xpath 512" X: 512

7call F()

8Xpath 1024" X: 1024

9      endtry

10     Xpath 2048" X: 0

   endfunction"/tmp/vH6Y8QC/48"[noeol] 13L, 406C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/48" 1735 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.mo ru.po
10L, 378C written
"test49.in" 32L, 705C

   function H()

1      try

2Xpath 4096" X: 4096

3call G()

4Xpath 8192" X: 8192

5      finally

6Xpath 16384" X: 16384

7return

8Xpath 32768" X: 0

9      endtry


10     Xpath 65536" X: 0


   endfunction"/tmp/vH6Y8QC/49"[noeol] 13L, 409C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/49" 1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.mo sk.po
10L, 381C written
"test49.in" 32L, 705C

*** Test  28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/50[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/50" 1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sv.mo sv.po
39L, 721C appended40L, 743C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vH6Y8QC/51[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/51"' -S /tmp/vH6Y8QC/50[?1l>[?12l[?25h[?1049l

1697 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.mo uk.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880Ctest49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/52[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/52" 1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o vi.mo vi.po
23L, 509C appended24L, 531C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/53[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/53"' -S /tmp/vH6Y8


QC/52[?1l>[?12l[?25h[?1049l

1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.UTF-8.mo zh_CN.UTF-8.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/54[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/54" 1634 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.mo zh_CN.po
60L, 1101C appended61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/55[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv


iminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/55"' -


c'breakadd func 3 F' -c 'breakadd file 19 /tmp/vH6Y8QC/54' -c 'breakadd file 31


/tmp/vH6Y8QC/54' -S /tmp/vH6Y8QC/54[?1l>[?12l[?25h[?1049l

1633 translated messages, 3 fuzzy translations.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.UTF-8.mo zh_TW.UTF-8.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_TW.mo zh_TW.po
1422 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o cs.cp1250.mo cs.cp1250.po
1284 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.sjis.mo ja.sjis.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/55" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/56[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/56" 1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.euc-jp.mo ja.euc-jp.po
60L, 1122C appended61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/57[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/57"' -S /tmp/vH6Y8


QC/56[?1l>[?12l[?25h[?1049l

1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.cp1250.mo pl.cp1250.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o pl.UTF-8.mo pl.UTF-8.po
1869 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ru.cp1251.mo ru.cp1251.po


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  31: OK (190905173)


*** Test  32: OK (354833067)


*** Test  33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/58" 1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.cp1250.mo sk.cp1250.po
63L, 1288C appended64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/59[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8


QC/59"' -c 'breakadd func 16 C' -S /tmp/vH6Y8QC/58[?1l>[?12l[?25h[?1049l

1628 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o uk.cp1251.mo uk.cp1251.po
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.cp936.mo zh_CN.cp936.po
1633 translated messages, 3 fuzzy translations.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox/po'
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox/po'
make[2]: Nothing to be done for 'converted'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox/po'
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/arabic.o arabic.c


Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/59" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/60" 63L, 1285C appended64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/61[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8


QC/61"' -c 'breakadd func 16 B' -S /tmp/vH6Y8QC/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/61" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/62" 66L, 1430C appended67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/63[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/


63"' -c 'breakadd func 16 R' -S /tmp/vH6Y8QC/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/63" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/64" 73L, 1488C appended74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/65[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/65"' -c 'breakadd


func 16 F' -S /tmp/vH6Y8QC/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/65" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/66[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/66" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/67[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8


QC/67"' -c 'breakadd func 16 E' -S /tmp/vH6Y8QC/66[?1l>[?12l[?25h[?1049l

gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/buffer.o buffer.c


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/67" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/68[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/68" 83L, 1538C appended84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/69[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -


c'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi


mResult = "/tmp/vH6Y8QC/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S


/tmp/vH6Y8QC/68[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/70[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/70" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/71[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8


QC/71"' -c 'breakadd func 16 T' -S /tmp/vH6Y8QC/70[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/71" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  40: OK (357908480)


*** Test  41: OK (3076095)


*** Test  42: OK (1505155949)


*** Test  43: OK (1157763329)


*** Test  44: OK (1031761407)


*** Test  45: OK (1157763329)


*** Test  46: OK (739407)


*** Test  47: OK (371213935)


*** Test  48: OK (756255461)


*** Test  49: OK (179000669)


   function C()


1      try


2Xpath 1" X: 1


3throw "arrgh"


4Xpath 2" X: 0


5      catch /arrgh/


6Xpath 4" X: 4


7      endtry


8      Xpath 8" X: 8


   endfunction"/tmp/vH6Y8QC/72"[noeol] 11L, 334C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/72" 8L, 295C written
"test49.in" 32L, 705C

   function T1()

1      XloopNEXT

2      try

3Xloop 1" X: 16 + 16*16

4throw "arrgh"

5Xloop 2" X: 0

6      finally


7Xloop 4" X: 64 + 64*16


8      endtry


9      Xloop 8" X: 0


   endfunction"/tmp/vH6Y8QC/73"[noeol] 12L, 364C

9 substitutions on 9 lines

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/73" 9L, 323C written
"test49.in" 32L, 705C

   function T2()

1      try

2Xpath 4096" X: 4096

3call T1()

4Xpath 8192" X: 0

5      finally

6Xpath 16384" X: 16384

7      endtry


8      Xpath 32768" X: 0


   endfunction"/tmp/vH6Y8QC/74"[noeol] 11L, 332C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/74" 8L, 305C written
"test49.in" 32L, 705C

*** Test  50: OK (363550045)

*** Test  51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/76[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/76" 2L, 41C appended3L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vH6Y8QC/77[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/77"' -S /tmp/vH6Y8QC/76[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/77" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/75" 8L, 182C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/78[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/78" 7L, 115C appended8L, 137C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/79[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/79"' -S /tmp/vH6Y8QC/78[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/79" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/75" 8L, 181C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/80[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/80" 12L, 180C appended13L, 202C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/81[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/81"' -S /tmp/vH6Y8QC/80[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/81" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/75" 10L, 209C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/82[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/82" 8L, 139C appended9L, 161C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/83[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/83"' -S /tmp/vH6Y8QC/82[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/83" 2L, 11C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/75" 10L, 217C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/84[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/84" 5L, 87C appended6L, 109C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/85[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!


>/tmp/vH6Y8QC/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =


1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/85"' -c 'breakadd file 4 /tmp/vH6Y8QC


/84' -S /tmp/vH6Y8QC/84[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/85" 1L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/75" [noeol] 9L, 202C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/86[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/86" 7L, 189C appended8L, 211C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/87[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/87"' -S /tmp/vH6Y8QC/86[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/87" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/75" 9L, 252C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/88[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/88" 7L, 199C appended8L, 221C8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/89[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/89"' -S /tmp/vH6Y8QC/88[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/89" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/75" 9L, 214C
"test49.in" 32L, 705C


*** Test  52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/91[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/91" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/92[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/92"' -S /tmp/vH6Y8QC/91[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/92" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/93[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/93" 3L, 39C appended4L, 61C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/93" 4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/94[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/94"' -S /tmp/vH6Y8QC/93[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/94" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/95[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/95" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/95" 5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/96[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/96"' -S /tmp/vH6Y8QC/95[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/96" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/97[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/97" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/97" 4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/98[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/98"' -S /tmp/vH6Y8QC/97[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/98" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/99[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/99" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/99" 6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/100[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/100"' -S /tmp/vH6Y8QC/99[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/100" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/101[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/101" 1L, 9C appended2L, 31C2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/102[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/102"' -S /tmp/vH6Y8QC/101[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/102" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 153C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/103[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/103" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/103"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/104[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/104"' -S /tmp/vH6Y8QC/103[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/104" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/105[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/105" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/105"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/106[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/106"' -S /tmp/vH6Y8QC/105[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/106" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/107[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/107" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/107"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/108[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/108"' -S /tmp/vH6Y8QC/107[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/108" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/109[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/109" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/109"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/110[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/110"' -S /tmp/vH6Y8QC/109[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/110" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/111[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/111" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/112[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/112"' -S /tmp/vH6Y8QC/111[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/112" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/113[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/113" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/113"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/114[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/114"' -S /tmp/vH6Y8QC/113[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/114" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/115[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/115" 4L, 46C appended5L, 68C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/115"5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/116[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/116"' -S /tmp/vH6Y8QC/115[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/116" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/117[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/117" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/117"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/118[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/118"' -S /tmp/vH6Y8QC/117[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/118" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/119[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/119" 5L, 66C appended6L, 88C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/119"6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/120[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/120"' -S /tmp/vH6Y8QC/119[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/120" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/121[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/121" 4L, 37C appended5L, 59C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/121"5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/122[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/122"' -S /tmp/vH6Y8QC/121[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/122" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 150C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/123[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/123" 4L, 41C appended5L, 63C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/123"5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/124[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vH6Y8QC/124"' -S /tmp/vH6Y8QC/123[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/124" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/90" 6L, 159C
"test49.in" 32L, 705C


*** Test  53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/126[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/126" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/127[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/127"' -S /tmp/vH6Y8QC/126[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/127" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 164C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/128[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/128" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/128"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/129[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/129"' -S /tmp/vH6Y8QC/128[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/129" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/130[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/130" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/130"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/131[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/131"' -S /tmp/vH6Y8QC/130[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/131" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/132[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/132" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/132"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/133[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/133"' -S /tmp/vH6Y8QC/132[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/133" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/134[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/134" 4L, 53C appended5L, 75C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/134"5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/135[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/135"' -S /tmp/vH6Y8QC/134[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/135" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/136[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/136" 5L, 62C appended6L, 84C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/136"6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/137[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/137"' -S /tmp/vH6Y8QC/136[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/137" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/138[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/138" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/138"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/139[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/139"' -S /tmp/vH6Y8QC/138[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/139" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/140[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/140" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/140"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/141[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/141"' -S /tmp/vH6Y8QC/140[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/141" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/142[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/142" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/142"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/143[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/143"' -S /tmp/vH6Y8QC/142[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/143" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 167C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/144[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/144" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/144"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/145[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/145"' -S /tmp/vH6Y8QC/144[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/145" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/146[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/146" 7L, 95C appended8L, 117C


7 substitutions on 7 lines
"/tmp/vH6Y8QC/146"8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/147[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/147"' -S /tmp/vH6Y8QC/146[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/147" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/125" 6L, 167C
"test49.in" 32L, 705C


*** Test  54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/149[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/149" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/150[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/150"' -S /tmp/vH6Y8QC/149[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/150" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 172C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/151[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/151" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/151"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/152[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/152"' -S /tmp/vH6Y8QC/151[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/152" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/153[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/153" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/153"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/154[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/154"' -S /tmp/vH6Y8QC/153[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/154" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/155[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/155" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/155"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/156[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/156"' -S /tmp/vH6Y8QC/155[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/156" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/157[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/157" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/157"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/158[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/158"' -S /tmp/vH6Y8QC/157[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/158" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/159[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/159" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/160[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/160"' -S /tmp/vH6Y8QC/159[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/160" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 166C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/161[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/161" gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/blowfish.o blowfish.c
3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/161"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/162[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/162"' -S /tmp/vH6Y8QC/161[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/162" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/163[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/163" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/163"5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/164[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/164"' -S /tmp/vH6Y8QC/163[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/164" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/165[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/165" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/165"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/166[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/166"' -S /tmp/vH6Y8QC/165[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/166" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/167[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/167" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/167"6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/168[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/168"' -S /tmp/vH6Y8QC/167[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/168" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/148" 6L, 170C
"test49.in" 32L, 705C


*** Test  55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/170[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/170" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/171[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/171"' -S /tmp/vH6Y8QC/170[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/171" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/172[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/172" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/172"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/173[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/173"' -S /tmp/vH6Y8QC/172[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/173" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/174[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/174" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/174"gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/charset.o charset.c
4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/175[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/175"' -S /tmp/vH6Y8QC/174[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/175" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/176[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/176" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/176"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/177[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/177"' -S /tmp/vH6Y8QC/176[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/177" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/178[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/178" 3L, 35C appended4L, 57C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/178"4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/179[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/179"' -S /tmp/vH6Y8QC/178[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/179" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/180[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/180" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/180"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/181[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/181"' -S /tmp/vH6Y8QC/180[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/181" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/182[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/182" 4L, 47C appended5L, 69C


4 substitutions on 4 lines
"/tmp/vH6Y8QC/182"5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/183[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/183"' -S /tmp/vH6Y8QC/182[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/183" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/184[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/184" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/184"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/185[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/185"' -S /tmp/vH6Y8QC/184[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/185" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/186[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/186" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vH6Y8QC/186"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/187[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vH6Y8QC/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vH6Y8QC/187"' -S /tmp/vH6Y8QC/186[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/187" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/169" 6L, 155C
"test49.in" 32L, 705C


*** Test  56: OK (511)


   function FuncException()


1      let g:exception = v:exception


   endfunction"/tmp/vH6Y8QC/188" [noeol] 4L, 80C

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/188"1L, 36C written
"test49.in" 32L, 705C

   function FuncThrowpoint()


1      let g:throwpoint = v:throwpoint


   endfunction"/tmp/vH6Y8QC/189" [noeol] 4L, 83C

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/189"1L, 38C written
"test49.in" 32L, 705C

   function T(arg, line)


1      if a:line == 2


2throw a:arg" in line 2


3      elseif a:line == 4


4throw a:arg" in line 4


5      elseif a:line == 6


6throw a:arg" in line 6


7      elseif a:line == 8


8throw a:arg" in line 8


9      endif


   endfunction"/tmp/vH6Y8QC/190"[noeol] 12L, 341C

9 substitutions on 9 lines

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/190"9L, 292C written
"test49.in" 32L, 705C

   function G(arg, line)

1      call T(a:arg, a:line)

   endfunction"/tmp/vH6Y8QC/191"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/191"1L, 30C written
"test49.in" 32L, 705C

   function F(arg, line)

1      call G(a:arg, a:line)

   endfunction"/tmp/vH6Y8QC/192"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/192"1L, 30C written
"test49.in" 32L, 705C

*** Test  57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/193" 87L, 1700C appended88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/194[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/194"' -c 'break


add func 4 T' -S /tmp/vH6Y8QC/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/194" 8L, 36C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/195" 293L, 5789C appended294L, 5811C


3 substitutions on 3 lines
"/tmp/vH6Y8QC/195"294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/196[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/196"' -c 'br


eakadd file 115 /tmp/vH6Y8QC/195' -c 'breakadd file 225 /tmp/vH6Y8QC/195' -S /tm


p/vH6Y8QC/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  59: OK (2038431743)
"/n/o/n/w/r/i/t/a/b/l/e/_/f/i/l/e"
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/197" 33L, 765C appended34L, 787C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/198[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/198"' -c 'break


add file 7 /tmp/vH6Y8QC/197' -S /tmp/vH6Y8QC/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/198" 3L, 27C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/199" 115L, 2272C appended116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/200[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/


200"' -c 'breakadd file 8 /tmp/vH6Y8QC/199' -c 'breakadd file 36 /tmp/vH6Y8QC/19


9' -c 'breakadd file 40 /tmp/vH6Y8QC/199' -c 'breakadd file 69 /tmp/vH6Y8QC/199'


-c 'breakadd file 95 /tmp/vH6Y8QC/199' -c 'breakadd file 97 /tmp/vH6Y8QC/199' -


S/tmp/vH6Y8QC/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  61: OK (374889517)


   function F()


1      while 1


2      " Missing :endwhile


   endfunction"/tmp/vH6Y8QC/201"[noeol] 5L, 73C

Pattern not found: ^\s*$
"/tmp/vH6Y8QC/201"2L, 40C written
"test49.in" 32L, 705C

*** Test  62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/test49.vim:


line 5500:


"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing


*** Test  63: OK (236978127)gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt.o crypt.c

"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/202" 149L, 2828C appended150L, 2850C


6 substitutions on 6 lines
"/tmp/vH6Y8QC/202"gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/crypt_zip.o crypt_zip.c
150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/203[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/203"' -c 'break


add file 63 /tmp/vH6Y8QC/202' -S /tmp/vH6Y8QC/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/203" 16L, 97C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  64: OK (1499645335)


*** Test  65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/204[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/204" 78L, 1520C appended79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/205[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/205"' -c 'break


add func 8 F' -S /tmp/vH6Y8QC/204[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/205" 6L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  66: OK (5464)


*** Test  67: OK (212514423)


*** Test  68: OK (212514423)


*** Test  69: OK (8995471)


*** Test  70: OK (69544277)


*** Test  71: OK (34886997)


*** Test  72: OK (1789569365)


   function F0()


   endfunction


   function F1()


   endfunction


*** Test  73: OK (9032615)
"/tmp/vH6Y8QC/206" [New File]
"test49.in" 32L, 705C
"/tmp/vH6Y8QC/207" [New File]
"test49.in" 32L, 705C


*** Test  74: OK (224907669)


*** Test  75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/208[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/208" 253L, 6369C appended254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/209[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|


set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp


/vH6Y8QC/209"' -c 'breakadd func 2 INT' -S /tmp/vH6Y8QC/208[?1l>[?12l[?25h[?1049l

gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/dict.o dict.c


shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/209" 28L, 167C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  76: OK (1610087935)


Error detected while processing function ERR:


line    2:


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


*** Test  77: OK (1388671)gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/diff.o diff.c

"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/210[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/210" 161L, 4543C appended162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/211[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/211"' -S /tmp/vH6Y


8QC/210[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  78: OK (134217728)


Error detected while processing function NEXT:


line    1:


E121: Undefined variable: novar


E15: Invalid expression: novar | Xloop 1


E121: Undefined variable: novar


E488: Trailing characters


E108: No such variable: "novar"


E488: Trailing characters


E121: Undefined variable: novar


E15: Invalid expression: novar


E475: Invalid argument: {novar} | Xloop 1


E121: Undefined variable: novar


E15: Invalid expression:  novar


E475: Invalid argument: { novar} | Xloop 1


*** Test  79: OK (70288929)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/test49.vim:


line 7985:


E584: :elseif after :else: elseif 1 ||| 2


line 7995:


E584: :elseif after :else: elseif 1 ||| 2


line 8003:


E582: :elseif without :if: elseif 1 ||| 2


line 8011:


E582: :elseif without :if:     elseif 1 ||| 2


*** Test  80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/212[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/212" 15L, 272C appended16L, 294C16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/213[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/213"' -S /tmp/vH6Y


8QC/212[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/214[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/214" 12L, 227C appended13L, 249C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/215[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/215"' -c 'break


add file 8 /tmp/vH6Y8QC/214' -S /tmp/vH6Y8QC/214[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/215" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/216[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/216" 20L, 417C appended21L, 439C21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/217[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/217"' -S /tmp/vH6Y


8QC/216[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/218[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/218" 24L, 480C appended25L, 502C25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/219[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/219"' -S /tmp/vH6Y


8QC/218[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/220[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/220" 17L, 390C appended18L, 412C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/221[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/221"' -c 'break


add file 7 /tmp/vH6Y8QC/220' -S /tmp/vH6Y8QC/220[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/221" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/222[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/222" 21L, 444C appended22L, 466C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/223[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/223"' -c 'break


add func 6 I' -S /tmp/vH6Y8QC/222[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/223" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/224[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/224" 17L, 307C appended18L, 329C18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/225[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/225"' -S /tmp/vH6Y


8QC/224[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/226[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/226" 14L, 266C appended15L, 288C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/227[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/227"' -c 'break


add file 8 /tmp/vH6Y8QC/226' -S /tmp/vH6Y8QC/226[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/227" 3L, 13C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/228" 154L, 3580C appended155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/229[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/229"' -c 'br


eakadd func 1 INT' -S /tmp/vH6Y8QC/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/229" 18L, 118C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  84: OK (934782101)


TMP
"/tmp/vH6Y8QC/230" [noeol] 2L, 6C/  
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"


"/tmp/vH6Y8QC/232" 1L, 1C
"test49.in" 32L, 705C


:!echo XYZ >/tmp/vH6Y8QC/233[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/234" [New File]
"test49.in" 32L, 705C


*** Test  85: OK (198689)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/test49.vim:


line 8769:


E123: Undefined function: F


Make_all.makgcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/digraph.o digraph.c

"Make_all.mak" line 1 of 207 --0%-- col 1


line 8772:


E926: Current location list was changed


line 8773:


E193: :endfunction not inside a function


Error detected while processing function ExecAsScript[2]..MakeScript:


line    3:


E123: Undefined function: Fgcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/edit.o edit.c

"/tmp/vH6Y8QC/235" c[noeol] 4L, 109C


search hit BOTTOM, continuing at TOP
line   10:

E486: Pattern not found: .*F(.*)


search hit BOTTOM, continuing at TOP
line   11:

E486: Pattern not found: ^\d*\s*endfunction\>


4 substitutions on 4 lines
"/tmp/vH6Y8QC/235"3L, 109C written
"Make_all.mak" 207L, 3846C


Error detected while processing /tmp/vH6Y8QC/235:


line    1:


E492: Not an editor command: Error detected while processing function ExecAsScr


ipt[2]..MakeScript:


line    2:


E492: Not an editor command: line    3:


line    3:


E492: Not an editor command: E123: Undefined function: F


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/test49.vim:


line 8779:


E130: Unknown function: F


*** Test  86: OK (0)


5

*** Test  87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vH6Y8QC/0' >/tmp/vH6Y8QC/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vH6Y8QC/236" 151L, 3929C appended152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vH6Y8QC/237[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi


nfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vH6Y8QC/237"' -c


'breakadd func 5 ThrowOnInterrupt' -S /tmp/vH6Y8QC/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vH6Y8QC/237" 16L, 281C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9009L, 206880C
"Make_all.mak" 207L, 3846C


*** Test  88: OK (50443995)


Press ENTER or type command to continue:[?12l[?25h" Go back to this file and append the results from register r.
[?25l#

# Common Makefile, defines the list of tests to run.

#



NO_PLUGIN = -U NONE --noplugin --not-a-term



# The first script creates small.vim.

SCRIPTS_FIRST = \test1.out



# Tests that run on all systems.

SCRIPTS_ALL = \test3.out \test4.out \test5.out \test7.out \test8.out \test9.out \test14.out \test15.out \test19.out \test20.out \test22.out \[?12l[?25h[?25l:[?12l[?25hbuf test49.in
[?25l"test49.in" 32L, 705C:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:":" make valgrind happy

:redir => funclis:silent func:redir END:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif:endfor:for v in keys(g:):  silent! exe "unlet " . v

:endfor:unlet v:qa!ENDTESTResults of test49.vim:[?12l[?25h

[?25l

83 more lines

*** Test  16: OK (8722)83 more lines[?12l[?25h[?25l:[?12l[?25h/^Results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 84L, 2484C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" make valgrind happy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => funclist
[?25l[?12l[?25h[?25l:[?12l[?25hsilent func
[?25l[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hfor line in split(funclist, "\n")
[?25l

:  [?12l[?25h:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')


[?25l:  [?12l[?25h:  if name != ''


[?25l:    [?12l[?25h:    exe "delfunc " . name


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy[?12l[?25h[?25l

:[?12l[?25hfor v in keys(g:)
[?25l

:  [?12l[?25h:  silent! exe "unlet " . v


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in[?12l[?25h[?25l

:[?12l[?25hunlet v
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test49 = test61; then \
#	  if diff test.out test49.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test49.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test97.failed test.ok test.out X* viminfo
cp test97.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test97.in" 23 lines, 484 charactersTest whether glob()/globpath() return correct results with certain escaped

characters.



STARTTEST

:so small.vim

:" make sure glob() doesn't use the shell

:set shell=doesnotexist

:" consistent sorting of file names

:set nofileignorecase

:e! test.out

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:w! Xxx{

:w! Xxx\$

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:"

:$put =string(globpath('sautest/autoload', '*.vim'))

:$put =string(globpath('sautest/autoload', '*.vim', 0, 1))

:w

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest whether glob()/globpath() return correct results with certain escaped[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 377 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[?12l[?25h[?25l:[?12l[?25hset shell=doesnotexist
[?25l[?12l[?25h[?25l:[?12l[?25h" consistent sorting of file names
[?25l[?12l[?25h[?25l:[?12l[?25hset nofileignorecase
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25l[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xxx{
[?25l

Cannot execute shell doesnotexist




E79: Cannot expand wildcards


"Xxx{" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25lXxx{

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25lXxx$[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l'sautest/autoload/Test104.vimsautest/autoload/footest.vim'[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test97 = test61; then \
#	  if diff test.out test97.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test97.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr_utf8.failed test.ok test.out X* viminfo
cp test_listlbr_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr_utf8.in" 134 lines, 4027 charactersTest for linebreak and list option in utf-8 mode



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!  test.out | qa! | endif

:so mbyte.vim

:set encoding=utf8

:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width, lines)

:let c=''

:for j in range(1,a:lines)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option in utf-8 mode[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 129 lines, 3948 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!


test.out | qa! | endif
[?25l:set list nolinebreak cc=3[?12l[?25h[?25l

:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text
[?12l[?25h[?25l

:[?12l[?25hif &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
[?25l[?12l[?25h[?25l:[?12l[?25h10new|:vsp|:vert resize 20
[?25l                    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  call DoRecordScreen()" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")else   call append('$', "Screen attributes are the same!")

:endif%w! test.out

:qaENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz 1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width, lines)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,a:lines)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[?12l[?25h[?25l:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo


l:\ub6"
[?25l▕———abcdef|▕———␣ˑ¶[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef|

+hijklmn▕———|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines¶                   

Test 1: set         

+linebreak + set    

+list + fancy       

+listchars¶         

▕———abcdefˑˑˑˑˑˑˑˑˑˑ
@                   Test 1: set linebreak + set list + fancy listchars▕———abcdef          +hijklmn▕———        +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶    [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[?12l[?25h[?25l:[?12l[?25hset list nolinebreak
[?25lhijklmn▕—pqrstuvwxyz␣1060ABCDEFGHIJKLMNOPˑ¶    

¶                

Test 1: set linebrea

+k + set list + fancy listchars¶   

▕———abcdefˑˑˑˑˑˑˑˑˑˑ¶          

+hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef hijklmn▕—|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|

¶|

Test 1: set linebrea|

+k + set list + fanc|

+y listchars¶|

▕———abcdefˑˑˑˑˑˑˑˑˑˑ|

+¶|

+hijklmn▕———ˑˑˑˑˑˑˑˑ|
@                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOPTest 1: set linebreak + set list + fancy listchars▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            +hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines▕———abcdef                                                 +hijklmn▕———                                               +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l▕———▕—¶                  

+pqrstuvwxyz␣1060ABC

+¶+DEFGHIJKLMNOPˑ¶ˑˑˑˑ¶                 

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ

+¶                  

▕———*mask = nil;¶~ [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l▕———*mask = nil;¶   

~                   

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l      
    [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l*mask = nil;    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 3: set         

+linebreak nolist   

    *mask = nil;    

~                   

~                   

~                   +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ¶                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       *mask = nil;Test 3: set linebreak nolist*mask = nil;~~~4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['#define ABCDE^I^I1','#define ABCDEF^I^I1','#define ABCDEFG^I^I


1','#define ABCDEFGH^I1', '#define MSG_MODE_FILE^I^I^I1','#define MSG_MODE_CONSO


LE^I^I2','#define MSG_MODE_FILE_AND_CONSOLE^I3','#define MSG_MODE_FILE_THEN_CONS


OLE^I4']
[?25l*mask = nil;    ||

Test 3: set|+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l#define             

+ABCDE      1       [?12l[?25h[?25l:[?12l[?25hvert resize 40
[?25l                    |                    |linebreak nolist|

    *mask = nil;                        |

~                    |                    |                    |

#define ABCDE1 |ABCDEF      1 |

#define ABCDEFG     1 |                    +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+][?12l[?25h[?25l:[?12l[?25h$-7
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l#define ABCDE       1                   

#define ABCDEF      1                   

#define ABCDEFG     1                   

                                        

                                        

                                        

                                        

                                        

                                        

                                        #define ABCDEFGH    1

#define MSG_MODE_FILE1

#define MSG_MODE_CONSOLE2

#define MSG_MODE_FILE_AND_CONSOLE   3

#define MSG_MODE_FILE_THEN_CONSOLE  4

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l>-->--->->--->>--->--->-->--->--->--->--->-->-[?12l[?25h[?25l:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25lAB>CDEF>->CDEFG>->CDEFGH>->_FILE>------->_CONSOLE>------->_FILE_AND_CONSOLE>------->_FILE_THEN_CONSOLE>-------AB[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l#define ABCDE>-->---1|

#define >CDEF>-->---1|

#define >CDEFG>->---1|

#define >CDEFGH>----1|

#define >_FILE>--------->--->---1|

#define >_CONSOLE>---------->---2|

#define >_FILE_AND_CONSOLE>---------3   |

#define >_FILE_THEN_CONSOLE>--------4   |||~                                       

~                                       

[No Name] [+]                            +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l>CDE>-7 more lines                                        

Test 4: set linebreak list listchars    
@                                       #define >CDEFG>->---1+ #define >CDEFGH>----1+#define >_FILE>--------->--->---1+ #define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+ABCDE>
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['bbeeeeee^I^I;^Isome text']
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l[?12l[?25h[?25l:[?12l[?25h$
[?25l@                                       

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        Test 4: set linebreak list listchars    

+and concealing

#define >CDE>-->---1

#define >CDEF>-->---1

#define >CDEFG>->---1

#define >CDEFGH>----1

#define >_FILE>--------->--->---1

#define >_CONSOLE>---------->---2

#define >_FILE_AND_CONSOLE>---------3

bbeeeeee>--->---;>--some text[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25lbbeeeeee>--->---;>--some text           

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l>;>some text      [?12l[?25h[?25l:[?12l[?25hsyn clear
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match meaning    /;\s*\zs.*/
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match hasword    /^\x\{8}/    contains=word
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match word       /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match beginword  /\<\x\x/     contained conceal
[?25leeeeee>--[?12l[?25h[?25l:[?12l[?25hsyn match endword    /\x\{6}\>/   contained
[?25l[?12l[?25h[?25l:[?12l[?25hhi meaning   guibg=blue
[?25lsome text[?12l[?25h[?25l:[?12l[?25hhi beginword guibg=green
[?25l[?12l[?25h[?25l:[?12l[?25hhi endword   guibg=red
[?25leeeeee[?12l[?25h[?25l:[?12l[?25hredraw!
[?25leeeeee>--->-;>some text||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

[No Name] [+]                            #define >CDEFG>->---1+#define >CDEFGH>----1+#define >_FILE>--------->--->---1+#define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l                                        

Test 5: set linebreak list listchars and

eeeeee>--->-;>some text                 #define >_CONSOLE>---------->---2      +                                      #define >_FILE_AND_CONSOLE>---------3  +                                                                                                                                                                                                                                                                                bbeeeeee    ; some textTest 5: set linebreak list listchars an+d concealing part2eeeeee>--->-;>some text                + [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 6: Screenattributes for comment    [?12l[?25h[?25l:[?12l[?25hcall append('$', ' /*^I^I and some more */')
[?25l /*>>- and some more */                 [?12l[?25h[?25l:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail


:\u02d1,eol:\ub6"
[?25leeeeee▕———————▕——————;▕—————some text¶|

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ¶▕———▕—————— and some more */¶#define >_CONSOLE>---------->---2         ;      some text[?12l[?25h[?25l:[?12l[?25hsyntax on
[?25lbbeeeeee▕some text5>some text6for

 /* and some more */#define >_CONSOLE>---------->---2       #define >_FILE_AND_CONSOLE>---------3   bbeeeeeesome text5>some text                 [?12l[?25h[?25l:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l▕—————▕——————▕—————ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ▕———▕——————[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n


"[?25lbbeeeeee▕—————▕——————;▕—————some text¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt0
[?25l /*▕———▕—————— and some more */¶        

~                                       

~                                       

~                                       

~                                       

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['107']
[?12l[?25h[?25l:let attr += ['107']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25lScreenAttributes for test6:¶            [?12l[?25h[?25l:[?12l[?25hif attr[0] != attr[1] && attr[1] != attr[3] && attr[3] != attr[5]
[?25l

:  [?12l[?25h:   call append('$', "Attribut 0 and 1 and 3 and 5 are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Not all attributes are different")


[?25l:  [?12l[?25h:endif
[?25l/*▕———▕—————— and some more */¶|

ScreenAttributes for test6:¶|

Attribut 0 and 1 and 3 and 5 are differe||
~                                       #define >_CONSOLE>---------->---2      + #define >_FILE_AND_CONSOLE>---------3  + [?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select


ion=exclusive and multibyte char"
[?25l/*▕———▕—————— and some more */¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set linebreak with visual block [?12l[?25h[?25llong line:ˑ¶                            [?12l[?25h[?25l¶                                

¶                            

¶                                       

¶                                      

oobar foobar foobar foobar foobarˑ¶[?12l[?25h[?25l
foobar foobar TARGET¶               [?12l[?25h[?25lÃ' at end¶[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx' at end¶[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=[]
[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l /*▕———▕—————— and some more */¶ScreenAttributes for test6:¶Attribut 0 and 1 and 3 and 5 are differe

Test 8: set linebreak with visual block

long line: foobar foobar foobar foobar f

¶                                       [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25hset list nolinebreak cc=3
[?25l*

Scr

Att

Tesn 

a b

a b[?12l[?25h[?25l:[?12l[?25hsign define foo text=^+
[?25l[?12l[?25h[?25l:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l   /*▕———▕—————— and some more */¶  ScreenAttributes for test6:¶  Attribut 0 and 1 and 3 and 5 are diff

  Test 8: set linebreak with visual bloc

  long line: foobar foobar foobar foobar

  ¶ 

+a b c¶  a b c¶  

  ~~  #define >_CONSOLE>-->---2  +     #define >_FILE_AND_CONSOLE>--3  +     bbeeeeee  ;      some text    Test 5: set linebreak list listchars   +and concealing part2  eeeeee>--->-;>some text  +[?12l[?25h[?25l:[?12l[?25hnorm! 2kztj
[?25l  ¶                                     

+a b c¶                                

  a b c¶                                

  ~                                     

  ~                                     

                                        

                                        

                                        

                                        

                                          

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     [?12l[?25h[?25l:[?12l[?25hlet line1=line('.')
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['92']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hlet line2=line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=attr
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['92']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l  ¶ |

+a b c¶|

  a b c¶||||||||  

  

  

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     

[No Name] [+]                              #define >_CONSOLE>---------->---2      +     #define >_FILE_AND_CONSOLE>---------3  +     bbeeeeee;      some text    Test 5: set linebreak list listchars  +and concealing part2  eeeeee>--->-;>some text  +[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l3 more lines¶                                     Test 9: a multibyte sign and colorcolu  ¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ+a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ  a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑa b cTest 9: a multibyte sign and colorcolumn  ¶                     ++a b c¶                                 a b c¶               [?12l[?25h[?25l:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[?12l[?25h[?25l:[?12l[?25hif attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]
[?25l

:  [?12l[?25h:   call append('$', "Screen attributes are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Screen attributes are the same!")


[?25l:  [?12l[?25h:endif
[?25l  ¶ |

+a b c¶|

  a b c¶|

  ¶ |Screen attributes are the same!¶        a b c    Test 9: a multibyte sign and colorcol  +umn[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 57 lines, 1882 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr_utf8 = test61; then \
#	  if diff test.out test_listlbr_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test54.failed test.ok test.out X* viminfo
cp test54.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test54.in" 22 lines, 658 charactersSome tests for buffer-local autocommands



STARTTEST

:so small.vim

:e xx

:if has("vms")

: !del test.out.*

: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.oout

:else

: !rm -f test.out

: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out

:endif

:e somefile" here, autocommand for xx shall write test.out

:" but autocommand shall not apply to buffer named <buffer>:bwipe xx" here, autocommand shall be auto-deleted

:e xx" nothing shall be written

:e somefile" nothing shall be written

:qa!

ENDTEST



start of test file xx

end of test file xx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSome tests for buffer-local autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 15 lines, 555 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25he xx
[?25l"xx" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !del test.out.*


[?25l:  [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te


st.out


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !rm -f test.out


[?25l:!rm -f test.out[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25he somefile           " here, autocommand for xx shall write test.out 
[?25l:!echo buffer-local autommand in xx>> test.out


[?12l[?25h[?25l"somefile" [New File]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h                     " but autocommand shall not apply to buffer named <buffer


>[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe xx             " here, autocommand shall be auto-deleted
[?25l[?12l[?25h[?25l:[?12l[?25he xx                 " nothing shall be written
[?25l"xx" [New File][?12l[?25h[?25l:[?12l[?25he somefile           " nothing shall be written
[?25l"somefile" [New File][?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test54 = test61; then \
#	  if diff test.out test54.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test54.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test17.failed test.ok test.out X* viminfo
cp test17.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test17.in" 135 lines, 2431 charactersTests for:

- "gf" on ${VAR},

- ":checkpath!" with various 'include' settings.



STARTTEST

:so small.vim

:if has("ebcdic")

: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}

:else

: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}

:endif

:"

:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 564 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out

:w! test.out

gf

:set ff=unix

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:endif
[?25l:"

:if has("unix")

:let $CDIR = "."

/CDIR[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:let $CDIR = "."


[?25l:  [?12l[?25h/CDIR


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:if has("amiga")


[?25l:    [?12l[?25h:let $TDIR = "/testdir"


[?25l:    [?12l[?25h:else


[?25l:    [?12l[?25h:let $TDIR = "."


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h/TDIR


[?25l:  [?12l[?25h:endif
[?25l:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif

:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat': > nmake -f Make_dos.mak test17.outw! test.outgf:set ff=unix

:w! test.out

:brewindENDTEST${CDIR}/test17a.in[?12l[?25h[?25l

:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[?12l[?25h[?25l:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[?12l[?25h[?25l:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[?12l[?25h[?25l:[?12l[?25h"  > nmake -f Make_dos.mak test17.out
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 135 lines, 2431 characters written[?12l[?25h[?25l

"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/./test17a.in" 3 lines, 88 c


haracters


Press ENTER or type command to continue[?12l[?25h[?25lThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 3 lines, 88 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out:w! test.outgf:set ff=unix:w! test.out:brewindENDTEST        ${CDIR}/test17a.in        $TDIR/test17a.inSTARTTEST:" check for 'include' without \zs or \ze:lang C:call delete("./Xbase.a"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":e! Xdir1/dir2/foo.ai#include   "bar.a"^[:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 23 lines, 396 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.a

i#include"foo.a"^[:

:w

:e Xbase.a

:set path=Xdir1/dir2

i#include    <foo.a>^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and \ze

:call delete("./Xbase.b")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*/\zs[^/]\+\ze'

:function! DotsToSlashes()

:  return substitute(v:fname, '\.', '/', 'g') . '.b'

:endfunction[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.a")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l#include   "bar.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][?12l[?25h[?25l#include      "baz.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][?12l[?25h[?25l#include"foo.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l#include    <foo.a>[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.a


Xdir1/dir2/foo.a -->


  Xdir1/dir2/bar.a


  Xdir1/dir2/bar.a -->


    Xdir1/dir2/baz.a


    Xdir1/dir2/baz.a -->


      "foo.a"  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l#include    <foo.a>

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi#include            "foo.a"^[:

:w:e Xbase.a:set path=Xdir1/dir2i#include    <foo.a>^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and \ze:call delete("./Xbase.b"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*/\zs[^/]\+\ze':function! DotsToSlashes():  return substitute(v:fname, '\.', '/', 'g') . '.b':endfunction:let &includeexpr='DotsToSlashes()'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 27 lines, 532 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.b")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h[?25l:[?12l[?25hfunction! DotsToSlashes()
[?25l

:  [?12l[?25h:  return substitute(v:fname, '\.', '/', 'g') . '.b'


[?25l:  [?12l[?25h:endfunction
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:[?12l[?25h[?25l:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   /bar/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][?12l[?25h[?25l%inc      /baz/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][?12l[?25h[?25l%inc/foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    /foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.b


Xdir1/dir2/foo.b -->


  Xdir1/dir2/bar.b


  Xdir1/dir2/bar.b -->


    Xdir1/dir2/baz.b


    Xdir1/dir2/baz.b -->


      foo  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    /foo/

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi%inc            /foo/^[:

:w:e Xbase.b:set path=Xdir1/dir2i%inc    /foo/^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and no \ze:call delete("./Xbase.c"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze':function! StripNewlineChar():  if v:fname =~ '\n$':    return v:fname[:-2]:  endif[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 39 lines, 745 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.c")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hfunction! StripNewlineChar()
[?25l

:  [?12l[?25h:  if v:fname =~ '\n$'


[?25l:    [?12l[?25h:    return v:fname[:-2]


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  return v:fname


[?25l:  [?12l[?25h:endfunction
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c[?12l[?25h[?25l

:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   bar.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][?12l[?25h[?25l%inc      baz.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    FALSE.c foo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.c


Xdir1/dir2/foo.c -->


  Xdir1/dir2/bar.c


  Xdir1/dir2/bar.c -->


    Xdir1/dir2/baz.c


    Xdir1/dir2/baz.c -->


      foo.c  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    FALSE.c foo.c

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:w:e Xdir1/dir2/baz.ci%inc            foo.c^[::w:e Xdir1/dir2/FALSE.ci%inc            foo.c^[::w:e Xbase.c:set path=Xdir1/dir2i%inc    FALSE.c foo.c^[::w:redir! >>test.out:checkpath!:redir END:brewind:" change "\" to "/" for Windows and fix 'fileformat':e test.out:%s#\\#/#g:set ff&:w:qENDTEST[?12l[?25h[?25l:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[?12l[?25h[?25l:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 charactersThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!--- Included files in path ---

Xdir1/dir2/foo.a

Xdir1/dir2/foo.a -->

  Xdir1/dir2/bar.a  Xdir1/dir2/bar.a -->    Xdir1/dir2/baz.a

    Xdir1/dir2/baz.a -->

      "foo.a"  (Already listed)--- Included files in path ---Xdir1/dir2/foo.b

Xdir1/dir2/foo.b -->

  Xdir1/dir2/bar.b

  Xdir1/dir2/bar.b -->

    Xdir1/dir2/baz.b

    Xdir1/dir2/baz.b -->foo  (Already listed)[?12l[?25h[?25l:[?12l[?25h%s#\\#/#g
[?25lE486: Pattern not found: \\[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[?12l[?25h[?25l:[?12l[?25hq
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test17 = test61; then \
#	  if diff test.out test17.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test17.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test30.failed test.ok test.out X* viminfo
cp test30.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available.



STARTTEST

:so small.vim

:" first write three test files, one in each format

:set fileformat=unix

:set fileformats=

:/^unix/;/eof/-1w! XXUnix

:/^dos/;/eof/-1w! XXDos

:set bin noeol

:$w! XXMac

Gonoeol^[

:$w! XXEol

:set nobin eol

:enew!

:bwipe XXUnix XXDos XXMac

:" create mixed format files

:if has("vms")

: !copy XXUnix,XXDos XXUxDs.

: !copy XXUnix,XXMac XXUxMac.

: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for a lot of variations of the 'fileformats' option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 221 lines, 3592 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72

Go8^[:$r XXtt81

:$r XXtt82

Go9^[:$r XXtt91

:$r XXtt92

:$r XXtt93

Go10^[:$r XXUnix

:set nobinary ff&

:w

:qa!

ENDTEST



unix

unix

eof



dos^M

dos^M

eof



mac^Mmac^M[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" first write three test files, one in each format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=
[?25l[?12l[?25h[?25l:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25hset bin noeol
[?25l[?12l[?25h[?25l:[?12l[?25h$w! XXMac
[?25l"XXMac" [New File][Incomplete last line] 1 line, 8 characters written[?12l[?25h[?25l

noeol[?12l[?25h[?25l

:[?12l[?25h$w! XXEol
[?25l"XXEol" [New File][Incomplete last line] 1 line, 5 characters written[?12l[?25h[?25l:[?12l[?25hset nobin eol
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[?12l[?25h[?25l:[?12l[?25h" create mixed format files
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !copy XXUnix,XXDos XXUxDs.


[?25l:  [?12l[?25h: !copy XXUnix,XXMac XXUxMac.


[?25l:  [?12l[?25h: !copy XXDos,XXMac  XXDosMac.


[?25l:  [?12l[?25h: !copy XXMac,XXEol  XXMacEol.


[?25l:  [?12l[?25h: !copy XXUnix,XXDos,XXMac XXUxDsMc.


[?25l:  [?12l[?25h:elseif has("win32")


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos XXUxDs


[?25l:  [?12l[?25h: !copy /b XXUnix+XXMac XXUxMac


[?25l:  [?12l[?25h: !copy /b XXDos+XXMac XXDosMac


[?25l:  [?12l[?25h: !copy /b XXMac+XXEol XXMacEol


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos+XXMac XXUxDsMc


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !cat XXUnix XXDos >XXUxDs


[?25l:!cat XXUnix XXDos >XXUxDs[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXMac >XXUxMac


[?25l:!cat XXUnix XXMac >XXUxMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXDos XXMac >XXDosMac


[?25l:!cat XXDos XXMac >XXDosMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXMac XXEol >XXMacEol


[?25l:!cat XXMac XXEol >XXMacEol[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXDos XXMac >XXUxDsMc


[?25l:!cat XXUnix XXDos XXMac >XXUxDsMc[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25hendif
[?25l:[?12l[?25h"
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUnix
[?25l"XXUnix" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" 2 lines, 10 charactersdos^M

dos^M[?12l[?25h[?25l:[?12l[?25hw! XXtt01
[?25l"XXtt01" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line] 1 line, 8 charactersmacmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt02
[?25l"XXtt02" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=dos
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdos^Mdos^Meofmac^Mmac^M[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [CR missing][dos format] 2 lines, 10 charactersunixunix~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt11
[?25l"XXtt11" [New File][dos format] 2 lines, 12 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [dos format] 2 lines, 10 charactersdosdos[?12l[?25h[?25l:[?12l[?25hw! XXtt12
[?25l"XXtt12" [New File][dos format] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line][dos format] 1 line, 8 charactersmac^Mmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt13
[?25l"XXtt13" [New File][dos format] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=mac
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdosdoseofmac^Jmac[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [Incomplete last line][mac format] 1 line, 10 charactersunix^Junix^J

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt21
[?25l"XXtt21" [New File][mac format] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [Incomplete last line][mac format] 3 lines, 10 charactersdos^Jdos^J[?12l[?25h[?25l:[?12l[?25hw! XXtt22
[?25l"XXtt22" [New File][mac format] 3 lines, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [mac format] 2 lines, 8 charactersmac

mac~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt23
[?25l"XXtt23" [New File][mac format] 2 lines, 8 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l^Jdos

^Jeof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt31
[?25l"XXtt31" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt32
[?25l"XXtt32" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [mac format] 4 lines, 28 charactersunix^Junix^Jdos^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt33
[?25l"XXtt33" [New File][mac format] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters^Jdoseof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt41
[?25l"XXtt41" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt42
[?25l"XXtt42" [New File] 3 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [Incomplete last line][dos format] 3 lines, 18 charactersdodos

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt43
[?25l"XXtt43" [New File][dos format] 3 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" 4 lines, 20 charactersunixunix

dos^Mdos^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt51
[?25l"XXtt51" [New File] 4 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt52
[?25l"XXtt52" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [mac format] 4 lines, 18 charactersdo^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt53
[?25l"XXtt53" [New File][mac format] 4 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt54
[?25l"XXtt54" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [CR missing][dos format] 4 lines, 20 charactersunixunix

dosdos

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt61
[?25l"XXtt61" [New File][dos format] 4 lines, 22 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line][CR missing][dos format] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:dos[?12l[?25h[?25l:[?12l[?25hw! XXtt62
[?25l"XXtt62" [New File][dos format] 4 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt63
[?25l"XXtt63" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [Incomplete last line][mac format] 3 lines, 13 charactersmacmac

noeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt64
[?25l"XXtt64" [New File][mac format] 4 lines, 26 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt71
[?25l"XXtt71" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,dos,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt72
[?25l"XXtt72" [New File] 2 lines, 24 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,dos,unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt81
[?25l"XXtt81" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line][mac format] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lmac,dos,unix:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt82
[?25l"XXtt82" [New File][mac format] 2 lines, 23 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h" try with 'binary' set
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt91
[?25l"XXtt91" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt92
[?25l"XXtt92" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt93
[?25l"XXtt93" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix nobin
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXtt01
[?25l"XXtt01" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt02
[?25l"XXtt02" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt11
[?25l"XXtt11" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt12
[?25l"XXtt12" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt13
[?25l"XXtt13" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt21
[?25l"XXtt21" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt22
[?25l"XXtt22" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt23
[?25l"XXtt23" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt31
[?25l"XXtt31" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt32
[?25l"XXtt32" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt33
[?25l"XXtt33" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt41
[?25l"XXtt41" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt42
[?25l"XXtt42" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt43
[?25l"XXtt43" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt51
[?25l"XXtt51" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt52
[?25l"XXtt52" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt53
[?25l"XXtt53" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt54
[?25l"XXtt54" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt61
[?25l"XXtt61" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt62
[?25l"XXtt62" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt63
[?25l"XXtt63" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt64
[?25l"XXtt64" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt71
[?25l"XXtt71" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt72
[?25l"XXtt72" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt81
[?25l"XXtt81" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt82
[?25l"XXtt82" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt91
[?25l"XXtt91" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt92
[?25l"XXtt92" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt93
[?25l"XXtt93" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results.
[?25l[?12l[?25h[?25l:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[?12l[?25h[?25l:[?12l[?25h" Add a newline at the end.
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25h$r XXtt01
[?25l"XXtt01" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt02
[?25l"XXtt02" 2 lines, 13 charactersmac^Mmac^MEND[?12l[?25h

[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXtt11
[?25l"XXtt11" 3 lines, 16 charactersunix^Munix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt12
[?25l"XXtt12" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt13
[?25l"XXtt13" 2 lines, 14 charactersmac^Mmac^M^MEND[?12l[?25h

[?25l

2[?12l[?25h[?25l:[?12l[?25h$r XXtt21
[?25l"XXtt21" 3 lines, 15 charactersunixunix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt22
[?25l"XXtt22" 3 lines, 15 charactersdos^Mdos^M^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt23
[?25l"XXtt23" 1 line, 12 characters

mac^Mmac^MEND[?12l[?25h[?25l

3[?12l[?25h[?25l

:[?12l[?25h$r XXtt31
[?25l"XXtt31" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt32
[?25l"XXtt32" 6 lines, 36 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt33
[?25l"XXtt33" 5 lines, 32 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

4[?12l[?25h[?25l

:[?12l[?25h$r XXtt41
[?25l"XXtt41" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt42
[?25l"XXtt42" 4 lines, 23 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt43
[?25l"XXtt43" 4 lines, 24 charactersunix

mac^Mmac^M

END

dos^M[?12l[?25h[?25ldos^M

mac^Mmac^M^M

END
[?12l[?25h[?25l

5[?12l[?25h[?25l

:[?12l[?25h$r XXtt51
[?25l"XXtt51" 5 lines, 24 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt52
[?25l"XXtt52" 6 lines, 33 charactersunix

dos^M

dos^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt53
[?25l"XXtt53" 3 lines, 22 charactersunix

dos^M

dos^M

mac^Mmac^M

END

dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt54
[?25l"XXtt54" 3 lines, 24 charactersdos^M

mac^Mmac^MEND

unix,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

6[?12l[?25h[?25l

:[?12l[?25h$r XXtt61
[?25l"XXtt61" 5 lines, 26 characters

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt62
[?25l"XXtt62" 5 lines, 39 charactersunix^M

dos^M

dos^M

END

dos,mac:dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt63
[?25l"XXtt63" 6 lines, 36 charactersunix^M

unix^M

mac^Mmac^M^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt64
[?25l"XXtt64" 1 line, 30 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

dos,mac:mac^Mmac^Mmac^Mnoeol^MEND[?12l[?25h[?25l

7[?12l[?25h[?25l

:[?12l[?25h$r XXtt71
[?25l"XXtt71" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt72
[?25l"XXtt72" 3 lines, 28 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix,dos,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

8[?12l[?25h[?25l

:[?12l[?25h$r XXtt81
[?25l"XXtt81" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt82
[?25l"XXtt82" 1 line, 27 charactersunix

dos^M

dos^M

mac^Mmac^M

END

mac,dos,unix:mac^Mnoeol^MEND[?12l[?25h[?25l

9[?12l[?25h[?25l

:[?12l[?25h$r XXtt91
[?25l"XXtt91" 5 lines, 32 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt92
[?25l"XXtt92" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt93
[?25l"XXtt93" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

10[?12l[?25h[?25l

:[?12l[?25h$r XXUnix
[?25l"XXUnix" 2 lines, 10 characters

unix[?12l[?25h[?25l

:[?12l[?25hset nobinary ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test30 = test61; then \
#	  if diff test.out test30.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test30.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test32.failed test.ok test.out X* viminfo
cp test32.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test32.in" 60 lines, 1391 charactersTest for insert expansion



:se cpt=.,w

* add-expands (word from next line) from other window

* add-expands (current buffer first)

* Local expansion, ends in an empty line (unless it becomes a global expansion)

* starts Local and switches to global add-expansion

:se cpt=.,w,i

* i-add-expands and switches to local

* add-expands lines (it would end in an empty line if it didn't ignored it self):se cpt=kXtestfile

* checks k-expansion, and file expansion (use Xtest11 instead of test11,

* because TEST11.OUT may match first on DOS)

:se cpt=w

* checks make_cyclic in other window

:se cpt=u nohid

* checks unloaded buffer expansion

* checks adding mode abortion

:se cpt=t,d

* tag expansion, define add-expansion interrupted

* t-expansion



STARTTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for insert expansion[?12l[?25h[?25l/^STARTTEST
[?12l[?25h[?25l

:so small.vim[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 533 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTO^N^[IX^[A^X^F^N^[

:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use

:" CTRL-X CTRL-F again to verify this doesn't cause trouble.

OX^X^F^H^H^H^H^H^H^H^H^X^F^[ddk

:se cpt=w

OST^N^P^P^P^P^[

:se cpt=u nohid

^WoOEN^N

unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[

:wq! test.out

ENDTEST



start of testfile

run1

run2

end of testfile



test11  36Gepeto/Tag/

asd     test11file      36G

Makefileto      run[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [New] 3L, 57C written[?12l[?25h[?25l:[?12l[?25hse cot=
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[:wq! test.out

ENDTESTstart of testfile

run1run2test32.in                                                                       [?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 4match in file test32.in^-- Keyword completion (^N^P) match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Adding Keyword completion (^N^P) Word from other line#include "Xtestfile"

run1 run2[+][?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h[?25l3[?12l[?25h

[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) match 1 of 115-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) Word from other line-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4 match 3 of 4 match 4 of 4 Back at original-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) match 1 of 2match in file test32.ine-- Adding Keyword completion (^N^P) Word from other linerun3 run3



run1 run2[?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h

[?25l:[?12l[?25hse cpt=.,w,i
[?25l[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 3.-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...
Scanning: test32.ine-- Whole line completion (^L^N^P) match 1 of 57INSERT --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 57Addinge Whole line completion (^L^N^P) -- Searching...
Scanning: test32.ine-- Adding Whole line completion (^L^N^P) The only match Back at original The only matchMakefileto      run3

Makefileto      run3

Makefileto      run3[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=kXtestfile
[?25l[?12l[?25h[?25l:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C writtenXtest11.one+   [?12l[?25h[?25l:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning dictionary: Xtestfile-match in file Xtestfile-- Keyword completion (^N^P) match 1 of 9test11[+]I[?12l[?25h [?25l-- Keyword completion (^N^P) match 1 of 9-- INSERT --[?12l[?25h[?25l-- INSERT --Xtest11
[?12l[?25h[?25l-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 2. match 2 of 2.two[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[?12l[?25h[?25l:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 4.INSERTa -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 443.
Make_all.mak

run1 run2d[?12l[?25h [?25l-- INSERT --[?12l[?25h[?25l
run1 run2~                                                                               [?12l[?25h

[?25l:[?12l[?25hse cpt=w
[?25l[?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match
STARTTEST

run1 run2[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=u nohid
[?25l[?12l[?25h[?25l



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 3-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only matchENDTEST

unless[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...match 1 of 3.INSERTm --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 3Definition completion (^D^N^P)^ U-- Searching...Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...
Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) Word from other lineINSERT --f-- Keyword completion (^N^P) -- Searching...
Scanning tags.pincluded file: Xtestfile
-- Keyword completion (^N^P) The only matchtest11file      36Gepeto/Tag/ asd

asd[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h

ru[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New] 15L, 175C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test32 = test61; then \
#	  if diff test.out test32.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test32.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test58.failed test.ok test.out X* viminfo
cp test58.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2591 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :STARTTESTso small.vim

:"Don't want to depend on the locale from the environment

:set enc=latin1e!"Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spelliasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[?12l[?25h[?25l:[?12l[?25hset maxmem=512 spell
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/eval.o eval.c
[?25lvim



STARTTESTlatin1maxmem

iasdaff/.dic

:func TestOne(aff, dicspellfilea:affa:dicspldic and .aff

  exea:aff . 'affstarta:aff . 'affend/-1w! Xtest.aff

  exea:dic . 'dicstarta:dic . 'dicend/-1w! Xtest.dic

  mkspell! Xtest Xtest[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25lChange "asdTests" to:


 1 "Acid tests"


 2 "Attests"


 3 "Ass Tests"


 4 "As Tests"


 5 "Sad Tests"


 6 "Ads Tests"


 7 "As tests"


 8 "As detests"


 9 "Add Tests"


10 "Aid Tests"


11 "Ash Tests"


12 "Ad Tests"


13 "And Tests"


14 "Ask Tests"


15 "Asp Tests"


16 "USD Tests"


17 "Astutest"


18 "Autotests"


19 "Sadists"


20 "Asst Tests"


21 "Assad Tests"


22 "SSD Tests"


Type number and <Enter> or click with mouse (empty cancels): [?12l[?25h[?25l:[?12l[?25h"
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.latin1.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 46 lines, 754 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']th['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 151 lines, 3412 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.latin1.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.latin1.add
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment[?12l[?25h[?25l/[?12l[?25h^test2:
[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 44 lines, 447 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 98 nodes; 88 (89%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 505 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"








2affend



2good: puts


badendaddstar

/regions=usgbnz

elequ/2/3

addendtest2:test elekwint test elekwent asdf[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 29 nodes; 23 (79%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 115 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 105 nodes; 86 (81%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 87 nodes; 68 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 22 lines, 223 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend




bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



Test NOSLITSUGS



8affstart

SET ISO8859-1



NOSPLITSUGS

8affend



8dicstart[?12l[?25h[?25l:[?12l[?25h" NOSLITSUGS
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" 3 lines, 27 characters written


"Xtest.dic" 4 lines, 20 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 8 of 26 nodes; 18 (69%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 90 bytes


4 lines yanked


4 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" Numbers
[?25lNOSPLITSUGS

8affend



8dicstart

1234

foo

bar

faabar

8dicend



8good: foo bar faabar

bad: foobar barfooTest Numbers9affstart9affend9dicstart

1234

foo[?12l[?25h[?25l:[?12l[?25hcall TestOne('9', '9')
[?25lError detected while processing function TestOne:


line    5:


E493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff


"Xtest.dic" 3 lines, 13 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 2 of 15 nodes; 13 (86%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 65 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1# ile: Xtest.latin1.spl

Comment


input[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1

# file: Xtest.latin1.spl

Comment

deol


input[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 289 lines, 3844 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test58 = test61; then \
#	  if diff test.out test58.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test58.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test59.failed test.ok test.out X* viminfo
cp test59.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 106 lines, 2520 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment.  The .aff and .dic
[?25l[?12l[?25h[?25l:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :STARTTESTso small.vimso mbyte.vimDon't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.enc=latin1e!

:set enc=utf-8:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25hset enc=utf-8
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset fenc=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.utf-8.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 48 lines, 768 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']the['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 153 lines, 3426 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.utf-8.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"[?12l[?25h[?25l/[?12l[?25h^test2:
[?25ltomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !![?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 46 lines, 461 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 102 nodes; 92 (90%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 525 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25laddstart

/regions=usgbnz

elequint/2

elekwint/3

addend



1good: wrong OK puts. Test the end

bad:  inputs comment ok Ok. test déôl end the

badend



2good: puts

bad: inputs comment ok Ok end the. test déôl

badendTest rules for compounding.3affstart

SET ISO8859-1COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 31 nodes; 25 (80%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 125 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 107 nodes; 88 (82%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 26 lines, 338 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 91 nodes; 72 (79%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaébar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaé bar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 270 lines, 3685 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test59 = test61; then \
#	  if diff test.out test59.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test59.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test72.failed test.ok test.out X* viminfo
cp test72.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test72.in" 146 lines, 2110 charactersTests for undo file.

Since this script is sourced we need to explicitly break changes up in

undo-able pieces.  Do that by setting 'undolevels'.



STARTTEST

:so small.vim

:"

:" Test 'undofile': first a simple one-line change.

:set nocompatible viminfo+=nviminfo visualbell

:set ul=100 undofile nomore

:e! Xtestfile

ggdGithis is one line^[:set ul=100

:s/one/ONE/

:set ul=100

:w

:bwipe!

:e Xtestfile

u:.w! test.out

:"

:" Test 'undofile', change in original file fails check

:set noundofile

:e! Xtestfile

:s/line/Line/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for undo file.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 135 lines, 1913 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar

:.w >>test.out

u:.w >>test.out

u:.w >>test.out

u:.w >>test.out

:"

:" Rename the undo file so that it gets cleaned up.

:if has("vms")

: call rename("_un_Xtestfile", "Xtestundo")

:else

: call rename(".Xtestfile.un~", "Xtestundo")

:endif

:qa!

ENDTEST



1111 -----

2222 -----



123456789[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset ul=100 undofile nomore
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --this is one line[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hs/one/ONE/
[?25lONE
[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 change; before #2  0 seconds agoone
[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 1L, 17CONE
[?12l[?25h[?25l:[?12l[?25hs/line/Line/
[?25lL
[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE Line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" TODO: this beeps
[?25l[?12l[?25h[?5h[?5l[?25lAlready at oldest change[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 17C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --one

twothreefourfivesixseveneightnineten[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17Conetwonineten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 7L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile ul=0
[?25l[?12l[?25h[?25l-- INSERT --six
u[?12l[?25hs[?25l[?12l[?25h[?25l1 line less; before #8  0 seconds ago

~                                                                               [?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cnine

ten~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile ul=100
[?25l[?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l1 more line; before #4  0 seconds agofive[?12l[?25h[?25l1 more line; before #3  0 seconds agofour[?12l[?25h[?25l1 more line; before #2  0 seconds agothree[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 10L, 49C appended[?12l[?25h[?25l:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cninten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile cm=zip
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l-- INSERT --monday

tuesdaywednesdaythursdayfriday[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25lmonday

friday

~                                                                               [?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [crypted] 2L, 14Cmonday

friday

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [crypted] 2L, 14C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l1 more line; before #11  0 seconds agothursday[?12l[?25h[?25l1 more line; before #10  0 seconds agowednesday[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 4L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][crypted] 1L, 14C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25ljan

feb

bar apr[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [blowfish] 4L, 20Cjan

feb

bar apr

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #15  1 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #14  1 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #13  1 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******




ͩ^ED

~                                                                               ~                                                                               "Xtestfile" [noeol][blowfish] 3L, 20C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lEnter encryption key: [?12l[?25h*******


[?25lEnter same key again: [?12l[?25h*******


[?25ljan

feb[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Enter encryption key: [?12l[?25h*******


[?25l"Xtestfile" [blowfish2] 4L, 20Cjan

feb

bar ap

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish2] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #19  0 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #18  0 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #17  0 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: call rename("_un_Xtestfile", "Xtestundo")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: call rename(".Xtestfile.un~", "Xtestundo")


[?25l:  [?12l[?25h:endif
[?25ljan

feb

mar

apr[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test72 = test61; then \
#	  if diff test.out test72.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test72.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test78.failed test.ok test.out X* viminfo
cp test78.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test78.in" 46 lines, 1464 charactersInserts 10000 lines with text to fill the swap file with two levels of pointer

blocks.  Then recovers from the swap file and checks all text is restored.



We need about 10000 lines of 100 characters to get two levels of pointer

blocks.



STARTTEST

:so small.vim

:set nocp fileformat=unix undolevels=-1 viminfo+=nviminfo

:e! Xtest

ggdG

:let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01223456789abcdefghijklmnoparstuvwxyz0123456789"

:let i = 1

:let linecount = 10000

:while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile

:preserve

:" get the name of the swap file

:redir => swapname

:swapname

:redir END

:let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][::cntrl:]]*$', '\1', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 10000 lines with text to fill the swap file with two levels of pointer[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1208 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set nobin

:new

:only!

:bwipe! Xtest

:call rename('Xswap', swapname)

:recover Xtest

:call delete(swapname)

:new

:call append(0, 'recovery start')

:wincmd w

:let linedollar = line('$')

:if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected "" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linnecount = linedollar | endif

:let i = 1

:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile

:q!

:call append(line('$'), 'recovery end')

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01


23456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet linecount = 10000
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899991    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899992    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899993    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899994    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899995    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899996    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899997    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899998    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789[?12l[?25h[?25l:[?12l[?25hpreserve
[?25lFile preserved[?12l[?25h[?25l:[?12l[?25h" get the name of the swap file
[?25l[?12l[?25h[?25l:[?12l[?25hredir => swapname
[?25l[?12l[?25h[?25l:[?12l[?25hswapname
[?25l.Xtest.swp[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][


:cntrl:]]*$', '\1', '')
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899a[?12l[?25h[?25l

:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hexe 'sp ' . swapname
[?25l".Xtest.swp"[noeol] 611L, 1224704Cb0VIM 8.0^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@^Kg^@^@buildd^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@mb-lxc-01^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@/<<PKGBUILDDIR>>/src/vim-gtk/testdiir/Xtest^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^.Xtest.swp                                                                      799a

999899a

999999a

1000099a~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw! Xswap
[?25l"Xswap" [New][noeol] 611L, 1224704C written[?12l[?25h[?25l:[?12l[?25hecho swapname
[?25l.Xtest.sw[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       b0VIM 8.0^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@^Kg^@^@buildd^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@mb-lxc-01^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@/<<PKGBUILDDIR>>/src/vim-gtk/testdiir/Xtest^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^.Xtest.swp                                                                      9999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

10000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789



~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe! Xtest
[?25l[?12l[?25h[?25l:[?12l[?25hcall rename('Xswap', swapname)
[?25l[?12l[?25h[?25l:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"


Original file "/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtest"


"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtest" [New File]Recovery completed. You should check if everything is OK.


(You might want to write out this file under another name


and run diff with the original file to check for changes)


You may want to delete the .swp file now.






Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall delete(swapname)
[?25l1abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

2abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

3abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

4abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

5       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567896       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567897       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567898       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678911      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678912      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@                                                                               [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       199a

299a

399a

4 99a

5 99a

Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hcall append(0, 'recovery start')
[?25lrecovery start[+][?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name] [+]                                                                    Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hlet linedollar = line('$')
[?25l[?12l[?25h[?25l:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected 


" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li


necount = linedollar | endif
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen


d(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hq!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'recovery end')
[?25lrecovery end[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New] 3L, 29C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test78 = test61; then \
#	  if diff test.out test78.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test78.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test83.failed test.ok test.out X* viminfo
cp test83.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test83.in" 76 lines, 1273 charactersTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for tag search with !_TAG_FILE_ENCODING.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 58 lines, 1021 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h[?25l:[?12l[?25hif !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [New File] 2 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [New File] 2 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25lTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hcall setline('.', 'Results of test83')
[?25lResults of test83
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case1:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l[No Name]                                                                       Results of test83test83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=Xtags1
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" 2 lines, 35 characterstext for tags1

abcdefghijklmnopqrsXtags1.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case2:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       Results of test83case1: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags2
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characterstext for tags2

ABCXtags2.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case3:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               [No Name]                                                                       case1: okcase2: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags3
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characterstext for tags3

ABCXtags3.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

case3: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 4 lines, 48 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test83 = test61; then \
#	  if diff test.out test83.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test83.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test89.failed test.ok test.out X* viminfo
cp test89.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test89.in" 71 lines, 1514 characters- Some tests for setting 'number' and 'relativenumber'

  This is not all that useful now that the options are no longer reset when

  setting the other.

- Some tests for findfile() function



STARTTEST

:so small.vim

:set hidden nocp nu rnu viminfo+=nviminfo

:redir @a | set nu? rnu? | redir END

:e! xx

:redir @b | set nu? rnu? | redir END

:e! #

:$put ='results:'

:$put a

:$put b

:"

:set nonu nornu

:setglobal nu

:setlocal rnu

:redir @c | setglobal nu? | redir END

:set nonu nornu

:setglobal rnu

:setlocal nu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l- Some tests for setting 'number' and 'relativenumber'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 63 lines, 1305 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =':set MUST reset the other global value'

:$put g

:$put h

:"

:let cwd=getcwd()

:cd ..

:" Tests may be run from a shadow directory, so an extra cd needs to be done to

:" get above src/

:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

:$put =''

:$put ='Testing findfile'

:$put =''

:set ssl

:$put =findfile('test19.in','src/test*')

:exe "cd" cwd

:cd ..

:$put =findfile('test19.in','test*')

:$put =findfile('test19.in','testdir')

:exe "cd" cwd

:/^results/,$w! test.out

:q!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l 21 :$put g 20 :$put h

 19 :" 18 :let cwd=getcwd()

 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/

 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 13 :$put =''

 12 :$put ='Testing findfile'

 11 :$put =''

 10 :set ssl

  9 :$put =findfile('test19.in','src/test*')

  8 :exe "cd" cwd

  7 :cd ..

  6 :$put =findfile('test19.in','test*')

  5 :$put =findfile('test19.in','testdir')

  4 :exe "cd" cwd

  3 :/^results/,$w! test.out

  2 :q!

  1 ENDTEST

71  [?12l[?25h[?25l:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! xx
[?25l"xx" [New File]1   

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1 21 :$put g

 20 :$put h

 19 :" 18 :let cwd=getcwd() 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/ 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif 13 :$put ='' 12 :$put ='Testing findfile' 11 :$put ='' 10 :set ssl  9 :$put =findfile('test19.in','src/test*')  8 :exe "cd" cwd  7 :cd ..  6 :$put =findfile('test19.in','test*')  5 :$put =findfile('test19.in','testdir')  4 :exe "cd" cwd  3 :/^results/,$w! test.out  2 :q!  1 ENDTEST71  "test89.in" line 71 of 71 --100%-- col 1[?12l[?25h[?25l:[?12l[?25h$put ='results:'
[?25l

1

 20

 19

 18

 17ee 

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

72  results:[?12l[?25h[?25l

:[?12l[?25h$put a
[?25l3 more lines21

 20ee 

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

75    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h$put b
[?25l3 more lines22

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

78    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal rnu
[?25l 22 :" get above src/

 21 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 20 :$put =''

 19 :$put ='Testing findfile'

 18 :$put =''

 17 :set ssl

 16 :$put =findfile('test19.in','src/test*')

 15 :exe "cd" cwd

 14 :cd ..

 13 :$put =findfile('test19.in','test*')

 12 :$put =findfile('test19.in','testdir')

 11 :exe "cd" cwd

 10 :/^results/,$w! test.out

  9 :q!

  8 ENDTEST

  7 

  6 results:

  5 

  4   number

  3   relativenumber

  2 

  1   number

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nu
[?25l 56 :" get above src/

 57 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 58 :$put =''

 59 :$put ='Testing findfile'

 60 :$put =''

 61 :set ssl

 62 :$put =findfile('test19.in','src/test*')

 63 :exe "cd" cwd

 64 :cd ..

 65 :$put =findfile('test19.in','test*')

 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l

 79 :setlocal must NOT reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put c
[?25l 80 

 81   number[?12l[?25h[?25l

:[?12l[?25h$put d
[?25l 82 

 83   relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l

:setglobal MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put e
[?25lnumber[?12l[?25h[?25l

:[?12l[?25h$put f
[?25lrelativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber

 79 :setlocal must NOT reset the other global value

 80 

 81   number

 82 

 83   relativenumber

 84 :setglobal MUST reset the other global value

 85 

 86   number

 87 

 88   relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l22

 21

 20

 1

 18

 17

 16

 15

 1

 13

 12

 11

 10

  

  8

  7

  6

  5

  

  3

  2

  1

88    [?12l[?25h[?25l:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber:setglobal MUST reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l 22 :$put =findfile('test19.in','testdir')

 21 :exe "cd" cwd

 20 :/^results/,$w! test.out

 19 :q!

 18 ENDTEST

 17 

 16 results:

 15 

 14   number

 13   relativenumber

 12 

 11   number

 10   relativenumber

  9 :setlocal must NOT reset the other global value

  8 

  7   number

  6 

  5   relativenumber

  4 :setglobal MUST reset the other global value

  3 

  2   number

  1 

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hset nu
[?25l88    [?12l[?25h[?25l:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':set MUST reset the other global value'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

89  :set MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put g
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

91    number[?12l[?25h[?25l

:[?12l[?25h$put h
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

93    relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk[?12l[?25h[?25l:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[?12l[?25h[?25l:[?12l[?25h" get above src/
[?25l[?12l[?25h[?25l:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

94  [?12l[?25h[?25l

:[?12l[?25h$put ='Testing findfile'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

95  Testing findfile[?12l[?25h[?25l

:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

96  [?12l[?25h[?25l

:[?12l[?25hset ssl
[?25l[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

97  src/testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

98  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

99  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[?12l[?25h[?25l:[?12l[?25h/^results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 28L, 356C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test89 = test61; then \
#	  if diff test.out test89.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test89.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_arglist.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_arglist.vim" 318 lines, 6653 characters


Executing Test_argadd()
"a" [New File]bababababd


Executing Test_argc()
"a" [New File]

Executing Test_argdelete()
"a" [New File]a" [New File]
"bb


Executing Test_argedit()
"a" [New File]ba


"c" [New File]
"x


"y" [New File]


Executing Test_argidx()
"a" [New File]cabc


Executing Test_arglist_autocmd()
"Xxx1" 1L, 15C
"Xxx21L, 15C1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx21 of 2)

3 buffers wiped out


Executing Test_arglistid()
"a" [New File]

Executing Test_argpos()
"a" [New File]d


"c" [New File]
"ba


"d" [New File]
"a


Executing Test_argument()
"d" [New File]cbafile] --No lines in buffer-- (1 of 4)
"c3


a b [c] d
"c" [New File]


"x" [New File]
"z


Executing Test_argv()
"a" [New file] --No lines in buffer--


Executing Test_zero_argadd()
"b" [New file] --No lines in buffer-- (2 of 4)
"aFbedited" [New File]
"a" [New File]test_arglist.res" [New File][New] 0L, 0C written


Executed 11 tests
"messages" [New File][New] 15L, 326C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_assert.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_assert.vim" 127 lines, 2933 characters


Executing Test_assert_equal()


Executing Test_assert_exception()


Executing Test_assert_fail_fails()


Executing Test_assert_false()


Executing Test_assert_inrange()


Executing Test_assert_notequal()


Executing Test_assert_true()


Executing Test_compare_fail()


Executing Test_match()


Executing Test_notmatch()


Executing Test_user_is_happy()




oooo$$$$$$$$$$$$oooo


oo$$$$$$$$$$$$$$$$$$$$$$$$o


oo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$oo$   $$ o$


     o $ ooo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o$$ $$ $$o$


  oo $ $ "$      o$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$o$$$o$$o$


  "$$$$$$o$     o$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$o    $$$$$$$$


    $$$$$$$    $$$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$$$$$$$$$$$$$$


    $$$$$$$$$$$$$$$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$$$$$$  """$$$


     "$$$""""$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$


      $$$   o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$o


     o$$"   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o


     $$$    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" "$$$$$$ooooo$$$$o


    o$$$oooo$$$$$  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$   o$$$$$$$$$$$$$$$$$


    $$$$$$$$"$$$$   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     $$$$""""""""


   """"$$$$    "$$$$$$$$$$$$$$$$$$$$$$$$$$$$"      o$$$


"$$$o     """$$$$$$$$$$$$$$$$$$"$$"$$$


$$$o"$$""$$$$$$""""o$$$


$$$$oo$$$"


"$$$$o      o$$$$$$o"$$$$oo$$$$


"$$$$$oo     ""$$$$o$$$$$o   o$$$$""


""$$$$$oooo  "$$$o$$$$$$$$$"""


""$$$$$$$oo $$$$$$$$$$


""""$$$$$$$$$$$


$$$$$$$$$$$$


$$$$$$$$$$"


"$$$""""


[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][New] 0L, 0C written


Executed 12 tests
"messages" 15L, 326C30L, 734C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_autochdir.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autochdir.vim" 17 lines, 332 characters


Executing Test_set_filename()
"samples/Xtest" [New] 0L, 0C written
"test_autochdir.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"30L, 734C34L, 806C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_backspace_opt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_backspace_opt.vim" 59 lines, 1673 characters


Executing Test_backspace_option()
"test_backspace_opt.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"34L, 806C38L, 886C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_breakindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_breakindent.vim" 241 lines, 7365 characters


Executing Test_breakindent01()|

    abcdefghijklmnop|

    qrstuvwxyzABCDEF|

    GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent02()|

    abcdefghijklmnop|

    >>qrstuvwxyzABCD|

    >>EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent03()|

    abcdefghijklmnop|

++  qrstuvwxyzABCDEF|

++  GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent04()|

    abcdefghijklmnop|

  qrstuvwxyzABCDEFGH|

  IJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent05()|

    abcdefghijklmnop|qrstuvwxyzABCD|EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent06()|

    abcdefghijklmnop|

   qrstuvwxyzABCDEFG|

   HIJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07()  1 |

  2     abcdefghijkl|

?mnopqrstuvw|

?xyzABCDEFGH|

?IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07a()  1 |

  2     abcdefghijkl|

    ?    mnopqrstuvw|

    ?    xyzABCDEFGH|

    ?    IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08()  1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08a()  1 $|

  2 ^Iabcdefghijklmn|

    #  opqrstuvwxyzA|

    #  BCDEFGHIJKLMN|

    #  OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent09()  1 $|

  2 ^Iabcdefghijklmn|

       #opqrstuvwxyz|

       #ABCDEFGHIJKL|

       #MNOP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent10()  1 |

  2 abcdefgh|

~ijklmnop|

~qrstuvwx|

~yzABCDEF|

~GHIJKLMN|

~OP      ||||~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent11()


Executing Test_breakindent12() 1 |

 2 >--->--->--->--->|

   ---{      ||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        {~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent13()


Executing Test_breakindent14()|

e|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  e~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent15()|1234567890|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  1234567890~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent16()1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            "test_breakindent.res" [New File][New] 0L, 0C written


Executed 18 tests
"messages" 38L, 886Cgcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/evalfunc.o evalfunc.c
59L, 1492C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_bufwintabinfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_bufwintabinfo.vim" 116 lines, 3459 characters


Executing Test_get_buf_options()


Executing Test_get_win_options()


Executing Test_getbufwintabinfo()
"Xtestfile1" [New File]212


Already only one window
"test_bufwintabinfo.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"59L, 1492C65L, 1639C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cdo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cdo.vim" 205 lines, 5116 characters


Executing Test_cdo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2


Executing Test_ldo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2
"test_cdo.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"65L, 1639C70L, 1718C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"70L, 1718C73L, 1758C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_charsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_charsearch.vim" 62 lines, 1475 characters


Executing Test_charsearch()


Executing Test_search_cmds()
"test_charsearch.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"73L, 1758C78L, 1859C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cmdline.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cmdline.vim" 243 lines, 7346 characters


Executing Test_complete_list():e test


test1.intest85.out


test1.oktest86.in


test1.outtest86.ok


test103.intest86.out


test103.oktest87.in


test103.outtest87.ok


test104.intest87.out


test104.oktest88.in


test104.outtest88.ok


test107.intest88.out


test107.oktest89.in


test107.outtest89.ok


test108.intest89.out


test108.oktest9.in


test108.outtest9.ok


test11.intest9.out


test11.oktest90.in


test11.outtest90.ok


test12.intest90.out


test12.oktest91.in


test12.outtest91.ok


test14.intest91.out


test14.oktest94.in


test14.outtest94.ok


test15.intest94.out


test15.oktest95.in


test15.outtest95.ok


test17.intest95.out


test17.oktest97.in


test17.outtest97.ok


test17a.intest97.out


test19.intest98.in


test19.oktest98.ok


test19.outtest98.out


test20.intest99.in


test20.oktest99.ok


test20.outtest99.out


test22.intest_alot.vim


test22.oktest_alot_latin.vim


test22.outtest_alot_utf8.vim


test23.intest_arglist.res


test23.oktest_arglist.vim


test23.outtest_assert.res


test24.intest_assert.vim


test24.oktest_assign.vim


test24.outtest_autochdir.res


test25.intest_autochdir.vim


test25.oktest_autocmd.vim


test25.outtest_autocmd_option.in


test26.intest_autocmd_option.ok


test26.oktest_autocmd_option.out


test26.outtest_autoformat_join.in


test28.intest_autoformat_join.ok


test28.oktest_autoformat_join.out


test28.outtest_backspace_opt.res


test29.intest_backspace_opt.vim


test29.oktest_breakindent.res


test29.outtest_breakindent.vim


test3.intest_bufwintabinfo.res


test3.oktest_bufwintabinfo.vim


test3.outtest_cdo.res


test30.intest_cdo.vim


test30.oktest_changelist.in


test30.outtest_changelist.ok


test31.intest_changelist.out


test31.oktest_channel.py


test31.outtest_channel.res


test32.intest_channel.vim


test32.oktest_channel_pipe.py


test32.outtest_charsearch.res


test33.intest_charsearch.vim


test33.oktest_close_count.in


test33.outtest_close_count.ok


test34.intest_close_count.out


test34.oktest_cmdline.vim


test34.outtest_command_count.vim


test36.intest_comparators.in


test36.oktest_comparators.ok


test36.outtest_comparators.out


test37.intest_crypt.vim


test37.oktest_cscope.vim


test37.outtest_cursor_func.vim


test38.intest_delete.vim


test38.oktest_diffmode.vim


test38.outtest_digraph.vim


test39.intest_display.vim


test39.oktest_erasebackword.in


test39.outtest_erasebackword.ok


test4.intest_erasebackword.out


test4.oktest_eval.in


test4.outtest_eval.ok


test40.intest_eval.out


test40.oktest_eval_func.vim


test40.outtest_ex_undo.vim


test41.intest_execute_func.vim


test41.oktest_expand.vim


test41.outtest_expand_dllpath.vim


test42.intest_expr.vim


test42.oktest_expr_utf8.vim


test42.outtest_farsi.vim


test43.intest_feedkeys.vim


test43.oktest_file_perm.vim


test43.outtest_fileformat.vim


test44.intest_filter_cmd.vim


test44.oktest_filter_map.vim


test44.outtest_fixeol.in


test45.intest_fixeol.ok


test45.oktest_fixeol.out


test45.outtest_float_func.vim


test48.intest_fnameescape.vim


test48.oktest_fnamemodify.vim


test48.outtest_fold.vim


test49.intest_functions.vim


test49.oktest_getcwd.in


test49.outtest_getcwd.ok


test49.vimtest_getcwd.out


test5.intest_gf.vim


test5.oktest_glob2regpat.vim


test5.outtest_gn.vim


test50.intest_goto.vim


test50.oktest_gui.vim


test51.intest_hardcopy.vim


test51.oktest_help_tagjump.vim


test51.outtest_hide.vim


test52.intest_history.vim


test52.oktest_hlsearch.vim


test52.outtest_increment.vim


test53.intest_increment_dbcs.vim


test53.oktest_insertcount.in


test53.outtest_insertcount.ok


test54.intest_insertcount.out


test54.oktest_job_fails.vim


test54.outtest_join.vim


test55.intest_json.vim


test55.oktest_jumps.vim


test55.outtest_lambda.vim


test56.intest_langmap.vim


test56.oktest_largefile.vim


test56.outtest_lispwords.vim


test57.intest_listchars.in


test57.oktest_listchars.ok


test57.outtest_listchars.out


test58.intest_listlbr.in


test58.oktest_listlbr.ok


test58.outtest_listlbr.out


test59.intest_listlbr_utf8.in


test59.oktest_listlbr_utf8.ok


test59.outtest_listlbr_utf8.out


test60.intest_man.vim


test60.oktest_mapping.vim


test60.outtest_marks.vim


test60.vimtest_match.vim


test64.intest_matchadd_conceal.vim


test64.oktest_matchadd_conceal_utf8.vim


test64.outtest_menu.vim


test65.intest_messages.vim


test65.oktest_mksession.vim


test65.outtest_mksession_utf8.vim


test66.intest_nested_function.vim


test66.oktest_netbeans.py


test66.outtest_netbeans.vim


test67.intest_normal.vim


test67.oktest_options.vim


test67.outtest_packadd.vim


test68.intest_partial.vim


test68.oktest_perl.vim


test68.outtest_popup.vim


test69.intest_profile.vim


test69.oktest_quickfix.vim


test69.outtest_regexp_latin.vim


test7.intest_regexp_utf8.vim


test7.oktest_reltime.vim


test7.outtest_ruby.vim


test70.intest_search.vim


test70.oktest_search_mbyte.in


test70.outtest_search_mbyte.ok


test72.intest_search_mbyte.out


test72.oktest_searchpos.vim


test72.outtest_set.vim


test73.intest_signs.vim


test73.oktest_smartindent.vim


test73.outtest_sort.vim


test75.intest_source_utf8.vim


test75.oktest_startup.vim


test75.outtest_startup_utf8.vim


test77.intest_stat.vim


test77.oktest_statusline.vim


test77.outtest_substitute.vim


test77a.intest_syn_attr.vim


test77a.oktest_syntax.vim


test78.intest_system.vim


test78.oktest_tabline.vim


test78.outtest_tabpage.vim


test79.intest_tagcase.vim


test79.oktest_tagjump.vim


test79.outtest_taglist.vim


test8.intest_textobjects.vim


test8.oktest_timers.vim


test8.outtest_true_false.vim


test80.intest_undo.vim


test80.oktest_unlet.vim


test80.outtest_usercommands.vim


test82.intest_utf8.in


test82.oktest_utf8.ok


test82.outtest_utf8.out


test83-tags2test_viminfo.vim


test83-tags3test_viml.vim


test83.intest_visual.vim


test83.oktest_window_cmd.vim


test83.outtest_window_id.vim


test84.intest_wordcount.in


test84.oktest_wordcount.ok


test84.outtest_wordcount.out


test85.intest_writefile.vim


test85.ok


:e test
"test" [New File]


Executing Test_complete_tab():e Xtest...file
"Xtestfile" 1L, 9C


Executing Test_complete_wildmenu():e Xtest...file1...


Xtestfile1  Xtestfile2  
Xtestfile1                                                         :e Xtest...Xtestfile1
Xtestfile1 file1...Xtestfile1Xtestfile2 2:te Xtestfile2"Xtestfile2" 1L, 10C

Executing Test_expand_star_star():find **/fileXname...a/b/fileXname
"a/b/fileXname" 1L, 9C
"Xtestfile2" [New File]


Executing Test_getcompletion():cscope find 


a  c  d  e  f  g  i  s  t


:cscope find :sign list 


Testing


:sign list Executing Test_illegal_address()


Executing Test_paste_in_cmdline():abc "def ghi
:"abc def ghi
:"
:aaa "asdf bbb
:"aaa asdf bbb
:"
:aaa "/tmp/some bbb
:"aaa /tmp/some bbb
:"
:aaa veryl"ongword bbb
:"aaa verylongword bbb
:"
:aaa "a;b-c*d bbb
:"aaa a;b-c*d bbb
:"
:=toupper(getline(1))
:ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D 
:"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D
:"


Executing Test_remove_char_in_cmdline():abc defef
:"abc ef
:"
:abc defdef
:"abcdef
:"
:abc def ghighi
:"abc ghi
:"
:abc def
:def"def
"test_cmdline.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"78L, 1859C89L, 2168C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_command_count.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_command_count.vim" 191 lines, 4742 characters


Executing Test_command_count_0()
"DoesNotExistEver" [New File]

Executing Test_command_count_1()


"a" [New File]


loading buffers


"b" [New File]


loading buffers


"c" [New File]


loading buffers


"d" [New File]


loading buffers


"e" [New File]


loading buffers
"c" [New File]beb


Executing Test_command_count_2()


"d" [New File]
"a


Already only one window
"x" [New File]

Already only one window


Executing Test_command_count_3()
"aaa" [New File]bbb
"ccc
"test_command_count.vim" 191L, 4742C


2 buffers deleted


Executing Test_command_count_4()
"cc" [New File]

"dd" [New File]


"ee" [New File]
"aa


"bb" [New File]


"cc" [New File]


"dd" [New File]


"ee" [New File]
"cc


"ee" [New File]


"ff" [New File]
"test_command_count.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"89L, 2168C97L, 2380C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_crypt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_crypt.vim" 83 lines, 2590 characters


Executing Test_crypt_blowfish()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][blowfish] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 3L, 98C


Executing Test_crypt_blowfish2()
"Xtest.txt" [New File]:X
Enter encryption key: ******
Enter same key again: ******


"Xtest.txt" [New][blowfish2] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [blowfish2] 3L, 98C


Executing Test_crypt_zip()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][crypted] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [crypted] 3L, 98C


Executing Test_head_only_2()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_head_only_3()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][converted][New][noeol] 1L, 80C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 2L, 27C


Executing Test_uncrypt_blowfish2()
"Xtest.txt" [New File][converted][New][noeol] 1L, 103C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: *******


"Xtest.txt" [blowfish2] 2L, 44C


Executing Test_uncrypt_zip()
"Xtest.txt" [New File][converted][New][noeol] 1L, 45C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [converted][crypted] 2L, 26C"test_crypt.res" [New File][converted][New] 0L, 0C written

Executed 8 tests
"messages"97L, 2380C108L, 2667C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cscope.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"108L, 2667C111L, 2706C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_diffmode.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_diffmode.vim" 237 lines, 4954 characters


Executing Test_diff_fold_sync()


Executing Test_diffget_diffput()


Executing Test_diffoff()  -------------------------------------|

  -------------------------------------|

  Two|

  Three|||||||||||||||||||  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    

[No Name] [+]                             One                                                                             Two  Three                                    ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     [No Name] [+]                           Two                                    

Three                                  

~                                      

~                                      

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   OneTwoThree~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   



Executing Test_filler_lines()


7 more lines


10 more lines


Executing Test_setting_cursor()
"Xtest1" [New File]

90 more lines
"Xtest1" [New] 91L, 262C written2" [New File]

100 more lines
"Xtest2"[New] 101L, 293C written101L, 293C191L, 262C


Executing Test_vert_split()
"Xtest" [New] 5L, 25C written"Xtest2" [New] 6L, 29C written


"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3"Xtest" 5L, 25C2" 6L, 29C
"test_diffmode.vim" 237L, 4954Cres" [New File][New] 0L, 0C written


Executed 6 tests
"messages"111L, 2706C120L, 2928C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_digraph.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_digraph.vim" 461 lines, 14928 characters


Executing Test_digraph_cmndline()
Executing T


Executing Test_digraphs()

Executing Test_digraphs_option()

Executing Test_digraphs_output()


Executing Test_loadkeymap()"test_digraph.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"120L, 2928C128L, 3123C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_display.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049lExecuting Test_display_foldcolumn()e more noise blah blah<82|

> more stuff here||||||||||~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                  e more noise blah blah<|

  82> more stuff here    ||||||||||  

  

  

  

  

  

  

  

  ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                "test_display.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"128L, 3123C132L, 3199C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_farsi.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_farsi.vim" 84 lines, 2881 characters




Executed 2 tests
"messages"[converted] 132L, 3199C[converted] 137L, 3295C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fnameescape.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fnameescape.vim" 21 lines, 467 characters


Executing Test_fnameescape()
"Xspa ce"[New] 21L, 467C written
"Xemark![New] 21L, 467C written
"test_fnameescape.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"137L, 3295C141L, 3368C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fold.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fold.vim" 97 lines, 3328 characters


Executing Test_address_fold()


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


8 lines yanked


10 lines yanked


4 lines yanked


Executing Test_indent_fold()


Executing Test_indent_fold2()
"test_fold.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"141L, 3368C147L, 3495C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gf.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gf.vim" 33 lines, 1138 characters


Executing Test_gf_url()
"test_gf.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"147L, 3495C151L, 3554C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gn.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gn.vim" 93 lines, 2821 characters


Executing Test_gn_command()/[u]niquepattern/s
/a:0\@!\zs\d\+
"test_gn.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"151L, 3554C155L, 3617C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gui.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"155L, 3617C158L, 3653C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hardcopy.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hardcopy.vim" 62 lines, 2001 characters


Executing Test_printheader_parsing()


Executing Test_printmbfont_parsing()


Executing Test_printoptions_parsing()


Executing Test_with_syntax()Printing page 1 (0%)Printed: test_hardcopy.vim
"test_hardcopy.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"158L, 3653C165L, 3836C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hide.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hide.vim" 97 lines, 2443 characters


Executing Test_hide()
"Xf1" [New File]

"Xf1" [New File]
"Xf212121


one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"165L, 3836C169L, 3895C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_history.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_history.vim" 106 lines, 3567 characters


Executing Test_History()


Executing Test_Search_history_window()/a
/b
/a

b

a

b

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Tests for the history functions



test_history.vim                                                                /a

/b

/

/

/

/

/~                                                                              ~                                                                              ~                                                                              ~                                                                              [Command Line]                                                                  [?12l[?25h[?25l/a
"test_history.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"169L, 3895C174L, 4000C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hlsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hlsearch.vim" 34 lines, 1013 characters


Executing Test_hlsearch()/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

~                                                                               [No Name] [+]                                                                   " Test for v:hlsearch



function! Test_hlsearch()

  new

  call setline(1, repeat(['aaa'], 10))

  set hlsearch nolazyredraw

  let r=[]

  " redraw is needed to make hlsearch highlight the matches

  exe "normal! /aaa\<CR>" | redraw

  let r1 = screenattr(1, 1)

test_hlsearch.vim                                                               aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





"test_hlsearch.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"174L, 4000C178L, 4067C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment.vim" 760 lines, 19011 characters


Executing Test_normal_increment_01()
"dummy" [New File]

Executing Test_normal_increment_02()
"dummy" [New File]

Executing Test_normal_increment_03()
"dummy" [New File]

Executing Test_visual_increment_01()
"dummy" [New File]

Executing Test_visual_increment_02()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_03()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_04()
"dummy" [New File]

Executing Test_visual_increment_05()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_06()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_07()
"dummy" [New File]5 lines changed

Executing Test_visual_increment_08()
"dummy" [New File]

Executing Test_visual_increment_09()
"dummy" [New File]

Executing Test_visual_increment_10()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_11()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_12()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_13()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_14()
"dummy" [New File]

Executing Test_visual_increment_15()
"dummy" [New File]

Executing Test_visual_increment_16()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_17()
"dummy" [New File]

Executing Test_visual_increment_18()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_19()
"dummy" [New File]

Executing Test_visual_increment_20()
"dummy" [New File]

Executing Test_visual_increment_21()
"dummy" [New File]

Executing Test_visual_increment_22()
"dummy" [New File]

Executing Test_visual_increment_23()
"dummy" [New File]

Executing Test_visual_increment_24()
"dummy" [New File]

Executing Test_visual_increment_25()
"dummy" [New File]

Executing Test_visual_increment_26()
"dummy" [New File]

Executing Test_visual_increment_27()
"dummy" [New File]

Executing Test_visual_increment_28()
"dummy" [New File]

Executing Test_visual_increment_29()
"dummy" [New File]

Executing Test_visual_increment_30()
"dummy" [New File]

Executing Test_visual_increment_31()
"dummy" [New File]

Executing Test_visual_increment_32()
"dummy" [New File]_31" [New File]


Executing Test_visual_increment_33()
"dummy" [New File]

Executing Test_visual_increment_34()
"dummy" [New File]

Executing Test_visual_increment_35()
"dummy" [New File]

Executing Test_visual_increment_36()
"dummy" [New File]

Executing Test_visual_increment_37()
"dummy" [New File]

Executing Test_visual_increment_38()
"dummy" [New File]"test_increment.res" [New File][New] 0L, 0C written


Executed 41 tests
"messages" 178L, 4067C222L, 5628C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment_dbcs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment_dbcs.vim" 30 lines, 604 characters


Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 222L, 5628C[converted] 226L, 5709C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_job_fails.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_job_fails.vim" 19 lines, 598 characters


Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"226L, 5709C230L, 5784C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_json.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_json.vim" 287 lines, 10700 characters


Executing Test_js_decode()


Executing Test_js_encode()


Executing Test_json_decode()


Executing Test_json_encode()


"test_json.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"230L, 5784C237L, 5934C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_langmap.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_langmap.vim" 28 lines, 628 characters


Executing Test_langmap()
"test_langmap.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"237L, 5934C241L, 5999C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_man.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_man.vim" 60 lines, 1358 characters


Executing Test_g_ft_man_open_mode()




Cannot find a 'vim'.


Executing Test_nomodifiable()




Cannot find a 'vim'.
"test_man.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"241L, 5999C246L, 6102C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_marks.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_marks.vim" 26 lines, 775 characters


Executing Test_Incr_Marks()


Executing Test_Restore_DelMark()1 more line; before #2  0 seconds ago
1 line less; after #2  0 seconds agomore line; before #2  0 seconds ago
"test_marks.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"246L, 6102C251L, 6202C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_matchadd_conceal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049lExecuting Test_clearmatches()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_default_conceal_char()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #+This+is+a+Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_conceallevel_3()#ThisisaTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #Thisisa Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_syn_conceal()Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_repeat_conceal_with_syntax_off()TARGET_TARGETTARGET
t_ttsimple_matchadd()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_simple_matchadd_and_conceal()#XThisXisXaXTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_syn_and_match_conceal()#ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #*This*is*a*Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_using_matchaddpos()#Pis a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       "test_matchadd_conceal.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"251L, 6202C263L, 6616C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession.vim" 104 lines, 2315 characters


Executing Test_mksession()
"/tmp/vYsWkoD/0" [New] 9L, 203C written


search hit BOTTOM, continuing at TOP
"test_mksession.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 263L, 6616C[converted] 267L, 6685C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession_utf8.vim" 104 lines, 2328 characters


Executing Test_mksession_utf8()
"/tmp/vsOMrMO/0" [New] 9L, 215C written


search hit BOTTOM, continuing at TOP
"test_mksession_utf8.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"267L, 6685C271L, 6764C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_nested_function.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_nested_function.vim" 67 lines, 1305 characters


Executing Test_max_nesting()


Executing Test_nested_argument()


[]


Executing Test_nested_functions()
"test_nested_function.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"271L, 6764C277L, 6909C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_netbeans.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"277L, 6909C280L, 6950C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_normal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_normal.vim" 2280 lines, 58740 characters


Executing Test_normal00_optrans()

Executing Test_normal01_keymodel()
4 lines yankedExecuting Test_normal02_selectmode()10 fewer lines

Executing Test_normal02_selectmode2():set im
[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds.o ex_cmds.c
[?25l:set noim


Executing Test_normal03_join()


Executing Test_normal04_filter():.!sed -e 's/^/|    /'
[?12l[?25h[?1l>[?1049lone
[?1049h[?1h=[?25l:.!sed -e 's/^/|    /'
[?12l[?25h[?25l:.!
:!echo one
[?1l>[?12l[?25h[?1049l

[No write since last change]

one


Press ENTER or type command to continue[?1049h[?1h=[?25l:.!!
[?12l[?25h

[?25lExecuting Test_normal05_formatexpr()


Executing Test_normal05_formatexpr_newbuf()
"another" [New File]

Executing Test_normal05_formatexpr_setopt()


Executing Test_normal06_formatprg():.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered

Executing Test_normal07_internalfmt()
7 fewer lin

Executing Test_normal08_fold()


Executing Test_normal09_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal09a_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal10_expand()


Executing Test_normal11_showcmd()

Executing Test_normal12_nv_error()


Executing Test_normal13_help()
"help.txt" [readonly] 225L, 8437C


Executing Test_normal14_page()


Executing Test_normal14_page_eol()

Executing Test_normal15_z_scroll_vert()


Executing Test_normal16_z_scroll_hor()


Executing Test_normal17_z_scroll_hor2()


Executing Test_normal18_z_fold()


Executing Test_normal19_z_spell()
Word 'goood' added to ./Xspellfile.add
search hit BOTTOM, continuing at TOPWord 'goood' added to ./Xspellfile.add2 goood' added to ./Xspellfile.add/tmp/vcwPsCa/11removed from /tmp/vcwPsCa/11goood' added to /tmp/vcwPsCa/11removed from /tmp/vcwPsCa/11added to ./Xspellfile.addremoved from ./Xspellfile.add2 goood' added to ./Xspellfile.addremoved from ./Xspellfile.addgoood' added to ./Xspellfile2.add

Executing Test_normal20_exmode()


Executing Test_normal21_nv_hat()
"Xfoobar" [New File]ile2" [New File]

Executing Test_normal22_zet()


Executing Test_normal23_K()
"version8.txt" [readonly] 14932L, 562906Cline 1 of 14932 --0%-- col 1
"man" [New File]aa%bb" [New File]
"cc|dd
:! man --pager=cat 'man'[?1l>[?12l[?25h[?1049l

[No write since last change]

stdin not open for reading!


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25lExecuting Test_normal24_rot13()


Executing Test_normal25_tag()
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"insert.txt" [readonly] 2003L, 82815Cline 49 of 2003 --2%-- col 7-49


Executing Test_normal26_put()


Executing Test_normal27_bracket()


21 substitutions on 21 lines


Executing Test_normal28_parenthesis()


Executing Test_normal29_brace()
17 fewer lines4 fewer lines3

Executing Test_normal30_changecase()


Executing Test_normal31_r_cmd()

Executing Test_normal32_g_cmd1()
/x_foo?abc

Executing Test_normal33_g_cmd2()/[1-8]
search hit BOTTOM, continuing at TOP
9 substitutions on 9 linesblock of 3 lines yanked5

Executing Test_normal34_g_cmd3()


Executing Test_normal35_g_cmd4()


Executing Test_normal36_g_cmd5()


Executing Test_normal37_g_cmd6()
"1.txt" [New File]23


Executing Test_normal38_nvhome()


Executing Test_normal39_cw()

Executing Test_normal40_ctrl_bsl()

Executing Test_normal41_insert_reg()=a
=a
=a


Executing Test_normal42_halfpage()


Executing Test_normal43_textobject1()


Executing Test_normal44_textobjects2()


Executing Test_normal45_drop()


Executing Test_normal46_ignore()


Executing Test_normal47_autocmd()


Executing Test_normal47_visual_buf_wipe()


Executing Test_normal48_wincmd()


Executing Test_normal49_counts()


Executing Test_normal50_commandline()q:  :xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :set im

:set noim

:.!sed -e 's/^/|    /'

:.!

:!echo one

:.!!

:

[Command Line]                                                                  [?12l[?25h[?25l[?12l[?25h[?25l:^M   



Executing Test_normal51_FileChangedRO()
"Xreadonly.log" 1L, 4C
Error detected while processing ...13]..Test_normal51_FileChangedRO:
line    8:W10: Warning: Changing a readonly file

Executing Test_normal52_rl()3_digraph()


Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][New] 0L, 0C written


Executed 61 tests
"messages" 280L, 6950C348L, 9314C written
[?1l>[?12l[?25h[?1049l

VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_packadd.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_packadd.vim" 238 lines, 8288 characters


Executing Test_colorscheme()


Executing Test_colorscheme_completion():colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')acolorscheme one')dcolorscheme one')dcolorscheme one')(colorscheme one')lcolorscheme one')icolorscheme one'),colorscheme one') colorscheme one')'colorscheme one')
:colorscheme ...one...three')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')acolorscheme three')dcolorscheme three')dcolorscheme three')(colorscheme three')lcolorscheme three')icolorscheme three'),colorscheme three') colorscheme three')'colorscheme three')
:colorscheme ...one...three...wo')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')acolorscheme two')dcolorscheme two')dcolorscheme two')(colorscheme two')lcolorscheme two')icolorscheme two'),colorscheme two') colorscheme two')'colorscheme two')
:colorscheme ...one...three...wo...')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')acolorscheme ')dcolorscheme ')dcolorscheme ')(colorscheme ')lcolorscheme ')icolorscheme '),colorscheme ') colorscheme ')'colorscheme ')


Executing Test_helptags()


Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C writtenalso/loaded.vim" [New File][New] 1L, 29C writtenftdetect/test.vim" [New File[New] 1L, 26C written


Executing Test_packadd_completion():packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')apackadd pluginA')dpackadd pluginA')dpackadd pluginA')(packadd pluginA')lpackadd pluginA')ipackadd pluginA'),packadd pluginA') packadd pluginA')'packadd pluginA')
:packadd ...pluginA...B')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')apackadd pluginB')dpackadd pluginB')dpackadd pluginB')(packadd pluginB')lpackadd pluginB')ipackadd pluginB'),packadd pluginB') packadd pluginB')'packadd pluginB')
:packadd ...pluginA...B...C')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')apackadd pluginC')dpackadd pluginC')dpackadd pluginC')(packadd pluginC')lpackadd pluginC')ipackadd pluginC'),packadd pluginC') packadd pluginC')'packadd pluginC')
:packadd ...pluginA...B...C...')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')apackadd ')dpackadd ')dpackadd ')(packadd ')lpackadd ')ipackadd '),packadd ') packadd ')'packadd ')


Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C written


Executing Test_packloadall()


Executing Test_runtime()
"test_packadd.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"348L, 9314C359L, 9597C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_perl.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_perl.vim" 123 lines, 3037 characters


Executing Test_SvREFCNT()
"t" [New File]

Executing Test_VIM_package()


Executing Test_change_buffer()/^1


Executing Test_evaluate_list()/^2
search hit BOTTOM, continuing at TOP


Executing Test_perldo()
"__TEST__" [New File]test_perl.vim"123L, 3037C


Executing Test_perleval()


Executing Test_stdio()


&VIM::Msg


STDOUT


STDERR
"test_perl.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"359L, 9597C369L, 9825C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_profile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_profile.vim" 146 lines, 6247 characters


Executing Test_profile_completion():profile ...continue file func pause start
:"profile continue file func pause start
:"
:profile start test_prof...ile.vim
:"profile start test_profile.vim
:"


Executing Test_profile_errors()


Executing Test_profile_file()


Executing Test_profile_func()
"test_profile.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"369L, 9825C376L, 9994C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_quickfix.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_quickfix.vim" 1693 lines, 46351 characters


Executing Test_Autocmd()
"F1" [New File]

(1 of 1): Line 10
"F2" [New File]

(1 of 2): Line 10


Executing Test_Autocmd_Exception()


Executing Test_adjust_lnum()


Already only one window
"Xqftestfilec" 20L, 131C


9 fewer lines


Already only one window
"Xqftestfilel" 20L, 131C


9 fewer lines


Executing Test_browse()
"Xqftestfile1" 20L, 131C


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


Executing Test_caddbuffer_to_empty()
"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


(2 of 1486):


Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File]

Executing Test_caddexpr_wrong()


(1 of 1):


(1 of 1):


Executing Test_cage()


error list 9 of 10; 1 errors      :cgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :cgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 9 of 10; 1 errors      :lgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :lgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


Executing Test_cbottom()


Executing Test_cbuffer()
"Xtestfile7" [New File]

(1 of 2): Line 700
"Xtestfile7" [New File]


(1 of 2): Line 700


Executing Test_cexpr()


Executing Test_cfile()
"Xtestfile1" [New File]


(1 of 2): Line 700


"Xtestfile1" [New File]


(1 of 2): Line 700


Executing Test_cgetexpr_works()


Executing Test_clist()


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


Executing Test_cwindow()~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Quickfix List]                                                                 ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Location List]                                                                 Executing Test_dirstack_cleanup()


(1 of 1): 0


Executing Test_duplicate_buf()
"DoesNotExist" [New File]2" [New File]


Xgrepthis
"Xgrepthis" line 1 of 2 --50%-- col 1


(1 of 2): this one


Xgrepthis
(1 of 2): this one


Executing Test_efm()


Executing Test_efm1()
"Xtestfile" 21L, 903C


(1 of 20): 1506-045 (S) Undeclared identifier fd_set.


(20 of 20): What is the title of the quickfix window?


Executing Test_efm2()
"Xtestfile" [New File]


Executing Test_efm_dirstack()


Executing Test_efm_ignore_continuations()


Executing Test_errortitle()


Executing Test_grep()


Already only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lAlready only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lExecuting Test_helpgrep()

"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1

(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


Executing Test_history()


error list 1 of 10; 1 errors      :  cexpr 'Xtestfile:Line search text'


error list 1 of 2; 1 errors:  cexpr 'Xtestfile:Line search text'


error list 1 of 3; 13 errors      :lexpr ""


error list 1 of 2; 13 errors      :lexpr ""


Executing Test_invalid_efm()


Executing Test_locationlist()


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


W19: Deleting augroup that is still in use
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" 1L, 11Cbar1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=

[?25lAlready only one window


Executing Test_locationlist_curwin_was_closed()


W19: Deleting augroup that is still in use
Executing Test_long_lines()"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C


Error detected while processing function RunTheTest[13]..Test_nomem:


line    2:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C


line    5:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C


line    8:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C


line   11:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C


line   14:


E342: Out of memory!  (allocating 1025 bytes)


Executing Test_qf_property()


Executing Test_qf_title()


Executing Test_quickfix_set_list_with_act()


Executing Test_quickfix_was_changed_by_autocmd()


error list 9 of 10; 1 errors      :setqflist()


W19: Deleting augroup that is still in use
error list 9 of 10; 1 errors      :setloclist()


error list 9 of 10; 1 errors      :setloclist()


W19: Deleting augroup that is still in use
Executing Test_setqflist()"Xtestfile" [New File]

(2 of 2):


(3 of 3):


(2 of 2):


(3 of 3):


Executing Test_setqflist_empty_middle()


test_quickfix.vim
"test_quickfix.vim" 1693L, 46351C


(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :vimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :vimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setqflist()


error list 10 of 10; 2 errors     :vimgrep matches test_quickfix.vim


test_quickfix.vim
(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :lvimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :lvimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setloclist()


error list 10 of 10; 2 errors     :lvimgrep matches test_quickfix.vim


Executing Test_setqflist_empty_older()


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :vimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :vimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :vimgrep three test_quickfix.vim


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :lvimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :lvimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :lvimgrep three test_quickfix.vim


Executing Test_switchbuf()
"Xqftestfile1" 20L, 131C220L, 131C1" line 1 of 20 --5%-- col 1


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" line 1 of 20 --5%-- col 1


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C220L, 131C


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


Already only one window
"Xqftestfile1" 20L, 131C220L, 131C320L, 131C


Executing Test_two_windows()
"one" [New File]two


Executing Test_vimgreptitle()


file
"file" [New File]


Cannot open file "file"
"test_quickfix.res" [New File][New] 0L, 0C written


Executed 42 tests
"messages" 376L, 9994C421L, 11297C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_ruby.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_ruby.vim" 34 lines, 820 characters


Executing Test_ruby_change_buffer()/^1


Executing Test_ruby_evaluate_dict()


{"a"=>"foo", "b"=>123}


Executing Test_ruby_evaluate_list()/^2
search hit BOTTOM, continuing at TOP
"test_ruby.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"421L, 11297C427L, 11443C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_search.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search.vim" 296 lines, 8731 characters


Executing Test_search_cmdline()/foobar
/the
search hit BOTTOM, continuing at TOP/thes
/foobar
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
?the
?the
?the
?the
?the
?the
?the
?the
?the
?the
search hit TOP, continuing at BOTTOM/thes
/thes
/thes
/thes
/thei
/theis
/theiss
/themthe\>
Executing Test_search_cmdline2()/the
/the
/the
/the
/the
/the
/the
/foo
6 their

  7 the

  8 them

  9 these

 10 foobar

[No Name] [+]                                                                   " Test for the search command



func Test_search_cmdline()

  if !exists('+incsearch')

    return

  endif

  " need to disable char_avail,

  " so that expansion of commandline works

  call test_disable_char_avail(1)

  new

  call setline(1, ['  1', '  2 these', '  3 the', '  4 their', '  5 there', '  66 their', '  7 the', '  8 them', '  9 these', ' 10 foobar'])

  " Test 1

  " CTRL-N / CTRL-P skips through the previous search history

  set noincsearch

  :1

test_search.vim                                                                 Executing Test_searchpair()


Executing Test_use_sub_pat()
"test_search.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"427L, 11443C434L, 11605C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_signs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_signs.vim" 199 lines, 6383 characters


Executing Test_sign()
"foo" [New File]a  b  c xd                                                                                 ~

[No Name] [+]                                                                   " Test for signs



if !has('signs')

  finish

endif

test_signs.vim                                                                  ~                                                                               ~                                                                               ~                                                                               ~                                                                               foo                                                                               a

  b

x c

  d

[No Name] [+]                                                                     a  bx c  d  ~   "foo" [New file] --No lines in buffer--
"barF

Executing Test_sign_completion():sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
:sign jump 1 ...buffer= file=
:"sign jump 1 buffer= file=
:"


Executing Test_sign_delete_buffer()


Executing Test_sign_invalid_commands()


Executing Test_sign_undefine_still_placed()
"foobar" [New File]test_signs.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"434L, 11605C442L, 11818C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_smartindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_smartindent.vim" 14 lines, 376 characters


Executing Test_nosmartindent()/some
search hit BOTTOM, continuing at TOP"test_smartindent.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"442L, 11818C446L, 11893C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup.vim" 185 lines, 4581 characters


Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l1: /<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xbefore.vim


  2: /<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xhere/plugin/here.vim


  3: /<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xhere/pack/foo/start/fo


obar/plugin/foo.vim


  4: /<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xafter/plugin/later.vim


  5: /<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xafter.vim


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25lError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/Xafter.vim:


line    2:


E528: Must specify a ' value: viminfo+=nviminfo


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=

[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=

[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 1 line, 10 characters[?12;25h[?12l[?25h"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=

[?25lExecuting Test_startup_script()[?1000h


Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l"test_startup.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"446L, 11893C456L, 12144C written
[?1000l

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup_utf8.vim" 64 lines, 1366 characters


Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"/dev/fd/63" [readonly] 2 lines, 24 characters


"Xtestout" [New File] 2 lines, 24 characters written


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 2 lines, 24 characters[?12;25h[?12l[?25h"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=[?25l"test_startup_utf8.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"456L, 12144C461L, 12255C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_stat.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_stat.vim" 64 lines, 1598 characters


Executing Test_checktime()
"Xtest.tmp" 1L, 13C[?12l[?25hgcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_cmds2.o ex_cmds2.c
[?25l1L, 25C


Executing Test_existent_directory()


Executing Test_existent_file()[?12l[?25h


[?25lExecuting Test_nonexistent_file()


Executing Test_win32_symlink_dir()
"test_stat.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"461L, 12255C469L, 12456C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_substitute.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_substitute.vim" 41 lines, 1151 characters


Executing Test_multiline_subst()


search hit BOTTOM, continuing at TOP
3 substitutions on 3 lines

3 substitutions on 2 lines
"test_substitute.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"469L, 12456C473L, 12532C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_syntax.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_syntax.vim" 164 lines, 4101 characters


Executing Test_syn_iskeyword()CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


syntax iskeyword @,48-57,_,192-255CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


Executing Test_syntax_after_reload()
"Xsomefile" [New File][New] 2L, 12C written
"other" [New File]Xsomefile" 2L, 12C


Executing Test_syntax_completion():syn ...case clear cluster conceal enable include iskeyword keyword list manual ma


tch off on region reset spell sync"syn case clear cluster conceal enable include iskeyword keyword list manual match off on region reset spell sync
:syn case ...ignore match
:"syn case ignore match
:"
:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=


minlines= region"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= minlines= region
:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu


rsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha


nge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol


dColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr


Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen


uSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig


nColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc


al SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab


Line TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis


ual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC


ond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun


ctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp


erator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr


ing2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr


ow perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets


SQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErro"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant Cursor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu PmenuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal SpellRare Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaCond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFunctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOperator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaString2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArrow perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBracketsSQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErr
:syn match ...Boolean Character ColorColumn Comment Conceal Conditional Constant C
:"syn match Boolean Character ColorColumn Comment Conceal Conditional Constant 
:"


Executing Test_syntax_list()
"../memfile_test.c" gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_docmd.o ex_docmd.c
[readonly] 143L, 3142C


--- Syntax items ---




--- Syntax items ---


"Xsomefile" [New File]


Executing Test_syntime()
"../memfile_test.c" [readonly] 143L, 3142C/* vi:set ts=8 sts=4 sw=4 noet:

 *

 * VIM - Vi IMproved    by Bram Moolenaar

 *

 * Do ":help uganda"  in Vim to read copying and usage conditions.

 * Do ":help credits" in Vim to see a list of people who contributed.

 * See README.txt for an overview of the Vim source code.

 */



/*

 * memfile_test.c: Unittests for memfile.c

 * Mostly by Ivan Krasilnikov.

 */



#undef NDEBUG

#include <assert.h>



/* Must include main.c because it contains much more than just main() */

#define NO_VIM_MAIN

#include "main.c"



/* This file has to be included because the tested functions are static */

#include "memfile.c"

"Xsomefile" [New File]
"test_syntax.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"473L, 12532C481L, 12729C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_system.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_system.vim" 92 lines, 2910 characters


Executing Test_System()
"Xdummy" [New File]

Executing Test_system_exmode()
"test_system.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"481L, 12729C486L, 12824C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_textobjects.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_textobjects.vim" 43 lines, 946 characters


Executing Test_inner_block_with_cpo_M_left_backslash()


Executing Test_inner_block_with_cpo_M_right_backslash()


Executing Test_inner_block_without_cpo_M()
"test_textobjects.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"486L, 12824C492L, 13023C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_undo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_undo.vim" 265 lines, 6936 characters


Executing Test_U_command()Executing Test_global_local_undolevels()
"one" [New File]

6 fewer lines; before #8  0 seconds ago
"two" [New File]

3 fewer lines; before #11  0 seconds ago
"three" [New File]

Executing Test_insert_expr()=setline('.','1234')
1 line less; before #4  0 seconds ago3=setline('.','1234')
1 line less; before #7  0 seconds ago=string(123)
1 line less; before #9  0 seconds ago


Executing Test_undo_del_chars()
1 change; before #3  0 seconds ago21


1 change; before #6  1 seconds ago5
4s; after #3
1; before #21


3 changes; after #6  1 seconds ago3 changes; before #7  0 seconds ago


3 changes; before #1  3 seconds ago


3 changes; after #6  3 seconds ago


3 changes; after #9  0 seconds ago


Executing Test_undo_write()
"Xtest" [New File]"Xtest" [New] 1L, 12C written"Xtest" 3L, 20C written1 line less; before #4  0 seconds ago


2 fewer lines; before #2  0 seconds ago


1 line less; before #1  0 seconds ago


1 more line; after #1  0 seconds ago


2 more lines; after #3  0 seconds ago


1 more line; after #4  0 seconds ago


Executing Test_undofile_earlier()
"Xfile" [New File]"Xfile" [New] 3L, 14C written3L, 14C


Finished reading undo file Xundofile


3 fewer lines; before #1  2017/07/13 19:01:31


Executing Test_undojoin()1 line less; before #2  0 seconds ago2 fewer lines; before #3  0 seconds ago


Executing Test_undolist()1 change; before #2  0 seconds agoExecuting Test_undotree()

1 change; before #2  0 seconds ago
"Xtest" [New] 1L, 4C written
"test_undo.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"492L, 13023C504L, 13330C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_usercommands.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_usercommands.vim" 104 lines, 2527 characters


Executing Test_Ambiguous()


Executing Test_CmdUndefined()


Executing Test_cmdmods()
"test_usercommands.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"504L, 13330C510L, 13458C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viminfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viminfo.vim" 515 lines, 13496 characters


Executing Test_cmdline_history()


Executing Test_cmdline_history_order()


Executing Test_global_vars()


Executing Test_viminfo_bad_syntax()


Executing Test_viminfo_encoding()
"Xviminfo" [converted] 73L, 3414C


Executing Test_viminfo_file_mark_tabclose()
"Xtestfileintab" [New File]viminfo" 83L, 3589C


Executing Test_viminfo_file_mark_zero_time()


Executing Test_viminfo_file_marks()
"ten" [New File]again" [New File]
"thirty" [New File]
"twen
"again" [New File]fourty" [New File]
"Xviminfo" 90L, 3387C


Executing Test_viminfo_jumplist()
"testbuf" [New File]/20
/30
/last pos
/15
/last pos
?30
/15
/last pos
?30
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here


Executing Test_viminfo_marks()
"bufa" [New File]b


Executing Test_viminfo_oldfiles()


Executing Test_viminfo_read_and_write()


Executing Test_viminfo_registers()
"test_viminfo.res" [New File][New] 0L, 0C written


Executed 13 tests
"messages" 510L, 13458C526L, 13970C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viml.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viml.vim" 1316 lines, 31904 characters


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/test_viml.vim:


line  432:


E492: Not an editor command: ^Iasdf


line  444:


E492: Not an editor command: ^Iasdf


line  452:


E492: Not an editor command: asdf


line  455:


E492: Not an editor command: asdf | Xpath 'p'


Error detected while processing function T8_F:


line    5:


E492: Not an editor command: ^I    asdf


line    7:


E492: Not an editor command: ^I    asdf | Xpath 'd'


line   19:


E492: Not an editor command: ^I    asdf


line   21:


E492: Not an editor command: ^I    asdf | Xpath 'l'


line   29:


E121: Undefined variable: novar


E15: Invalid expression: novar^I^I" returns (default return value 0)


Error detected while processing function T8_G:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function T8_H:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function F[2]..G[2]..H[2]..I:


line    2:


E492: Not an editor command:     asdf^I^I" error


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test


dir/test_viml.vim:


line  663:


E15: Invalid expression: | strlen("\"") | Xpath 'j'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'


line  673:


E15: Invalid expression: | strlen("\"") | Xpath 'n'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'


line  682:


E15: Invalid expression: | strlen("\"") | Xpath 'r'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'


line  717:


E492: Not an editor command:     asdf^I^I" error


1

line  787:


E492: Not an editor command:     asdf^I^I" error


line  794:


E492: Not an editor command:     asdf^I^I" error


line  817:


E121: Undefined variable: asdf


E15: Invalid expression: asdf


line  828:


E121: Undefined variable: asdf


E15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'


Error detected while processing function F:


line    8:


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar^I" possibly undefined


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif


Executing Test_arg_abort()


Executing Test_braces_skipped()


Executing Test_curlies()


Executing Test_defining_functions()


Executing Test_echo_and_string()


foo bar


'foo bar'


-1.2


-1.2


string


function('string')


{'a': {...}}


{'a': {...}}


[[...]]


[[...]]


[{}, {}, {}]


[{}, {}, {}]


{'a': {}, 'b': {}}


{'a': {}, 'b': {}}


[[], [], []]


[[], [], []]


{'a': [], 'b': []}


{'a': [], 'b': []}


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {...}, {...}]


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {'one': 'yes', 'two': 'yes', 'th


ree': 'yes'}, {'one': 'yes', 'two': 'yes', 'three': 'yes'}]


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {...}}


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {'one': 'yes', 'two':


'yes', 'three': 'yes'}}


[[1, 2, 3], [...], [...]]


[[1, 2, 3], [1, 2, 3], [1, 2, 3]]


{'a': [1, 2, 3], 'b': [...]}


{'a': [1, 2, 3], 'b': [1, 2, 3]}


Executing Test_endwhile_function()


Executing Test_endwhile_script()


   function T1_F()


1      Xpath 'a'


2      let first = 1


3      while 1


4Xpath 'b'


5if first


6Xpath 'c'


7let first = 0


8break


9else


10Xpath 'd'


11return


12endif


13     endwhile


   endfunction"/tmp/vpAsKBh/0" [noeol] 16L, 299C

13 substitutions on 13 lines

Pattern not found: ^\s*$
"/tmp/vpAsKBh/0" 13L, 248C written
"test_viml.vim" 1316L, 31904C

   function T1_G()

1      Xpath 'h'

2      let first = 1

3      while 1

4Xpath 'i'

5if first

6Xpath 'j'

7let first = 0

8break

9else

10Xpath 'k'

11return


12endif


13if 1    " unmatched :if


14     endwhile


   endfunction"/tmp/vpAsKBh/1" [noeol] 17L, 334C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vpAsKBh/1" 14L, 281C written
"test_viml.vim" 1316L, 31904C

Executing Test_error_in_function()

Executing Test_error_in_script()

Executing Test_expr_parsing()

Executing Test_finish()

   function T4_F()

1      if 1

2Xpath 'a'

3let loops = 3

4while loops > 0"    3:  2:     1:

5Xpath 'b' . loops

6if (loops == 2)

7Xpath 'c' . loops

8return


9Xpath 'd' . loops


10endif


11Xpath 'e' . loops


12let loops = loops - 1


13endwhile


14Xpath 'f'


15     else


16Xpath 'g'


17     endif


   endfunction"/tmp/vpAsKBh/2" [noeol] 20L, 504C

17 substitutions on 17 lines

Pattern not found: ^\s*$
"/tmp/vpAsKBh/2" 17L, 445C written
"test_viml.vim" 1316L, 31904C

Executing Test_func_abort()

Executing Test_if_bar_fail()

Executing Test_if_fail()

Executing Test_if_while()

Executing Test_num64()

Executing Test_return()

Executing Test_script_lines()

Executing Test_skip()

Executing Test_type()

Executing Test_while_fail()
"test_viml.res" [New File][New] 0L, 0C written

Executed 21 tests
"messages" 526L, 13970C550L, 14609C written

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_visual.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_visual.vim" 25 lines, 506 characters


Executing Test_block_shift_multibyte()


Executing Test_dotregister_paste()"test_visual.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"550L, 14609C555L, 14723C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_window_id.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_window_id.vim" 103 lines, 2714 characters


Executing Test_win_getid()
"one" [New File]twohree" [New File]
"four" [New File]ive


Executing Test_win_getid_curtab()
"X" [New File]test_window_id.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"555L, 14723C560L, 14827C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_writefile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_writefile.vim" 16 lines, 490 characters


Executing Test_WriteFile()
"test_writefile.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"560L, 14827C564L, 14896C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_latin.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_latin.vim" 7 lines, 280 characters


Executing Test_eow_with_optional()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_nested_backrefs()


Executing Test_recursive_substitute()
"test_alot_latin.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"[converted] 564L, 14896C[converted] 572L, 15112C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049lExecuting Test_classes_re1()


Executing Test_classes_re2()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_match_using_multibyte_conceal_char()#ˑThisˑisˑaˑTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " A series of tests that can run in one Vim invocation.

" This makes testing go faster, since Vim doesn't need to restart.



" These tests use utf8 'encoding'.  Setting 'encoding' is already done in

" runtest.vim.  Checking for the multi_byte feature is in the individual

" files, so that they can be run by themselves.



source test_expr_utf8.vim

source test_matchadd_conceal_utf8.vim

source test_regexp_utf8.vim

test_alot_utf8.vim                                                              Executing Test_source_latin()
"Xscript"[New] 2L, 44C written
Executing Test_source_utf8()"Xscript"[New] 2L, 42C written:%s/àx/--à1234--/g
:%s/Àx/--À1234--/g


Executing Test_strcharpart()


Executing Test_strgetchar()
"test_alot_utf8.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"572L, 15112C584L, 15447C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot.vim" 48 lines, 1233 characters


Executing Test_BufEnter()
"NewFile" [New File]Xdir" is a directory


Executing Test_abbreviation()Executing Test_abs()


Executing Test_acos()


Executing Test_asin()


Executing Test_atan()


Executing Test_atan2()


Executing Test_augroup_deleted()


W19: Deleting augroup that is still in use
Executing Test_augroup_warning()

W19: Deleting augroup that is still in useentering


Executing Test_auto_partial_rebind()


Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File]

"bb.txt" [New File]


Executing Test_autocmd_bufunload_avoiding_SEGV_02()

"a.txt" [New File]
"test_alot.vim" 48L, 1233C


Executing Test_autocmd_bufunload_with_tabnext()


Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File]

Executing Test_bind_in_python()


Executing Test_break_undo()Executing Test_bufunload()


Executing Test_cancel_ptjump()


Already only one window:ptjump word
  # pri kind tagfile


  1 Fwordfile1


cmd1


  2 Fwordfile2


cmd2


Type number and <Enter> (empty cancels): 
"help.txt" [readonly] 225L, 8437C


Executing Test_caught_error_in_statusline()source test_messages.vim

source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



                                                                                Executing Test_caught_error_in_tabline()                                                                                source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



test_alot.vim                                                                   Executing Test_ceil()


Executing Test_closure_counter()


Executing Test_closure_refcount()


Executing Test_closure_unlet()


Executing Test_color_names()


Executing Test_compare_null_dict()


Executing Test_compare_partials()


Executing Test_compl_vim_cmds_after_register_expr()=s:test_func()
 AAAAA_Group             BufAdd                  BufCreate               BufDelete               BufEnter                BufFilePost             BufFilePre              BufHidden               BufLeave                BufNew                  BufNewFile              BufRead                 BufReadCmd              BufReadPost             tBufReadPre              BufUnload               BufWinEnter             BufWinLeave             BufWipeout              BufWrite                BufWriteCmd             BufWritePost           Executing Test_complete_no_undo()=UndoComplete()
xxx

aaa

yyy

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   test_tabpage.vimtest_tagcase.vimtest_tagjump.vimtest_timers.vimtest_true_false.vimtest_unlet.vimsource test_window_cmd.vimsource test_options.vime hereTest3: text with a (parenthesis here

test_alot.vim                                                                   January        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       1 change; before #2  0 seconds ago=UndoComplete()

bbb

yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       -- INSERT --January        1 change; before #4  0 seconds ago=UndoComplete()


yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December           
January



~              

~              

~              

~              

~              

~              

~              

~              February       

March          

April          

May            

June           

July           

August         

September      -- INSERT --January        1 change; before #5  0 seconds ago


Executing Test_completefunc_opens_new_window_one()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_opens_new_window_two()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_with_scratch_buffer()January        

February

March     

April   

May      January        

February       info2-1

2-2

2-3



February

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis hereJanuary        

February       

March          

April          

May            



[Scratch]                                                                       test_alot.vim                                                                   [Scratch] [Preview]                                                             [Scratch]                                                                       
March~              

~              

~              

~              

~              January        

February       

March          

April          

May            3

3

3[Scratch]                                                                        [Scratch]                                                                       February       

March          
April

~              

~              

~              

~              

~              January        

February       

March          

April          

May            4

4

4[Scratch]                                                                        [Scratch]                                                                       March          

April          Executing Test_completefunc_works()


search hit BOTTOM, continuing at TOPthreedef       

threeDEF       threedef       

threeDEF       
threeDEF

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~              

~              

~              

~              

~              threedef       

threeDEF       Executing Test_completion_ctrl_e_without_autowrap()Executing Test_cos()


Executing Test_cosh()


Executing Test_cursorhold_insert()[?12l[?25h[?25lExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25lExecuting Test_cursorline_keep_col()


Executing Test_curswant_with_autocommand()

Executing Test_cycle_partial_job()


Executing Test_cyclic_dict_arg()


Executing Test_cyclic_list_arg()


Executing Test_delete_myself()[?12l[?25h


[?25lExecuting Test_dict()


Executing Test_dictionary()


Executing Test_dir_delete()


Executing Test_early_bar()


Executing Test_empty_buffer()


Executing Test_empty_doau()


No matching autocommands


Executing Test_equal()


Executing Test_ex_undo()
"ex-undo" [New File]

1 line less; before #3  0 seconds ago


1 line less; after #1  0 seconds ago


2 fewer lines; before #1  0 seconds ago


Executing Test_execute_list()


Executing Test_execute_string()


this


theend


something


Executing Test_existing()


Executing Test_exp()


Executing Test_expand()


Executing Test_feedkeys_x_with_empty_string()Executing Test_file_delete()
"Xfile" [New File][New] 2L, 4C written


Executing Test_file_perm()


Executing Test_fileformat_after_bw()
"a.txt" [New File]ex-undo" [New File]


Executing Test_filetype_valid()


Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File]ex-undo" [New File]

Executing Test_filter_cmd_completion():filter ^I"=execute('let cmdline = getcmdline()')
:filter ^I:filter pat^I"=execute('let cmdline = getcmdline()')
:filter pat^I:filter /pat^I"=execute('let cmdline = getcmdline()')
:filter /pat^I:filter /pat/^I"=execute('let cmdline = getcmdline()')
:filter /pat/^I:filter pat pri...nt"=execute('let cmdline = getcmdline()')
:filter pat print:filter /pat/ pri...nt"=execute('let cmdline = getcmdline()')
:filter /pat/ print:filter #pat# pri...nt"=execute('let cmdline = getcmdline()')
:filter #pat# printExecuting Test_filter_fails()


Executing Test_filter_map_dict_expr_funcref()


Executing Test_filter_map_dict_expr_string()


Executing Test_filter_map_list_expr_funcref()


Executing Test_filter_map_list_expr_string()


Executing Test_floor()


Executing Test_fmod()


Executing Test_fnamemodify()
"test_alot.vim" 48L, 1233C


Executing Test_func_unref()


Executing Test_funcref()


0

Executing Test_function_in_dict()


Executing Test_function_with_funcref()


Executing Test_gD()


Executing Test_gD_char()


Executing Test_gD_comment()


Executing Test_gD_inline_comment()


Executing Test_gD_string()


Executing Test_gD_string_same_line()


Executing Test_gD_too()


Executing Test_gd()


Executing Test_gd_comment()


Executing Test_gd_comment_in_string()


Executing Test_gd_inline_comment()


Executing Test_gd_inline_comment_body()


Executing Test_gd_inline_comment_only()


Executing Test_gd_kr_style()


Executing Test_gd_missing_braces()


Executing Test_gd_not_local()


Executing Test_gd_string()


Executing Test_gd_string_in_comment()


Executing Test_gd_string_only()


Executing Test_gd_trailing_comment()


Executing Test_gd_trailing_multiline_comment()


Executing Test_get_partial_items()


Executing Test_getreg_empty_list()


Executing Test_global_local_lispwords()


Executing Test_help_complete()


Executing Test_help_respect_current_file_lang()
"testdoc.abx" [readonly] 2L, 25Cja[readonly] 2L, 25Cline 1 of 2 --50%-- col 2-9txt[readonly] 2L, 25C
Executing Test_help_tagjump()"help.txt" [readonly] 225L, 8437C
"options.txt" [readonly] 8739L, 370255Cline 7652 of 8739 --87%-- col 7-49
"eval.txt" [readonly][converted] 10613L, 408230C line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1320 of 8739 --15%-- col 4-25
"cmdline[readonly] 1147L, 46822C


Executing Test_if()


Executing Test_info()


Executing Test_invalid()


Executing Test_invalid_submatch()


Executing Test_isnan()


Executing Test_join_with_count()


Executing Test_keymap_valid()


Executing Test_keyword_jump()
"Xtestfile" 9L, 141C


Executing Test_lambda_call_lambda_from_lambda()


Executing Test_lambda_capture_by_reference()


Executing Test_lambda_circular_reference()


Executing Test_lambda_closure_counter()


Executing Test_lambda_combination()


Executing Test_lambda_delfunc()


Executing Test_lambda_do_not_share_local_variable()


Executing Test_lambda_fails()


Executing Test_lambda_feature()


Executing Test_lambda_refer_local_variable_from_other_scope()


Executing Test_lambda_scope()


Executing Test_lambda_share_scope()


Executing Test_lambda_side_effect()


Executing Test_lambda_with_a_var()


Executing Test_lambda_with_filter()


Executing Test_lambda_with_map()


Executing Test_lambda_with_partial()


Executing Test_lambda_with_sort()


Executing Test_lambda_with_timer()[?12l[?25h


[?25l1[?12l[?25h

[?25l2[?12l[?25h

[?25l3[?12l[?25h

[?25l4[?12l[?25h

[?25l5[?12l[?25h

[?25l6[?12l[?25h

[?25l7[?12l[?25h

[?25l8[?12l[?25h

[?25lExecuting Test_load_menu()


Executing Test_log()


Executing Test_log10()


Executing Test_loop_over_null_list()


Executing Test_map_ctrl_c_insert()Executing Test_map_ctrl_c_visual():'<,'>$put ='vmap works'


Executing Test_map_cursor()1 line less; before #8  0 seconds ago


Executing Test_map_feedkeys():call feedkeys(".", "in")
:call feedkeys(".", "in")
Executing Test_map_langmap():call append(line('$'), '+')


Executing Test_map_meta_quotes()Executing Test_match()


abcdefghijklmnopq

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   abcdΣabcdef

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos()12345

NP

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   12345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   012345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos_using_negative_priority()x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchstrpos()


Executing Test_max_min_errors()


Executing Test_messages()


hello0x

-1 match priority

vmap works    hello1234567898


hello9xhello9
Executing Test_missing_attr()


Executing Test_move_cursor()


Executing Test_named_function_closure()


Executing Test_no_type_checking()


Executing Test_noinsert_complete()=s:complTest1()
~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       x

-1 match priority

vmap worksTest1: text with a (here some more text)

Test1: text with a (here some more text)Test2: text wit a (here some more text [und undo])fooc d[No Name]                                                                        source         

soundfold      ndfold=s:complTest2()


~              

~              source         

soundfold      Executing Test_non_zero_arg()


Executing Test_not_existing()


Executing Test_not_lamda()


Executing Test_omnifunc_with_check()


search hit BOTTOM, continuing at TOPfour1

~                                                                               ~                                                                               ~                                                                               [+]four1          

four2          2

~              

~              four1          

four2          four1          

four2          

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          four3          

four4          

four5          

four6          4

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          5

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          four4          

four5          Executing Test_oneshot()[?12l[?25h


[?25lExecuting Test_option_value()


Executing Test_options()
"option-window" [New File]


Executing Test_partial_args()


Executing Test_partial_dict()


Executing Test_partial_exists()


Executing Test_partial_implicit()


Executing Test_partial_string()


Executing Test_path_keep_commas()


Executing Test_paused()[?12l[?25h


[?25lExecuting Test_popup_complete()=ListMonths()

June

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               June           

July           -- INSERT --June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       



February       

March          





March          

April          April          

May            May            

June           June           

July           July           

August         =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           =ListMonths()


~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()

June~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJune           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()
ne

~              

~              June           

July           ~              

~              June           

July           -- INSERT --June           

Julyly

~              

~              July           
July           =ListMonths()
ne

~              
June           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December        
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July           =ListMonths()

January

~              

~              

~              January        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July                 
January

~              

~              

~              January        

June           

July           January        =ListMonths()


~              

~              

~              January        

June           

July           =ListMonths()

June~              

~              

~              June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       



February       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       October        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       
Nov

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November         
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October        =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       October        

November       September      

October        =ListMonths()
=ListMonths()
December2015

December~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xDecember       =ListMonths()

March~                                                                               ~              March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()
March~              
March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()

March

~                                                                               ~              

~              March          

May            =ListMonths()
M~              
March          

May            =ListMonths()
M~              
March          

May            Executing Test_popup_complete2()=ListMonths()
Executing Test_popup_completion_insertmode()=ListMonths()
~                                                                               ~                                                                               ~              

~                  January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       
March~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        February       

March          
April

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        March          

April          
May~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        April          

May             
June

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        May            

June           ly

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        June           

July             
August

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        July           

August            
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        August         

September      
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October         
November

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November       
Dec

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       Executing Test_pow()


Executing Test_printf_64bit()


Executing Test_printf_errors()


0

0

1

0

0

Executing Test_printf_float()


0.000000


Executing Test_printf_misc()


Executing Test_printf_spec_b()


Executing Test_printf_spec_s()


Executing Test_ptag_with_notagstack()


Executing Test_read_only()


Executing Test_recursive_delete()
"Xdir1/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written


Executing Test_redefine_dict_func()


Executing Test_ref_job_partial_dict()


Executing Test_reltime()[?12l[?25h


[?25lExecuting Test_repeat_many()[?12l[?25h


[?25lExecuting Test_repeat_three()[?12l[?25h


[?25lExecuting Test_retain_partial()[?12l[?25h


[?25lExecuting Test_round()


Executing Test_script_function_in_dict()


Executing Test_script_function_in_dict_arg()


Executing Test_searchpos()
"one" [New File]

Executing Test_set_add()


Executing Test_set_backslash()


Executing Test_set_reg_null_list()


Executing Test_set_tagcase()


Executing Test_setmatches()


Executing Test_signcolumn()


Executing Test_sin()


Executing Test_sinh()


Executing Test_sort_default()


Executing Test_sort_float()


Executing Test_sort_nested()


Executing Test_sort_numbers()


Executing Test_sort_numeric()


Executing Test_sort_strings()


Executing Test_special_char()


Executing Test_sqrt()


Executing Test_static_tagjump()
"Xfile1" [New File][New] 3L, 18C written


Executing Test_statusline_will_be_disabled_with_error()x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                                                                                                               Executing Test_stop_all_in_callback()[?12l[?25h


[?25lExecuting Test_stop_in_callback()[?12l[?25h


[?25lExecuting Test_stopall()


Executing Test_str2float()


Executing Test_str2nr()


Executing Test_strcharpart()


Executing Test_strgetchar()


Executing Test_substitute_expr()


Executing Test_substitute_expr_arg()


Executing Test_symlink_delete()
"Xfile" [New File][New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written
"Xdir4/Xfile" [New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_syntax_valid()


Executing Test_tabline_will_be_disabled_with_error()                                                                                x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               [No Name]                                                                       Executing Test_tabnext_on_buf_unload1()


Executing Test_tabnext_on_buf_unload2()


"x" [Not edited] --No lines in buffer--
"y" [New File]

Executing Test_tabpage()
"Xtestfile" [New File]

2 fewer lines; before #1  0 seconds ago
"test1" [New File]newfile" [New File]
"test1" [New File]file] --No lines in buffer--F

Executing Test_tabpage_with_autocmd()


Executing Test_tabpage_with_tab_modifier()
"help.txt" [readonly] line 1 of 225 --0%-- col 1


"ex-undo" [New File]


Executing Test_tagcase()
"Xtext" [New File]

Executing Test_tan()


Executing Test_tanh()


Executing Test_thesaurus()


Executing Test_three_windows()
"Xtestje1" [New File][New] 1L, 8C written2" [New File][New] 1L, 8C written3" [New File][New] 1L, 8C written11L, 8C


"Xtestje3" 1L, 8C21L, 8C11L, 8C


"Xanother" [New File]
"Xtestje11L, 8C
"Xanother" [New File]


Already only one window
"help.txt" [readonly] 225L, 8437C


Executing Test_tostring()


Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=

[?25l"colored" [New File]


Executing Test_trunc()


Executing Test_valid()


Executing Test_version()


Executing Test_vim_did_enter()


Executing Test_whichwrap()


Executing Test_win_tab_autocmd()


"somefile" [New File]


Executing Test_window_cmd_cmdwin_with_vsp()


Executing Test_window_cmd_ls0_with_split()


Executing Test_window_cmd_wincmd_gf()
"test_gf.txt" 0L, 0C
W19: Deleting augroup that is still in use
Executing Test_with_directories()"Xdir1/file" [New File]

"Xdir1/file" [New] 2L, 4C written


"Xdir3/Xdir4/file" [New] 2L, 4C written2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File]Executing Test_with_partial_callback()[?12l[?25h[?25ltilde()rong_arguments()
"test_alot.res" [New File]

"test_alot.res"gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_eval.o ex_eval.c
 [New] 0L, 0C written
Executed 245 tests"messages" 584L, 15447C


"messages" 832L, 23479C written


[?1l>[?12l[?25h[?1049l

From test_arglist.vim:
Executing Test_argadd()
Executing Test_argc()
Executing Test_argdelete()
Executing Test_argedit()
Executing Test_argidx()
Executing Test_arglist_autocmd()
Executing Test_arglistid()
Executing Test_argpos()
Executing Test_argument()
Executing Test_argv()
Executing Test_zero_argadd()
Executed 11 tests

From test_assert.vim:
Executing Test_assert_equal()
Executing Test_assert_exception()
Executing Test_assert_fail_fails()
Executing Test_assert_false()
Executing Test_assert_inrange()
Executing Test_assert_notequal()
Executing Test_assert_true()
Executing Test_compare_fail()
Executing Test_match()
Executing Test_notmatch()
Executing Test_user_is_happy()
Executing Test_wrong_error_type()
Executed 12 tests

From test_autochdir.vim:
Executing Test_set_filename()
Executed 1 test

From test_backspace_opt.vim:
Executing Test_backspace_option()
Executed 1 test

From test_breakindent.vim:
Executing Test_breakindent01()
Executing Test_breakindent02()
Executing Test_breakindent03()
Executing Test_breakindent04()
Executing Test_breakindent05()
Executing Test_breakindent06()
Executing Test_breakindent07()
Executing Test_breakindent07a()
Executing Test_breakindent08()
Executing Test_breakindent08a()
Executing Test_breakindent09()
Executing Test_breakindent10()
Executing Test_breakindent11()
Executing Test_breakindent12()
Executing Test_breakindent13()
Executing Test_breakindent14()
Executing Test_breakindent15()
Executing Test_breakindent16()
Executed 18 tests

From test_bufwintabinfo.vim:
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
Executed 3 tests

From test_cdo.vim:
Executing Test_cdo()
Executing Test_ldo()
Executed 2 tests

From test_channel.vim:
Executed 0 test

From test_charsearch.vim:
Executing Test_charsearch()
Executing Test_search_cmds()
Executed 2 tests

From test_cmdline.vim:
Executing Test_complete_list()
Executing Test_complete_tab()
Executing Test_complete_wildmenu()
Executing Test_expand_star_star()
Executing Test_getcompletion()
Executing Test_illegal_address()
Executing Test_paste_in_cmdline()
Executing Test_remove_char_in_cmdline()
Executed 8 tests

From test_command_count.vim:
Executing Test_command_count_0()
Executing Test_command_count_1()
Executing Test_command_count_2()
Executing Test_command_count_3()
Executing Test_command_count_4()
Executed 5 tests

From test_crypt.vim:
Executing Test_crypt_blowfish()
Executing Test_crypt_blowfish2()
Executing Test_crypt_zip()
Executing Test_head_only_2()
Executing Test_head_only_3()
Executing Test_uncrypt_blowfish()
Executing Test_uncrypt_blowfish2()
Executing Test_uncrypt_zip()
Executed 8 tests

From test_cscope.vim:
Executed 0 test

From test_diffmode.vim:
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()
Executing Test_filler_lines()
Executing Test_setting_cursor()
Executing Test_vert_split()
Executed 6 tests

From test_digraph.vim:
Executing Test_digraph_cmndline()
Executing Test_digraphs()
Executing Test_digraphs_option()
Executing Test_digraphs_output()
Executing Test_loadkeymap()
Executed 5 tests

From test_display.vim:
Executing Test_display_foldcolumn()
Executed 1 test

From test_farsi.vim:
Executing Test_farsi_map()
Executing Test_farsi_toggle()
Executed 2 tests

From test_fnameescape.vim:
Executing Test_fnameescape()
Executed 1 test

From test_fold.vim:
Executing Test_address_fold()
Executing Test_indent_fold()
Executing Test_indent_fold2()
Executed 3 tests

From test_gf.vim:
Executing Test_gf_url()
Executed 1 test

From test_gn.vim:
Executing Test_gn_command()
Executed 1 test

From test_gui.vim:
Executed 0 test

From test_hardcopy.vim:
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()
Executed 4 tests

From test_hide.vim:
Executing Test_hide()
Executed 1 test

From test_history.vim:
Executing Test_History()
Executing Test_Search_history_window()
Executed 2 tests

From test_hlsearch.vim:
Executing Test_hlsearch()
Executed 1 test

From test_increment.vim:
Executing Test_normal_increment_01()
Executing Test_normal_increment_02()
Executing Test_normal_increment_03()
Executing Test_visual_increment_01()
Executing Test_visual_increment_02()
Executing Test_visual_increment_03()
Executing Test_visual_increment_04()
Executing Test_visual_increment_05()
Executing Test_visual_increment_06()
Executing Test_visual_increment_07()
Executing Test_visual_increment_08()
Executing Test_visual_increment_09()
Executing Test_visual_increment_10()
Executing Test_visual_increment_11()
Executing Test_visual_increment_12()
Executing Test_visual_increment_13()
Executing Test_visual_increment_14()
Executing Test_visual_increment_15()
Executing Test_visual_increment_16()
Executing Test_visual_increment_17()
Executing Test_visual_increment_18()
Executing Test_visual_increment_19()
Executing Test_visual_increment_20()
Executing Test_visual_increment_21()
Executing Test_visual_increment_22()
Executing Test_visual_increment_23()
Executing Test_visual_increment_24()
Executing Test_visual_increment_25()
Executing Test_visual_increment_26()
Executing Test_visual_increment_27()
Executing Test_visual_increment_28()
Executing Test_visual_increment_29()
Executing Test_visual_increment_30()
Executing Test_visual_increment_31()
Executing Test_visual_increment_32()
Executing Test_visual_increment_33()
Executing Test_visual_increment_34()
Executing Test_visual_increment_35()
Executing Test_visual_increment_36()
Executing Test_visual_increment_37()
Executing Test_visual_increment_38()
Executed 41 tests

From test_increment_dbcs.vim:
Executing Test_increment_dbcs_1()
Executed 1 test

From test_job_fails.vim:
Executing Test_job_start_fails()
Executed 1 test

From test_json.vim:
Executing Test_js_decode()
Executing Test_js_encode()
Executing Test_json_decode()
Executing Test_json_encode()
Executed 4 tests

From test_langmap.vim:
Executing Test_langmap()
Executed 1 test

From test_man.vim:
Executing Test_g_ft_man_open_mode()
Executing Test_nomodifiable()
Executed 2 tests

From test_marks.vim:
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()
Executed 2 tests

From test_matchadd_conceal.vim:
Executing Test_clearmatches()
Executing Test_default_conceal_char()
Executing Test_matchadd_and_conceallevel_3()
Executing Test_matchadd_and_syn_conceal()
Executing Test_matchadd_repeat_conceal_with_syntax_off()
Executing Test_simple_matchadd()
Executing Test_simple_matchadd_and_conceal()
Executing Test_syn_and_match_conceal()
Executing Test_using_matchaddpos()
Executed 9 tests

From test_mksession.vim:
Executing Test_mksession()
Executed 1 test

From test_mksession_utf8.vim:
Executing Test_mksession_utf8()
Executed 1 test

From test_nested_function.vim:
Executing Test_max_nesting()
Executing Test_nested_argument()
Executing Test_nested_functions()
Executed 3 tests

From test_netbeans.vim:
Executed 0 test

From test_normal.vim:
Executing Test_normal00_optrans()
Executing Test_normal01_keymodel()
Executing Test_normal02_selectmode()
Executing Test_normal02_selectmode2()
Executing Test_normal03_join()
Executing Test_normal04_filter()
Executing Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()
Executing Test_normal07_internalfmt()
Executing Test_normal08_fold()
Executing Test_normal09_operatorfunc()
Executing Test_normal09a_operatorfunc()
Executing Test_normal10_expand()
Executing Test_normal11_showcmd()
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
Executing Test_normal14_page()
Executing Test_normal14_page_eol()
Executing Test_normal15_z_scroll_vert()
Executing Test_normal16_z_scroll_hor()
Executing Test_normal17_z_scroll_hor2()
Executing Test_normal18_z_fold()
Executing Test_normal19_z_spell()
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
Executing Test_normal22_zet()
Executing Test_normal23_K()
Executing Test_normal24_rot13()
Executing Test_normal25_tag()
Executing Test_normal26_put()
Executing Test_normal27_bracket()
Executing Test_normal28_parenthesis()
Executing Test_normal29_brace()
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()
Executing Test_normal32_g_cmd1()
Executing Test_normal33_g_cmd2()
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
    Skipped
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()
Executing Test_normal40_ctrl_bsl()
Executing Test_normal41_insert_reg()
Executing Test_normal42_halfpage()
Executing Test_normal43_textobject1()
Executing Test_normal44_textobjects2()
Executing Test_normal45_drop()
Executing Test_normal46_ignore()
Executing Test_normal47_autocmd()
    Skipped
Executing Test_normal47_visual_buf_wipe()
Executing Test_normal48_wincmd()
Executing Test_normal49_counts()
Executing Test_normal50_commandline()
Executing Test_normal51_FileChangedRO()
Executing Test_normal52_rl()
Executing Test_normal53_digraph()
Executing Test_normal54_Ctrl_bsl()
Executed 61 tests
SKIPPED Test_normal35_g_cmd4(): output of g< can't be tested currently
SKIPPED Test_normal47_autocmd(): not possible to test cursorhold autocmd while waiting for input in normal_cmd

From test_packadd.vim:
Executing Test_colorscheme()
Executing Test_colorscheme_completion()
Executing Test_helptags()
Executing Test_packadd()
Executing Test_packadd_completion()
Executing Test_packadd_noload()
Executing Test_packloadall()
Executing Test_runtime()
Executed 8 tests

From test_perl.vim:
Executing Test_SvREFCNT()
Executing Test_VIM_package()
Executing Test_change_buffer()
Executing Test_evaluate_list()
Executing Test_perldo()
Executing Test_perleval()
Executing Test_stdio()
Executed 7 tests

From test_profile.vim:
Executing Test_profile_completion()
Executing Test_profile_errors()
Executing Test_profile_file()
Executing Test_profile_func()
Executed 4 tests

From test_quickfix.vim:
Executing Test_Autocmd()
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Executing Test_browse()
Executing Test_caddbuffer_to_empty()
Executing Test_caddbuffer_wrong()
Executing Test_caddexpr_wrong()
Executing Test_cage()
Executing Test_cbottom()
Executing Test_cbuffer()
Executing Test_cexpr()
Executing Test_cfile()
Executing Test_cgetexpr_works()
Executing Test_clist()
Executing Test_cwindow()
Executing Test_dirstack_cleanup()
Executing Test_duplicate_buf()
Executing Test_efm()
Executing Test_efm1()
Executing Test_efm2()
Executing Test_efm_dirstack()
Executing Test_efm_ignore_continuations()
Executing Test_errortitle()
Executing Test_grep()
Executing Test_helpgrep()
Executing Test_history()
Executing Test_invalid_efm()
Executing Test_locationlist()
Executing Test_locationlist_cross_tab_jump()
Executing Test_locationlist_curwin_was_closed()
Executing Test_long_lines()
Executing Test_nomem()
Executing Test_qf_property()
Executing Test_qf_title()
Executing Test_quickfix_set_list_with_act()
Executing Test_quickfix_was_changed_by_autocmd()
Executing Test_setqflist()
Executing Test_setqflist_empty_middle()
Executing Test_setqflist_empty_older()
Executing Test_switchbuf()
Executing Test_two_windows()
Executing Test_vimgreptitle()
Executed 42 tests

From test_ruby.vim:
Executing Test_ruby_change_buffer()
Executing Test_ruby_evaluate_dict()
Executing Test_ruby_evaluate_list()
Executed 3 tests

From test_search.vim:
Executing Test_search_cmdline()
Executing Test_search_cmdline2()
Executing Test_searchpair()
Executing Test_use_sub_pat()
Executed 4 tests

From test_signs.vim:
Executing Test_sign()
Executing Test_sign_completion()
Executing Test_sign_delete_buffer()
Executing Test_sign_invalid_commands()
Executing Test_sign_undefine_still_placed()
Executed 5 tests

From test_smartindent.vim:
Executing Test_nosmartindent()
Executed 1 test

From test_startup.vim:
Executing Test_after_comes_later()
Executing Test_compatible_args()
Executing Test_file_args()
Executing Test_help_arg()
Executing Test_read_stdin()
Executing Test_startup_script()
Executing Test_startuptime()
Executed 7 tests

From test_startup_utf8.vim:
Executing Test_read_fifo_utf8()
Executing Test_read_stdin_utf8()
Executed 2 tests

From test_stat.vim:
Executing Test_checktime()
Executing Test_existent_directory()
Executing Test_existent_file()
Executing Test_nonexistent_file()
Executing Test_win32_symlink_dir()
Executed 5 tests

From test_substitute.vim:
Executing Test_multiline_subst()
Executed 1 test

From test_syntax.vim:
Executing Test_syn_iskeyword()
Executing Test_syntax_after_reload()
Executing Test_syntax_completion()
Executing Test_syntax_list()
Executing Test_syntime()
Executed 5 tests

From test_system.vim:
Executing Test_System()
Executing Test_system_exmode()
Executed 2 tests

From test_textobjects.vim:
Executing Test_inner_block_with_cpo_M_left_backslash()
Executing Test_inner_block_with_cpo_M_right_backslash()
Executing Test_inner_block_without_cpo_M()
Executed 3 tests

From test_undo.vim:
Executing Test_U_command()
Executing Test_global_local_undolevels()
Executing Test_insert_expr()
Executing Test_undo_del_chars()
Executing Test_undo_write()
Executing Test_undofile_earlier()
Executing Test_undojoin()
Executing Test_undolist()
Executing Test_undotree()
Executed 9 tests

From test_usercommands.vim:
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
Executed 3 tests

From test_viminfo.vim:
Executing Test_cmdline_history()
Executing Test_cmdline_history_order()
Executing Test_global_vars()
Executing Test_viminfo_bad_syntax()
Executing Test_viminfo_encoding()
Executing Test_viminfo_file_mark_tabclose()
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
Executing Test_viminfo_jumplist()
Executing Test_viminfo_marks()
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
Executed 13 tests

From test_viml.vim:
Executing Test_arg_abort()
Executing Test_braces_skipped()
Executing Test_curlies()
Executing Test_defining_functions()
Executing Test_echo_and_string()
Executing Test_endwhile_function()
Executing Test_endwhile_script()
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
Executing Test_func_abort()
Executing Test_if_bar_fail()
Executing Test_if_fail()
Executing Test_if_while()
Executing Test_num64()
Executing Test_return()
Executing Test_script_lines()
Executing Test_skip()
Executing Test_type()
Executing Test_while_fail()
Executed 21 tests

From test_visual.vim:
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()
Executed 2 tests

From test_window_id.vim:
Executing Test_win_getid()
Executing Test_win_getid_curtab()
Executed 2 tests

From test_writefile.vim:
Executing Test_WriteFile()
Executed 1 test

From test_alot_latin.vim:
Executing Test_eow_with_optional()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_nested_backrefs()
Executing Test_recursive_substitute()
Executed 5 tests

From test_alot_utf8.vim:
Executing Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()
Executing Test_source_latin()
Executing Test_source_utf8()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executed 9 tests

From test_alot.vim:
Executing Test_BufEnter()
Executing Test_abbreviation()
Executing Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
Executing Test_augroup_warning()
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
Executing Test_autocmd_bufunload_avoiding_SEGV_02()
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
Executing Test_bind_in_python()
Executing Test_break_undo()
Executing Test_bufunload()
Executing Test_cancel_ptjump()
Executing Test_caught_error_in_statusline()
Executing Test_caught_error_in_tabline()
Executing Test_ceil()
Executing Test_closure_counter()
Executing Test_closure_refcount()
Executing Test_closure_unlet()
Executing Test_color_names()
Executing Test_compare_null_dict()
Executing Test_compare_partials()
Executing Test_compl_vim_cmds_after_register_expr()
Executing Test_complete_no_undo()
Executing Test_completefunc_opens_new_window_one()
Executing Test_completefunc_opens_new_window_two()
Executing Test_completefunc_with_scratch_buffer()
Executing Test_completefunc_works()
Executing Test_completion_ctrl_e_without_autowrap()
Executing Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()
Executing Test_cursorhold_insert_ctrl_x()
Executing Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()
Executing Test_cycle_partial_job()
Executing Test_cyclic_dict_arg()
Executing Test_cyclic_list_arg()
Executing Test_delete_myself()
Executing Test_dict()
Executing Test_dictionary()
Executing Test_dir_delete()
Executing Test_early_bar()
Executing Test_empty_buffer()
Executing Test_empty_doau()
Executing Test_equal()
Executing Test_ex_undo()
Executing Test_execute_list()
Executing Test_execute_string()
Executing Test_existing()
Executing Test_exp()
Executing Test_expand()
Executing Test_feedkeys_x_with_empty_string()
Executing Test_file_delete()
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
Executing Test_filetype_valid()
Executing Test_filter()
Executing Test_filter_cmd_completion()
Executing Test_filter_fails()
Executing Test_filter_map_dict_expr_funcref()
Executing Test_filter_map_dict_expr_string()
Executing Test_filter_map_list_expr_funcref()
Executing Test_filter_map_list_expr_string()
Executing Test_floor()
Executing Test_fmod()
Executing Test_fnamemodify()
Executing Test_func_unref()
Executing Test_funcref()
Executing Test_function_in_dict()
Executing Test_function_with_funcref()
Executing Test_gD()
Executing Test_gD_char()
Executing Test_gD_comment()
Executing Test_gD_inline_comment()
Executing Test_gD_string()
Executing Test_gD_string_same_line()
Executing Test_gD_too()
Executing Test_gd()
Executing Test_gd_comment()
Executing Test_gd_comment_in_string()
Executing Test_gd_inline_comment()
Executing Test_gd_inline_comment_body()
Executing Test_gd_inline_comment_only()
Executing Test_gd_kr_style()
Executing Test_gd_missing_braces()
Executing Test_gd_not_local()
Executing Test_gd_string()
Executing Test_gd_string_in_comment()
Executing Test_gd_string_only()
Executing Test_gd_trailing_comment()
Executing Test_gd_trailing_multiline_comment()
Executing Test_get_partial_items()
Executing Test_getreg_empty_list()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
Executing Test_help_tagjump()
Executing Test_if()
Executing Test_info()
Executing Test_invalid()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
Executing Test_lambda_call_lambda_from_lambda()
Executing Test_lambda_capture_by_reference()
Executing Test_lambda_circular_reference()
Executing Test_lambda_closure_counter()
Executing Test_lambda_combination()
Executing Test_lambda_delfunc()
Executing Test_lambda_do_not_share_local_variable()
Executing Test_lambda_fails()
Executing Test_lambda_feature()
Executing Test_lambda_refer_local_variable_from_other_scope()
Executing Test_lambda_scope()
Executing Test_lambda_share_scope()
Executing Test_lambda_side_effect()
Executing Test_lambda_with_a_var()
Executing Test_lambda_with_filter()
Executing Test_lambda_with_map()
Executing Test_lambda_with_partial()
Executing Test_lambda_with_sort()
Executing Test_lambda_with_timer()
Executing Test_load_menu()
Executing Test_log()
Executing Test_log10()
Executing Test_loop_over_null_list()
Executing Test_map_ctrl_c_insert()
Executing Test_map_ctrl_c_visual()
Executing Test_map_cursor()
Executing Test_map_feedkeys()
Executing Test_map_langmap()
Executing Test_map_meta_quotes()
Executing Test_match()
Executing Test_matchaddpos()
Executing Test_matchaddpos_using_negative_priority()
Executing Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
Executing Test_missing_attr()
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()
Executing Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
Executing Test_oneshot()
Executing Test_option_value()
Executing Test_options()
Executing Test_partial_args()
Executing Test_partial_dict()
Executing Test_partial_exists()
Executing Test_partial_implicit()
Executing Test_partial_string()
Executing Test_path_keep_commas()
Executing Test_paused()
Executing Test_popup_complete()
Executing Test_popup_complete2()
Executing Test_popup_completion_insertmode()
Executing Test_pow()
Executing Test_printf_64bit()
Executing Test_printf_errors()
Executing Test_printf_float()
Executing Test_printf_misc()
Executing Test_printf_spec_b()
Executing Test_printf_spec_s()
Executing Test_ptag_with_notagstack()
Executing Test_read_only()
Executing Test_recursive_delete()
Executing Test_redefine_dict_func()
Executing Test_ref_job_partial_dict()
Executing Test_reltime()
Executing Test_repeat_many()
Executing Test_repeat_three()
Executing Test_retain_partial()
Executing Test_round()
Executing Test_script_function_in_dict()
Executing Test_script_function_in_dict_arg()
Executing Test_searchpos()
Executing Test_set_add()
Executing Test_set_backslash()
Executing Test_set_reg_null_list()
Executing Test_set_tagcase()
Executing Test_setmatches()
Executing Test_signcolumn()
Executing Test_sin()
Executing Test_sinh()
Executing Test_sort_default()
Executing Test_sort_float()
Executing Test_sort_nested()
Executing Test_sort_numbers()
Executing Test_sort_numeric()
Executing Test_sort_strings()
Executing Test_special_char()
Executing Test_sqrt()
Executing Test_static_tagjump()
Executing Test_statusline_will_be_disabled_with_error()
Executing Test_stop_all_in_callback()
Executing Test_stop_in_callback()
Executing Test_stopall()
Executing Test_str2float()
Executing Test_str2nr()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executing Test_substitute_expr()
Executing Test_substitute_expr_arg()
Executing Test_symlink_delete()
Executing Test_symlink_dir_delete()
Executing Test_symlink_recursive_delete()
Executing Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()
Executing Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
Executing Test_tabpage()
Executing Test_tabpage_with_autocmd()
Executing Test_tabpage_with_tab_modifier()
Executing Test_tagcase()
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
Executing Test_tostring()
Executing Test_true_false_arg()
Executing Test_trunc()
Executing Test_valid()
Executing Test_version()
Executing Test_vim_did_enter()
Executing Test_whichwrap()
Executing Test_win_tab_autocmd()
Executing Test_window_cmd_cmdwin_with_vsp()
Executing Test_window_cmd_ls0_with_split()
Executing Test_window_cmd_wincmd_gf()
Executing Test_with_directories()
Executing Test_with_partial_callback()
Executing Test_with_tilde()
Executing Test_wrong_arguments()
Executed 245 tests

Test results:
ALL DONE
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk/testdir'
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json_test.o json_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ex_getln.o ex_getln.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o json_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/memfile.o objects/message.o objects/json_test.o   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./json_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile_test.o memfile_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/farsi.o farsi.c
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o memfile_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/message.o objects/memfile_test.o   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fileio.o fileio.c
link.sh: Linked fine
./memfile_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message_test.o message_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/freetype2 -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/fold.o fold.c
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o message_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/memfile.o objects/message_test.o   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./message_test || exit 1; echo  passed;
passed
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk'
touch build-stamp-vim-gtk
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/getchar.o getchar.c
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3'
/usr/bin/make -f Makefile vim
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3'
make[2]: 'vim' is up to date.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3'
if test -n "yes" -a -f po/Makefile; then \
	cd po; /usr/bin/make -f Makefile check VIM=../vim; \
fi
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3/po'
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq af.po
touch af.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ca.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hardcopy.o hardcopy.c
touch ca.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.po
touch cs.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq de.po
dh_testdir
dh_prep
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/hashtab.o hashtab.c
/usr/bin/make -C src/vim-basic xxd/xxd
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic'
make[1]: 'xxd/xxd' is up to date.
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic'
touch build-stamp-xxd
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_cscope.o if_cscope.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/if_xcmdsrv.o if_xcmdsrv.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/list.o list.c
touch de.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.po
touch en_GB.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq eo.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mark.o mark.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memline.o memline.c
touch eo.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq es.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/menu.o menu.c
touch es.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fi.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc1.o misc1.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/misc2.o misc2.c
touch fi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fr.po
touch fr.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ga.po
touch ga.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq it.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/move.o move.c
touch it.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/mbyte.o mbyte.c
touch ja.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/normal.o normal.c
touch ko.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.UTF-8.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ops.o ops.c
touch ko.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nb.po
touch nb.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nl.po
touch nl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq no.po
touch no.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -I/usr/include/lua5.2 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE   -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE -I/usr/include/ruby-2.3.0 -I/usr/include/arm-linux-gnueabihf/ruby-2.3.0 -DRUBY_VERSION=23 -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -o objects/option.o option.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/os_unix.o os_unix.c
touch pl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pt_BR.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/pathdef.o auto/pathdef.c
touch pt_BR.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE  -o objects/if_perl.o auto/if_perl.c
touch ru.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.po
touch sk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sv.po
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
touch sv.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.po
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o vim objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o  objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/main.o objects/memfile.o objects/message.o        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox'
# Ensure ERM is set to a sane value for testing
[ yes != "yes" ] || flock debian env TERM=xterm /usr/bin/make -j1 -C src/vim-nox test
touch uk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq vi.po
touch vi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.UTF-8.po
touch zh_CN.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.po
touch zh_CN.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.UTF-8.po
touch zh_TW.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.po
touch zh_TW.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.cp1250.po
touch cs.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.sjis.po
touch ja.sjis.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.euc-jp.po
touch ja.euc-jp.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.cp1250.po
touch pl.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.UTF-8.po
touch pl.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.cp1251.po
touch ru.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.cp1250.po
touch sk.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.cp1251.po
touch uk.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.cp936.po
touch zh_CN.cp936.ck
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3/po'
if test vim != vim -a ! -r vim; then \
	ln -s vim vim; \
fi
cd testdir; /usr/bin/make -f Makefile gui VIMPROG=../vim  SCRIPTSOURCE=../../runtime
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-gtk3/testdir'
rm -f test.log messages
rm -rf test1.failed test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out wrongtermsize
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test1.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test1.in" 57 lines, 2069 charactersFirst a simple test to check if the test script works.



If Vim was not compiled with the +eval feature, the small.vim script will be

set to copy the test.ok file to test.out, so that it looks like the test

succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by

tests that require the +eval feature or other features that are missing in the

small version.



If Vim was not compiled with the +windows feature, the tiny.vim script will be

set like small.vim above.  tiny.vim is sourced by tests that require the

+windows feature or other features that are missing in the tiny version.



If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will

be set like small.vim above.  mbyte.vim is sourced by tests that require the

+multi_byte feature.

Similar logic is applied to the +mzscheme feature, using mzscheme.vim.

Similar logic is applied to the +lua feature, using lua.vim.



STARTTEST

:" If columns or lines are too small, create wrongtermsize.

:" (Some tests will fail. When columns and/or lines are small)

:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 1133 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST:w! mzscheme.vim

:w! lua.vim

:"

:" If +multi_byte feature supported, make mbyte.vim empty.

:if has("multi_byte") | sp another | w! mbyte.vim | q | endif

:"

:" If +mzscheme feature supported, make mzscheme.vim empty.

:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif

:"

:" If +lua feature supported, make lua.vim empty.

:if has("lua") | sp another | w! lua.vim | q | endif

:"

:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.

:" Otherwise write small.vim to skip the test.

:if 1 | q! | endif

:w! small.vim

:" If +windows feature not supported :sp will fail and tiny.vim will be

:" written to skip the test.

:sp another

:wq! tiny.vim

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[?12l[?25h[?25l:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[?12l[?25h[?25l:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lthis is a test[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 15 characters written[?12l[?25h[?25l:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[?12l[?25h
[?25l[?12l[?25h[?25l:[?12l[?25hw! small.vim
[?25l"small.vim" [New File] 1 line, 1 character written[?12l[?25h[?25l:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [New File] 1 line, 1 character written[?12l[?25h[?25le! test.ok

w! test.outqa![?12l[?25h[?25l:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! lua.vim
[?25l"lua.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File]

"mbyte.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File]

"lua.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[?12l[?25h[?25l:[?12l[?25hif 1 | q! | endif
[?25l[?1l>[?12l[?25h[?1049lrm -rf X* viminfo
rm -rf test3.failed test.ok test.out X* viminfo
cp test3.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test3.in" 2342 lines, 23089 characters/* vim: set cin ts=4 sw=4 : */



Test for 'cindent'



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo modeline

:edit" read modeline

/start of AUTO

=/end of AUTO

ENDTEST



/* start of AUTO matically checked vim: set ts=4 : */

{if (test)cmd1;cmd2;

}



{if (test)cmd1;else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l/* vim: set cin ts=4 sw=4 : */[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[?12l[?25h[?25l:[?12l[?25hedit                " read modeline
[?25l"test3.in"2342L, 23089Cif (test)cmd1;cmd2;if (test)cmd1;else[?12l[?25h[?25l/[?12l[?25hstart of AUTO
[?25l[?12l[?25h[?25l/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent... 
957 lines indented [?12l[?25h[?25l/^STARTTEST
}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 93C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h[?25l/[?12l[?25hserious/e
[?25l[?12l[?25h[?25l





-- INSERT --

about life, the

 * universe, and the

 * rest important big[?12l[?25h[?25l

* comment[?12l[?25h[?25l

/^STARTTEST
*/

    /* insert " about life, the universe, and the rest" after "serious" */

}



STARTTEST[?12l[?25h[?25l

:set nocin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6L, 78C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comments

joabout life^[/happens

jothere^[/below

oline^[/this

Ohello^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocin
[?25l[?12l[?25h[?25l/[?12l[?25hcomments
[?25l{

    /** Testing for comments, without 'cin' set[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

about life[?12l[?25h[?25l

/[?12l[?25hhappens
[?25l/*

* what happens here?[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

there[?12l[?25h[?25l

/[?12l[?25hbelow
[?25l/*the end of the comment, try inserting a line below */[?12l[?25h[?25l

-- INSERT --

line[?12l[?25h[?25l

/[?12l[?25hthis
[?25l/* how aboutthis one */[?12l[?25h[?25l

-- INSERT --hello[?12l[?25h[?25l

this one */[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 18C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/vec2

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l/[?12l[?25hvec2
[?25l{

    var = this + that + vec[0] * vec[0]+ vec[1] * vec[1]+ vec2[2] * vec[2];[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5L, 51C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=}4

/testing1

k2==/testing2

k2==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=}4
[?25l[?12l[?25h[?25l/[?12l[?25htesting1
[?25l{asdf asdflkajds f;

    if (tes & ting) {asdf asdf asdf ;asdfa sdf asdf;}

    testing1;[?12l[?25h [?25l



/[?12l[?25htesting2
[?25lif (tes & ting)

    {asdf asdf asdf ;asdfa sdf asdf;}

    testing2;[?12l[?25h [?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=(0,)20

/main

=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=(0,)20
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25lmain ( int first_par, /*[?12l[?25h[?25l

19 lines to indent...
20indented [?12l[?25h[?25l

* Comment for[?12l[?25h[?25l

/^STARTTEST
* Comment for* first par*/second_par /** Comment for* second par*/);



}



STARTTEST

:set cin

:set cino=es,n0s

/main

=][

ENDTEST



main(void)

{

    /* Make sure that cino=X0s is not parsed like cino=Xs. */

    if (cond)foo();[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=es,n0s
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25l[?12l[?25h[?25l8 lines to indent...
9indented [?12l[?25h

[?25l/^STARTTEST
else

    {bar();

    }

}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l{[?12l[?25h[?25l

11 lines to indent...
12indented [?12l[?25h[?25l

do[?12l[?25h[?25l

/^STARTTEST
if (){if ()asdf;elseasdf;}

    } while ();

    cmd;/* this should go under the } */

}



STARTTEST

]]=][

ENDTEST



void f()

{

    if ( k() ) {l();} else { /* Start (two words) end */m();

    }[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1L, 6C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h





[?25l8 lines to indent...
9indented [?12l[?25h

   [?25l/^STARTTEST
n();

}



STARTTEST[?12l[?25h[?25l

:set cino={s,e-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,e-s
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

7 lines to indent...
8indented     {[?12l[?25h[?25l

if ( k() )[?12l[?25h[?25l

/^STARTTEST
{l();} else { /* Start (two words) end */m();}

    n();    /* should be under the if () */

}



STARTTEST[?12l[?25h[?25l

:set cino={s,fs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=/ foo[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,fs
[?25l[?12l[?25h[?25lvoid bar(void)

{[?12l[?25h[?25l

/[?12l[?25h foo
[?25l30 lines to indent...
31indented     {[?12l[?25h[?25l/^STARTTEST
void func(void)

    {

    a = 1;{b = 2;}

    c = 3;

    d = 4;

    }

/* foo */



STARTTEST

:set cino=

/while

ohere^[

ENDTEST



a()

{

  do {

    a = a +a;

  } while ( a );/* add text under this line */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l/[?12l[?25hwhile
[?25l[?12l[?25h[?25l

-- INSERT --

here[?12l[?25h[?25l

if ( a )
    i[?12l[?25h[?25l

/^STARTTEST
a;

}



STARTTEST[?12l[?25h[?25l

:set cino= com=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 109C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comment

olabel2: b();^Mlabel3 /* post */:^M/* pre */ label4:^Mf(/*com*/);^Mif (/*com*/)^^Mcmd();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino= com=
[?25l[?12l[?25h[?25l/[?12l[?25hcomment
[?25la()

{

label1:/* hmm */// comment[?12l[?25h[?25l

-- INSERT --label2: b();

label3 /* post */:

/* pre */ label4:f(/*com*/);if (/*com*/)cmd();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 53C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/simple

=5j[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[?12l[?25h[?25l/[?12l[?25hsimple
[?25l/*

  * A simple comment[?12l[?25h[?25l

5 lines to indent...
6indented * A simple comment[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
/*

** A different comment

*/



STARTTEST[?12l[?25h[?25l

:set cino=c0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 70C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=c0,C1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 73C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0,C1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********

    A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 17C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,U1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,U1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,w1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,w1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3) && c4;

    if (c1 && c2)foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,m1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,m1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3

    ) && c4;

    if (c1 && c2

    )foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=b1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=b1
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

9 lines to indent...
10 lines indented [?12l[?25h[?25l

switch (x)[?12l[?25h[?25l

/^STARTTEST
{case 1:a = b;break;default:a = 0;break;

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W5
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W5
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

10 lines to indent...
11indented [?12l[?25h[?25l

invokeme([?12l[?25h[?25l

/^STARTTEST
argu,ment);

    invokeme(argu,ment);

    invokeme(argu,ment);

}



STARTTEST[?12l[?25h[?25l

:set cino=/6
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=/6
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

3 lines to indent...
4indented [?12l[?25h[?25l

statement;[?12l[?25h[?25l

/^STARTTEST
// comment 1// comment 2

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 34C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-12kdd]]/comment 1/+1

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l==ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

/[?12l[?25hcomment 1/+1
[?25lstatement;// comment 1

    // comment 2[?12l[?25h[?25l    // comment 2[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino=g0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=g0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass CAbc

{[?12l[?25h[?25l

6 lines to indent...
7indented [?12l[?25h[?25l

int Test() { return FALSE; }[?12l[?25h[?25l

/^STARTTEST
public: // comment

    void testfall();

protected:

    void testfall();

};



STARTTEST[?12l[?25h[?25l

:set cino=(0,gs,hs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 29C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,gs,hs
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass Foo : public Bar

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

public:[?12l[?25h[?25l

/^STARTTEST
virtual void method1(void) = 0;virtual void method2(int arg1,int arg2,int arg3) = 0;

};



STARTTEST[?12l[?25h[?25l

:set cino=+20
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 24C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=+20
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid

foo()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (a)[?12l[?25h[?25l

/^STARTTEST
{

    } elseasdf;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W2s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W2s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25l

{[?12l[?25h[?25l

34 lines to indent...
35indented [?12l[?25h[?25l

averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([?12l[?25h[?25l

/^STARTTEST
dec)->asdfasdfasdf(asdfadsf,asdfasdf,asdfasdf,),func(asdfadf,asdfasdf),asdasdf);

}



STARTTEST

:set cino=M1

2kdd]]=][

ENDTEST



int main ()

{

    if (cond1 &&cond2)foo;

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=M1
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l4 lines to indent...
5indented [?12l[?25h

   [?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set cino=(0,ts
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,ts
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

7 lines to indent...
8indented [?12l[?25h[?25l

void func(int a[?12l[?25h[?25l

/^STARTTEST
#if defined(FOO), int b, int c

#endif)

{

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void[?12l[?25h[?25l

/^STARTTEST
func(int a

#if defined(FOO), int b, int c

#endif

    )

{

}



STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 22C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=7][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=7][

ENDTEST[?12l[?25h



[?25l

69 lines to indent...
50
7indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
int a,int b)

{

}void

func6(int a)

{

}



STARTTEST

:set cino&

:set cino+=l1

2kdd2j=][

ENDTEST



void func(void)

{

    int tab[] =

    {1, 2, 3,4, 5, 6};[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l:[?12l[?25hset cino+=l1
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l22 lines to indent...
23indented [?12l[?25h

[?25l/^STARTTEST
break;case baz: {printf("baz");break;}case quux:printf("But don't break the indentation of this instruction\n");break;

    }

}



STARTTEST

:set cino&

2kdd2j=][

ENDTEST



void func(void)

{

    cout << "a"

    << "b"

    << ") :"

    << "c";

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l6 lines to indent...
7indented     << "b"

        << ") :"

        << "c";[?12l[?25h

[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]3jofoo();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[?12l[?25h[?25lvoid func(void)

{[?12l[?25h[?25l/** This is a comment.*/[?12l[?25h[?25l

-- INSERT --

foo();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
{

    for (int i = 0; i < 10; ++i)if (i & 1) {foo(1);} elsefoo(0);

    baz();

}



STARTTEST[?12l[?25h[?25l

:set cino=k2s,(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd3j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0
[?25l[?12l[?25h[?25l2kdd3j=][ENDTEST[?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

23 lines to indent...
24indented [?12l[?25h[?25l

{[?12l[?25h[?25l

/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func( c1&& (     c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l23 lines to indent...
24indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s,U1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s,U1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l24 lines to indent...
25indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (c22345|| c3))printf("foo\n");c = c1 &&(c2 ||c3) && c4;

}



STARTTEST

:set cino=k2s,(0,W4

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,W4
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l29 lines to indent...
30indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (   c2|| c3))foo;a_long_line(argument,argument);

    a_short_line(argument,argument);

}



STARTTEST

:set cino=k2s,u2

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,u2
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l18 lines to indent...
19indented         && condition2)

        action();        && argument2);[?12l[?25h

[?25l/^STARTTEST
foo;

    if (c1 &&(c2 || c3))

    {

    }

    if (c123456789&& (c22345|| c3))printf("foo\n");

}



STARTTEST

:set cino=k2s,(0,w1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,w1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l27 lines to indent...
28indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1&& condition2)action();

    function(argument1&& argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l14 lines to indent...
15indented [?12l[?25h

[?25l/^STARTTEST
if (c1 && (c2 ||c3))foo;

    if (c1 &&(c2 || c3))

    {

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=N-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 47C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^NAMESPACESTART

=/^NAMESPACEEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=N-s
[?25l[?12l[?25h[?25l/[?12l[?25h^NAMESPACESTART
[?25lNAMESPACESTART[?12l[?25h[?25l

/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82indented [?12l[?25h[?25l/^STARTTEST
namespace test test2

{

    1111111111111111111;

}

namespace111111111

{

    111111111111111111;

}

NAMESPACEEND





STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

var bar = {

foo: {

that: this,

some: ok,

},[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l12 lines to indent...
13indented     foo: {

        that: this,

        some: ok,

    },[?12l[?25h[?25l/^STARTTEST
"bar":{a : 2,b: "123abc",x: 4,"y": 5

    }

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l5 lines to indent...
6indented [?12l[?25h[?25l/^STARTTEST
var foo = [

    1,

    2,

    3

];

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l7 lines to indent...
8indented [?12l[?25h[?25l/^STARTTEST
function bar() {

    var foo = [1,2,3

    ];

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l58 lines to indent...
509indented [?12l[?25h[?25l/^STARTTEST
return false;}_arguments[0]=options;method.apply(this,_arguments);}});

    }



})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

function init(options) {

$(this).data(class_name+'_public',$.extend({},{

foo: 'bar',

bar: 2,

foobar: [[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l14 lines to indent...
15indented     $(this).data(class_name+'_public',$.extend({},{

        foo: 'bar',

        bar: 2,

        foobar: [[?12l[?25h[?25l/^STARTTEST
1,2,3],callback: function(){return true;}

    }, options||{}));

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l16 lines to indent...
17indented [?12l[?25h[?25l/^STARTTEST
2,3],callback: function(){return true;}}, options||{}));

    }

})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1,+2

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

// Results of JavaScript indent

// 1

(function(){

var a = [

'a',[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1,+2
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent... 
150 lines indented     var a = [

      'a',[?12l[?25h[?25l/^STARTTEST
var a,

    b,

    c,

    d,

    e,

    f,

    g,

    h,

    i;

JSEND



STARTTEST

:set cin cino&

/start of define

=/end of define

ENDTEST



/* start of define */

{

}

#define AAA \

BBB\

CCC[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 48C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin cino&
[?25l[?12l[?25h[?25l/[?12l[?25hstart of define
[?25l[?12l[?25h[?25l/[?12l[?25hend of define
[?25l11 lines to indent...
12indented     BBB\

    CCC[?12l[?25h[?25l/^STARTTEST
#define CNT \

    1 + \

    2 + \

    4

/* end of define */



STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 61C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines    c,

    d,

    e,    f,    g,    h,    i;JSEND/* start of define */

{}#define AAA \

    BBB\

    CCC#define CNT \

    1 + \

    2 + \4

/* end of define */[?12l[?25h[?25l:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [New] 2096L, 20188C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test3 = test61; then \
#	  if diff test.out test3.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test3.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test4.failed test.ok test.out X* viminfo
cp test4.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test4.in" 34 lines, 960 charactersTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew

/start of

:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx" split to Xxx, autocmd will do :brew

G?this is a

othis should be auto-indented^[

:" Append text with autoindent to this file

:au! BufEnter Xxx

:buf Xxx" go to Xxx, no autocmd anymore

G?this is a

othis should be in column 1^[:wq " append text without autoindent to Xxx

G:r Xxx" include Xxx in the current file

:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is sset

Go# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes current buffer on BufEnter event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 20 lines, 678 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:?startstart?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter Xxx brew
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25lstartstart

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx   " write test file Xxx
[?25l"Xxx" [New] 7L, 124C written[?12l[?25h[?25l:[?12l[?25hset ai modeline modelines=3
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xxx             " split to Xxx, autocmd will do :brew
[?25l"Xxx" 7L, 124CTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.STARTTESTo small.vim:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew/start of.,/end of/w!" write test file Xxx

:set ai modeline modelines=3:sp Xxx    " split to Xxx, autocmd will do :brew

test4.in                                                                        :set fo+=rssue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.outqa!ENDTESTstartstart of test file Xxx

test4.in                                                                        test4.in" line 1 of 34 --2%-- col 1[?12l[?25h[?25l:qa!ENDTESTstartstart

start of test file Xxx

vim: set noai :        this is a test

        this is a test

        this is a test        this is a testend of test file Xxx[?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --        this should be auto-indented[+][+][?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l:[?12l[?25h                   " Append text with autoindent to this file
[?25l[?12l[?25h[?25l:[?12l[?25hau! BufEnter Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hbuf Xxx            " go to Xxx, no autocmd anymore
[?25l"Xxx" 7L, 124Cstart of test file Xxx

vim: set noai :

        this is a test

        this is a test

        this is a test



end of test file Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxxt          [?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --this should be in column 1[+][?12l[?25h[?25l:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx8L, 151C written:au BufEnter Xxx brew/start of:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx             " split to Xxx, autocmd will do :brew

G?this is aothis should be auto-indented^[

:                   " Append text with autoindent to this file

:au! BufEnter Xxx:buf Xxx            " go to Xxx, no autocmd anymoreG?this is aothis should be in column 1^[:wq " append text without autoindent to XxxG:r Xxx   nclude Xxx in the current file:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.out

:qa!ENDTESTstarstart of test file Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a testthis should be auto-indented

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25hr Xxx             " include Xxx in the current file
[?25l"Xxx" 8L, 151C

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25hset fo+=r          " issue #57 do not move cursor on <c-o> when autoindent is 


set
[?25l:au! BufEnter Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

this should be in column 1

end of test file Xxx
[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --

# def[?12l[?25h[?25lINSERTt --defo[?12l[?25hd[?25l[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --[?12l[?25h[?25l

-- INSERTt --def:[?12l[?25hd[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [New] 20L, 330C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test4 = test61; then \
#	  if diff test.out test4.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test4.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test5.failed test.ok test.out X* viminfo
cp test5.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test5.in" 29 lines, 949 charactersTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.



STARTTEST

:so small.vim

:au BufLeave Xxx bwipe

/start of

:.,/end of/w! Xxx" write test file Xxx

:sp Xxx" split to Xxx

:bwipe" delete buffer Xxx, now we're back here

G?this is a

othis is some more text^[

:" Append some text to this file

:?start?,$w! test.out" Write current file contents

:bwipe test.out" delete alternate buffer

:au bufleave test5.in bwipe

:bwipe!" delete current buffer, get an empty one

ithis is another test line^[:w >>test.out

:" append an extra line to the output file

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that deletes the current buffer on BufLeave event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 664 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave Xxx bwipe
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25l[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx               " write test file Xxx
[?25l"Xxx" [New File] 7 lines, 124 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx                         " split to Xxx
[?25l"Xxx" 7 lines, 124 charactersstart of test file Xxxvim: set noai :this is a test

        this is a test

        this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx                                                                             ?start?,$w! test.outWrite current file contentsbwipe test.out      delete alternate bufferau bufleave test5.in bwipebwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out:                               " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx

test5.in                                                                        [?12l[?25h[?25l:[?12l[?25hbwipe                          " delete buffer Xxx, now we're back here
[?25lTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.STARTTEST:so small.vim:au BufLeave Xxx bwipe

/start of:.,/end of/w! Xxx               " write test file Xxx:sp Xxx                         " split to Xxx:bwipe                          " delete buffer Xxx, now we're back hereG?this is aothis is some more text^[                    Append some text to this file

:?start?,$w! test.outWrite current file contents

:bwipe test.out                 " delete alternate buffer

:au bufleave test5.in bwipe:bwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out   " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx"test5.in" line 23 of 29 --79%-- col 1[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

end of test file Xxx[?12l[?25h[?25l

?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l

this is some more text[?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25h                               " Append some text to this file
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out           " Write current file contents
[?25l"test.out" [New File] 8 lines, 147 characters written[?12l[?25h[?25l:[?12l[?25hbwipe test.out                 " delete alternate buffer
[?25l[?12l[?25h[?25l:[?12l[?25hau bufleave test5.in bwipe
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!                         " delete current buffer, get an empty one
[?25lError detected while processing BufLeave Auto commands for "test5.in":

E89: No write since last change for buffer 1 (add ! to override)


Press ENTER or type command to continue[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lthis is another test line[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 26 characters appended[?12l[?25h[?25l:[?12l[?25h                               " append an extra line to the output file
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test5 = test61; then \
#	  if diff test.out test5.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test5.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test7.failed test.ok test.out X* viminfo
cp test7.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test7.in" 26 lines, 675 charactersTest for autocommand that changes the buffer list, when doing ":ball".



STARTTEST

:so small.vim

/^start of

A1^[:.,/end of/w! Xxx1   " write test file Xxx1

:sp Xxx1

:close

$r2:.,/end of/w! Xxx2    " write test file Xxx2

:sp Xxx2

:close

$r3:.,/end of/w! Xxx3    " write test file Xxx3

:sp Xxx3

:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes the buffer list, when doing ":ball".[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 508 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx1   " write test file Xxx1
[?25l"Xxx1" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx1
[?25l"Xxx1" 4 lines, 77 charactersstart of test file Xxx1this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2    " write test file Xxx2
[?25l"Xxx2" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx2
[?25l"Xxx2" 4 lines, 77 charactersstart of test file Xxx2this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx2                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx3    " write test file Xxx3
[?25l"Xxx3" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx3
[?25l"Xxx3" 4 lines, 77 charactersstart of test file Xxx3this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx3                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3[?12l[?25h[?25l:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[?12l[?25h[?25l4[?12l[?25h[?25l:[?12l[?25hball                 " open window for all args, close Xxx2
[?25l"Xxx1"4 lines, 77 characters


"Xxx2" 4 lines, 77 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h.,$w! test.out          " Write contents of this file
[?25l"test.out" [New File] 4 lines, 77 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx4

test7.in [+]                                                                    start of test file Xxx1this is a testthis is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            [?12l[?25h

test7.in [+]                                                                     Xxx1                                                                            [?25l:[?12l[?25hw >>test.out        " Append contents of second window (Xxx1)
[?25l"test.out" 4 lines, 77 characters appended[?12l[?25htest7.in [+]                                                                    Xxx1                                                                             [?25l:[?12l[?25h/^start of/,$w >>test.out   " Append contents of last window (this file)
[?25lsearch hit BOTTOM, continuing at TOP"test.out" 4 lines, 77 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test7 = test61; then \
#	  if diff test.out test7.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test7.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test8.failed test.ok test.out X* viminfo
cp test8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test8.in" 46 lines, 1236 charactersTest for BufWritePre autocommand that deletes or unloads the buffer.

Test for BufUnload autocommand that unloads all other buffers.



STARTTEST

:so small.vim

:au BufWritePre Xxx1 bunload

:au BufWritePre Xxx2 bwipe

/^start of

A1^[:.,/end of/w! Xxx1  " write test file Xxx1

$r2:.,/end of/w! Xxx2   " write test file Xxx2

:e! Xxx2" edit Xxx2

:bdel test8.in" delete this file from the buffer list

:e Xxx1" edit Xxx1

:w" write it, will unload it and give an error msg

:w! test.out" Write contents of this file

:e! Xxx2" start editing Xxx2

:bwipe test.out" remove test.out from the buffer list

:w" write it, will delete the buffer and give an error msg:w >>test.out" Append contents of this file

:au! BufWritePre

:func CloseAll()

  let i = 0

  while i <= bufnr('$')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for BufWritePre autocommand that deletes or unloads the buffer.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1054 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTif i != bufnr('%') && bufloaded(i)exe  i . "bunload"

    endif

    let i += 1

  endwhile

endfunc

:func WriteToOut()

  edit! test.out

  $put ='VimLeave done'

  write

endfunc

:set viminfo='100,nviminfo

:au BufUnload * call CloseAll()

:au VimLeave * call WriteToOut()

:e small.vim

:sp mbyte.vim

:q

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l

start of Xxx[?12l[?25h[?25l1[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx1  " write test file Xxx1
[?25l"Xxx1" [New File] 3 lines, 31 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2   " write test file Xxx2
[?25l"Xxx2" [New File] 3 lines, 31 characters written[?12l[?25h[?25l:[?12l[?25he! Xxx2                " edit Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2

        testend of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbdel test8.in^I^I" delete this file from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25he Xxx1                 " edit Xxx1
[?25l"Xxx1" 3 lines, 31 characters1
[?12l[?25h[?25l:[?12l[?25hw                      " write it, will unload it and give an error msg
[?25l"Xxx2"3 lines, 31 characters


E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out            " Write contents of this file
[?25l"test.out" [New File] 3 lines, 31 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! Xxx2                " start editing Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2test

end of Xxx"Xxx2" 3 lines, 31 characters[?12l[?25h[?25l:[?12l[?25hbwipe test.out         " remove test.out from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25hw                      " write it, will delete the buffer and give an error ms


g[?25l"Xxx1"3 lines, 31 characters

E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out           " Append contents of this file
[?25l"test.out" 3 lines, 31 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! BufWritePre
[?25lstart of Xxx1test

end of Xxx[?12l[?25h[?25l:[?12l[?25hfunc CloseAll()
[?25l

:  [?12l[?25h  let i = 0


[?25l:  [?12l[?25h  while i <= bufnr('$')


[?25l:    [?12l[?25h    if i != bufnr('%') && bufloaded(i)


[?25l:      [?12l[?25h      exe  i . "bunload"


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let i += 1


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfunc WriteToOut()
[?25l

:  [?12l[?25h  edit! test.out


[?25l:  [?12l[?25h  $put ='VimLeave done'


[?25l:  [?12l[?25h  write


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               [?12l[?25h[?25l:[?12l[?25hset viminfo='100,nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufUnload * call CloseAll()
[?25l[?12l[?25h[?25l:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[?12l[?25h[?25l:[?12l[?25he small.vim
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"small.vim" 1 line, 1 character


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" 0 lines, 0 characters~                                                                               ~                                                                               ~                                                                               mbyte.vim                                                                       small.vim                                                                       "mbyte.vim" 0 lines, 0 characters[?12l[?25h[?25l:[?12l[?25hq
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"test.out" 6 lines, 62 characters


"test.out" 7 lines, 76 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test8 = test61; then \
#	  if diff test.out test8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test9.failed test.ok test.out X* viminfo
cp test9.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test9.in" 12 lines, 255 charactersTest for Bufleave autocommand that deletes the buffer we are about to edit.



STARTTEST

:so small.vim

:au BufLeave test9.in bwipe yy

:e yy

:/^start of/,$w! test.out      " Write contents of this file

:qa!

ENDTEST



start of test file xx

end of test file xx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Bufleave autocommand that deletes the buffer we are about to edit.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 117 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[?12l[?25h[?25l:[?12l[?25he yy
[?25lE143: Autocommands unexpectedly deleted new buffer yy[?12l[?25h[?25l:[?12l[?25h/^start of/,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 2 lines, 42 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test9 = test61; then \
#	  if diff test.out test9.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test9.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test14.failed test.ok test.out X* viminfo
cp test14.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test14.in" 99 lines, 1606 charactersTests for "vaBiB", end could be wrong.

Also test ":s/pat/sub/" with different ~s in sub.

Also test for ^Vxff and ^Vo123 in Insert mode.

Also test "[m", "]m", "[M" and "]M"

Also test search()



STARTTEST

:so small.vim

/Start cursor here

vaBiBD:?Bug?,/Piece/-2w! test.out

/^- Bug

:s/u/~u~/

:s/i/~u~/

:s/o/~~~/

:.w >>test.out

:if has("ebcdic")

: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"

:else

: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"

:endif

:exe "normal " . tt

:unlet tt

:.w >>test.out[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "vaBiB", end could be wrong.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 56 lines, 1141 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute

Y:$put =@0

/bar /e

:$put =@0

-:keeppatterns /xyz

0dn:/^search()/,$w >>test.out

:qa!

ENDTEST



- Bug in "vPPPP" on this text (Webb):{cmd;{cmd;    /* <-- Start cursor here */{}}}[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25hStart cursor here
[?25l[?12l[?25h[?25l[?12l[?25h[?25l{ 

                        cmd;    /* <-- Start cursor here */ 

                        { 

                        } 

                [?12l[?25h[?25l                cmd; 

                }[?12l[?25h[?25l





6 fewer lines        }Piece of Java{        tt m1 {                t1;e1[?12l[?25h[?25l:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [New File] 3 lines, 44 characters written[?12l[?25h[?25l/[?12l[?25h^- Bug
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/u/~u~/
[?25l[?12l[?25h[?25l:[?12l[?25hs/i/~u~/
[?25luuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l:[?12l[?25hs/o/~~~/
[?25luuuuuuuuun this text (Webb):
[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 48 characters appended[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>


"

[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"


[?25l:  [?12l[?25h:endif
[?25l:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute[?12l[?25h[?25l:[?12l[?25hexe "normal " . tt
[?25lABC !a^Og^G8[?12l[?25h[?25l:[?12l[?25hunlet tt
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset vb
[?25l[?12l[?25h[?25l/[?12l[?25h^Piece
[?25l[?12l[?25h[?25l{A[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25ltt m2 {[?12l[?25h[?25l{B[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25lt2;} e2tt m3 {[?12l[?25h[?25l{C[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25l{DC[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{EA[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{F[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}G e1[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h

[?25lif (x){t3;}} e3[?12l[?25h[?25l}H e3[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l

}[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}JH e3[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 8 characters appended[?12l[?25h[?25l}K e2[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l{LF[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^foobar
[?25lfoobar[?12l[?25h[?25l

:[?12l[?25hlet startline = line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('foobar', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25hcall search('^$', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('^$', 'bc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l/[?12l[?25htwo
[?25lsubstitute foo asdf



one two[?12l[?25h[?25l

:[?12l[?25hcall search('.', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/foo/bar/
[?25lbar
[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25lsearch()

0

1

1

two

foo[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25lxyz[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25l

^substitute[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l

/[?12l[?25hbar /e
[?25l[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l



:[?12l[?25hkeeppatterns /xyz
[?25l[?12l[?25h[?25l

/bar /exyz[?12l[?25h[?25l:[?12l[?25h/^search()/,$w >>test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 9 lines, 58 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test14 = test61; then \
#	  if diff test.out test14.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test14.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test15.failed test.ok test.out X* viminfo
cp test15.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test15.in" 136 lines, 2246 charactersTests for :right on text with embedded TAB.

Also test formatting a paragraph.

Also test undo after ":%s" and formatting.



STARTTEST

:so small.vim

:set tw=65



:/^\s*test for :left/,/^\s*test for :center/ left

:/^\s*test for :center/,/^\s*test for :right/ center

:/^\s*test for :right/,/^xxx/-1 right

:set fo+=tcroql tw=72

/xxxxxxxx$

0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :right on text with embedded TAB.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 401 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=65
[?25l[?12l[?25h[?25l

test for :left[?12l[?25h[?25l

:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25lsearch hit BOTTOM, continuing at TOPtest for :left[?12l[?25h[?25l:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[?12l[?25h[?25l:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[?12l[?25h[?25l:[?12l[?25hset fo+=tcroql tw=72
[?25l[?12l[?25h[?25l/[?12l[?25hxxxxxxxx$
[?25lasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx

xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx

xx xxxxxxx. xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx

> xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h
[?25l

 xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xxxx xxxxxxx.

xxxx xxxx.xxxxxxx: xxxx xxxxxxx, xx xxxx xxxxxxx~                                                                               [?12l[?25h

[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[?12l[?25h[?25l1 more line; before #1  0 seconds ago0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTESTtest for :leftaafaadfaasdfaaasdfaaxasdfaa

asxxdfaatest for :centeraafaafd asdf[?12l[?25h[?25l1 line less; after #1  0 seconds agotest for :lefta      afa    adfa      asdfaaasdfa           axasdfaa                test for :center  aa  fa        afd asdf[?12l[?25h

[?25l:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[?12l[?25h[?25l/[?12l[?25h^aa
[?25lasxxdfaaxxxoikeasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.

xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx

> xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h[?25l





:.,.+2s/^/x/
3 substitutions on 3 linesxaa aa aa aa

xbb bb bb bb

xcc cc cc cc
[?12l[?25h[?25l:set tw=3
[?12l[?25h[?25l





3 more lines

aaaaaa3 more lines[?12l[?25h[?25l

3 fewer lines; before #2  0 seconds agoaa aa aa aa

bb bb bb bb

cc cc cc cc

~                                                                               [?12l[?25h

[?25l:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[New] 111L, 2304C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test15 = test61; then \
#	  if diff test.out test15.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test15.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test19.failed test.ok test.out X* viminfo
cp test19.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test19.in" 33 lines, 692 charactersTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.

Also test that dv_ works correctly



STARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 447 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25lSTARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25hsome
[?25lstart textsome test text[?12l[?25h[?25l    ome test text[?12l[?25h[?25l

:[?12l[?25hset noexpandtab
[?25l[?12l[?25h[?25l/[?12l[?25hother
[?25ltest textother test text[?12l[?25h[?25l    ther test text[?12l[?25h[?25l

a cde[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[?12l[?25h
    [?25l[?12l[?25h[?25l

f ghi[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs
[?25l[?12l[?25h
    [?25l     hi[?12l[?25h[?25l

test text[?12l[?25h[?25l

:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[?12l[?25h[?25l:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[?12l[?25h[?25l{x[?12l[?25h[?25l

:[?12l[?25hset nosol
[?25l[?12l[?25h[?25l/[?12l[?25hSecond line/
[?25l

Second line beginning with whitespace[?12l[?25h[?25l
  with whitespace[?12l[?25h[?25l

:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [New File] 10 lines, 121 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test19 = test61; then \
#	  if diff test.out test19.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test19.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test20.failed test.ok test.out X* viminfo
cp test20.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test20.in" 28 lines, 398 charactersTests Blockwise Visual when there are TABs before the text.

First test for undo working properly when executing commands from a register.

Also test this in an empty buffer.



STARTTEST

:so tiny.vim

G0"ay$k@au

:new

@auY:quit!

GP

/start here$

"by$^Vjjlld

/456$

^Vjj"bP

:/56$/,$-1w! test.out

:qa!

ENDTEST



123456

234567

345678



test text test tex start here[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests Blockwise Visual when there are TABs before the text.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 107 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso tiny.vim
[?25l[?12l[?25h[?25lsome texttest text

test text



Ox^[jAy^[kdd[?12l[?25h[?25lx[?12l[?25h

[?25ly[?12l[?25h[?25ly

Ox^[jAy^[kdd[?12l[?25h[?25l



2 changes; before #1  0 seconds ago[?12l[?25h

[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       123456

234567

345678test text test tex start here

                some texttest

test textOx^[jAy^[kdd

test20.in                                                                       [?12l[?25h[?25lx[+][?12l[?25h

[?25ly[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l1 line less; before #1  0 seconds ago    [?12l[?25h[?25l:[?12l[?25hquit!
[?25l:so tiny.vim

G0"ay$k@au:new@auY:quit!GP/start here$"by$^Vjjlld/456$^Vjj"bP:/56$/,$-1w! test.out:qa!ENDTEST123456

234567

345678test text test tex start heresome

         test text

test textOx^[jAy^[kdd[?12l[?25h[?25l[?12l[?25h[?25l

Ox^[jAy^[kdd[?12l[?25h[?25l

/[?12l[?25hstart here$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25ls[?12l[?25h[?25le[?12l[?25h[?25lt t[?12l[?25h[?25lat [?12l[?25h[?25lrt hereextex[?12l[?25h[?25l/[?12l[?25h456$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25l4

234[?12l[?25h[?25l5

345[?12l[?25h[?25l[?12l[?25h[?25lstart here56

234start here67

345start here78[?12l[?25h[?25l:[?12l[?25h/56$/,$-1w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 10 lines, 106 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test20 = test61; then \
#	  if diff test.out test20.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test20.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test22.failed test.ok test.out X* viminfo
cp test22.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test22.in" 13 lines, 197 charactersTests for file with some lines ending in CTRL-M, some not^M

^M

STARTTEST

:set ta tx

:e!

:$-3,$w! test.out

:qa!

ENDTEST



this lines ends in a^M

this one doesn't

this one does^M

and the last one doesn't

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for file with some lines ending in CTRL-M, some not^M[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset ta tx
[?25l[?12l[?25h[?25l:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[?12l[?25h[?25l:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [New File] 4 lines, 79 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test22 = test61; then \
#	  if diff test.out test22.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test22.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test23.failed test.ok test.out X* viminfo
cp test23.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test23.in" 15 lines, 282 charactersTests for complicated + argument to :edit command



STARTTEST

:$-1w! Xfile1

:$w! Xfile2

:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w

:w! test.out

:e Xfile1

:w >> test.out

:qa!

ENDTEST



The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"

foo|bar

foo/bar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for complicated + argument to :edit command[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" 1 line, 8 characters


foo|bar


"Xfile1" 1 line, 11 characters written


"Xfile2" 1 line, 8 characters


foo/bar


"Xfile2" 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 charactersfooPIPEbar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xfile1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hw >> test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test23 = test61; then \
#	  if diff test.out test23.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test23.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test24.failed test.ok test.out X* viminfo
cp test24.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test24.in" 89 lines, 1301 charactersTests for regexp with backslash and other special characters inside []

Also test backslash for hex/octal numbered character.



STARTTEST

:set nocompatible viminfo+=nviminfo

/[\x]

x/[\t\]]

x/[]y]

x/[\]]

x/[y^]

x/[$y]

x/[\x61]

x/[\x60-\x64]

xj0/[\x785]

x/[\o143]

x/[\o140-\o144]

x/[\o417]

x/\%x42

x/\%o103

x/[\x00]

x

:s/[\x00-\x10]//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with backslash and other special characters inside [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 51 lines, 519 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/



:s/aaa/xyz/



:s/~/bcd/



:s/~\+/BB/

:"

:?start?,$w! test.out

:qa!

ENDTEST



start

test \text test text

test    text test text

test text ]test text

test ]text test text

test text te^st text

test te$xt test text

test taext test text  x61

test tbext test text  x60-x64

test 5text test text  x78 5[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h[\x]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[\t\]]
[?25l[?12l[?25h[?25ltext test tex[?12l[?25h[?25l/[?12l[?25h[]y]
[?25l[?12l[?25h[?25ltest text[?12l[?25h[?25l/[?12l[?25h[\]]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[y^]
[?25l[?12l[?25h[?25lst text[?12l[?25h[?25l/[?12l[?25h[$y]
[?25l[?12l[?25h[?25lxt test text[?12l[?25h[?25l/[?12l[?25h[\x61]
[?25l[?12l[?25h[?25lext test text  x61[?12l[?25h[?25l/[?12l[?25h[\x60-\x64]
[?25l[?12l[?25h[?25lext test text  x60-x64[?12l[?25h
[?25l/[?12l[?25h[\x785]
[?25l[?12l[?25h[?25ltext test text  x78 5[?12l[?25h[?25l/[?12l[?25h[\o143]
[?25l

testc text test text  o143[?12l[?25h[?25l text test text  o143[?12l[?25h[?25l

/[?12l[?25h[\o140-\o144]
[?25l

tesdt text test text  o140-o144[?12l[?25h[?25lt text test text  o140-o14[?12l[?25h[?25l

/[?12l[?25h[\o417]
[?25l

test7 text test text  o41 7[?12l[?25h[?25l text test text  o41 7[?12l[?25h[?25l

/[?12l[?25h\%x42
[?25l

test text tBest text  \%x42[?12l[?25h[?25lest text  \%x42[?12l[?25h[?25l

/[?12l[?25h\%o103
[?25l

test text teCst text  \%o103[?12l[?25h[?25lst text  \%o103[?12l[?25h[?25l

/[?12l[?25h[\x00]
[?25l

test text ^@test text  [\x00][?12l[?25h[?25ltest text  [\x00][?12l[?25h[?25l

test te^@xt t^Dest t^Pext  [\x00-\x10][?12l[?25h[?25l

:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 linext test text  [\x00-\x10][?12l[?25h[?25l

test \xyztext test text  [\x-z][?12l[?25h[?25l

:[?12l[?25hs/[\x-z]\+//
[?25ltext test text  [\x-z][?12l[?25h[?25l

test text tev\uyst text  [\u-z][?12l[?25h[?25l

:[?12l[?25hs/[\u-z]\{2,}//
[?25lst text  [\u-z][?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\+//
[?25l xx [?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)\+//
[?25l[?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)*//
[?25l[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{2,3}/A/
[?25lAaa xx[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25lAaaa x[?12l[?25h[?25l

xx aaa12aa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25lAaa xx[?12l[?25h[?25l

xx foobar xbar xx[?12l[?25h[?25l

:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25lA xx[?12l[?25h[?25l

xx an file xx[?12l[?25h[?25l

:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25lA xx[?12l[?25h[?25l

x= 9;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25lXX
[?12l[?25h[?25l

hh= 77;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25lYY 77;[?12l[?25h[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hs/aaa/xyz/
[?25lxyz
 [?12l[?25h[?25l

xyz[?12l[?25h[?25l

:[?12l[?25hs/~/bcd/
[?25lbcd
 [?12l[?25h[?25l

bcdbcdbcd[?12l[?25h[?25l

:[?12l[?25hs/~\+/BB/
[?25lBB[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [New] 32L, 586C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test24 = test61; then \
#	  if diff test.out test24.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test24.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test26.failed test.ok test.out X* viminfo
cp test26.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test26.in" 44 lines, 750 charactersTest for :execute, :while and :if



STARTTEST

:so small.vim

mt:let i = 0

:while i < 12

:  let i = i + 1

:  if has("ebcdic")

:    execute "normal o" . i . "\047"

:  else

:    execute "normal o" . i . "\033"

:  endif

:  if i % 2

:    normal Ax^V^[

:    if i == 9

:      break

:    endif

:    if i == 5

:      continue

:    else

:      let j = 9

:      while j > 0

:if has("ebcdic")[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for :execute, :while and :if[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 39 lines, 696 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:      let j = 9

:      while j > 0

:if has("ebcdic")

:execute "normal" j . "a" . j . "\x27"

:else

:execute "normal" j . "a" . j . "\x1b"

:endif

:let j = j - 1

:      endwhile

:    endif

:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 0
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i < 12
[?25l

:  [?12l[?25h:  let i = i + 1


[?25l:  [?12l[?25h:  if has("ebcdic")


[?25l:    [?12l[?25h:    execute "normal o" . i . "\047"


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    execute "normal o" . i . "\033"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i % 2


[?25l:    [?12l[?25h:    normal Ax^^[


[?25l:    [?12l[?25h:    if i == 9


[?25l:      [?12l[?25h:      break


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if i == 5


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      let j = 9


[?25l:      [?12l[?25h:      while j > 0


[?25l:[?12l[?25h:        if has("ebcdic")


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x27"


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x1b"


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        let j = j - 1


[?25l:[?12l[?25h:      endwhile


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i == 9


[?25l:    [?12l[?25h:    if has("ebcdic")


[?25l:      [?12l[?25h:      execute "normal Az\047"


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      execute "normal Az\033"


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endwhile
[?25l:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST



1x999999999888888887777777666666555554444333221

2

3x999999999888888887777777666666555554444333221

4

5x

6

7x999999999888888887777777666666555554444333221

8

9x[?12l[?25h[?25l

:[?12l[?25hunlet i j
[?25l[?12l[?25h[?25l:[?12l[?25h't,$w! test.out
[?25l"test.out" [New File] 10 lines, 159 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test26 = test61; then \
#	  if diff test.out test26.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test26.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test28.failed test.ok test.out X* viminfo
cp test28.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test28.in" 23 lines, 364 charactersTest for sourcing a file with CTRL-V's at the end of the line



STARTTEST

:/firstline/+1,/lastline/-1w! Xtestfile

:so Xtestfile

Gmm__1^[^[__2^[__3^[^[__4^[__5^[:'m,$s/^@/0/g

:'m,$w! test.out

:qa!

ENDTEST



firstline

map __1 afirst

map __2 asecond

map __3 athird

map __4 afourth

map __5 afifth

map __1 asd^V

map __2 asd^V^V

map __3 asd^V^V

map __4 asd^V^V^V

map __5 asd^V^V^V

lastline[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for sourcing a file with CTRL-V's at the end of the line[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [New File] 10 lines, 148 characters written[?12l[?25h[?25l:[?12l[?25hso Xtestfile
[?25l[?12l[?25h[?25l

sd

map __2 asd^[[?12l[?25h[?25lsecond[?12l[?25hd  [?25lsd^[[?12l[?25h^[  [?25lsd^@map __5 asd^@[?12l[?25h[?25lfifth[?12l[?25h[?25l

:[?12l[?25h'm,$s/^@/0/g
[?25l0map __5 asd0fifth[?12l[?25h[?25l:[?12l[?25h'm,$w! test.out
[?25l"test.out" [New File] 2 lines, 45 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test28 = test61; then \
#	  if diff test.out test28.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test28.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test29.failed test.ok test.out X* viminfo
cp test29.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test29.in" 230 lines, 4261 charactersTest for joining lines and marks in them

 in compatible and nocompatible modes

 and with 'joinspaces' set or not

 and with 'cpoptions' flag 'j' set or not



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set nojoinspaces

:set cpoptions-=j

/firstline/

j"td/^STARTTEST/-1

PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=jj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss+=j

j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2

ENDTEST



firstline

asdfasdf.

asdf[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for joining lines and marks in them[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 478 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j
[?25l[?12l[?25h[?25l/[?12l[?25hfirstline/
[?25l[?12l[?25h

[?25l/[?12l[?25h^STARTTEST/-1
[?25l+-1
37 fewer linesSTARTTEST

/^{/+1[?12l[?25h[?25lmore linesasdfasdf.

asdf[?12l[?25h[?25lasdf

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop!

ert[?12l[?25h
hjkl i[?25l. as dfg? hjkl iop! ert

zx cvn.

as dfg?hjkl iop![?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv
hjkl i[?25l. as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg?  hjkl iop!  ert

zx cvn.

as dfg?[?12l[?25h  er[?25lt  e[?12l[?25h
zx cv[?25len[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv[?25l

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l.  as dfg? hjkl iop! ert[?12l[?25h[?25lt  a[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l

/[?12l[?25hSTARTTEST/-2
[?25l+-2
4 fewer lines[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 147 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set comments=s1:/*,mb:*,ex:*/,://

:set nojoinspaces fo=j

:set backspace=eol,start

:.,+3join

j4J

:.,+2join

j3J

:.,+2join

j3J

:.,+2join

jj3J

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 17 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:inoremap <c-u> <left><c-u>

Avim3^U^[

:iunmap <c-u>

Avim4^U^U^[

:" Test with backspace set to the compatible setting

:set backspace= visualbell

A vim5^[A^U^U^[

A vim6^[Azwei^Gu^U^[

:inoremap <c-u> <left><c-u>

A vim7^U^U^[

:set compatible novisualbell

ENDTEST

1 this shouldn't be deleted

2 this shouldn't be deleted

3 this shouldn't be deleted

4 this should be deleted

5 this shouldn't be deleted

6 this shouldn't be deleted

7 this shouldn't be deleted

8 this shouldn't be deleted (not touched yet)



STARTTEST

/^{/+1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[?12l[?25h[?25l/[?12l[?25h^\d\+ this
[?25l[?12l[?25h[?25l:[?12l[?25hset cp bs=2
[?25l[?12l[?25h[?25l[?12l[?25hd    [?25lvim2[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?25ld3[?12l[?25h[?25l:[?12l[?25hiunmap <c-u>
[?25l[?12l[?25h[?25l[?12l[?25h

[?25l:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace= visualbell
[?25l[?12l[?25h[?25lvim5[?12l[?25h[?5h[?5l[?5h[?5l[?25ld vim6[?12l[?25h6    [?25lzwei[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?5h[?5l[?5h[?5l[?25lvim7[?12l[?25h

[?25l:[?12l[?25hset compatible novisualbell
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 21 lines, 356 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj3J

:.,+2join

j3J

:.,+2join

jj3J

j:.,+2join

jj3J

j:.,+5join

j6J

oSome code!^M// Make sure backspacing does not remove this comment leader.^[0i^HH^[

ENDTEST



{



/*

 * Make sure the previous comment leader is not removed.

 */



/*

 * Make sure the previous comment leader is not removed.

 */[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed.  *//* List:

 * - item1

 *   foo bar baz[?12l[?25h

[?25l/* Make sure the previous comment leader is not removed.  */*   foo bar baz

 * - item2

 *   foo bar baz[?12l[?25h

[?25l:[?12l[?25h.,+8join
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz *//* List:- item1  foo bar baz

 * - item2[?12l[?25h

[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */// Should the next comment leader be left alone?

// Yes.// Should the next comment leader be left alone?[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lShould the next comment leader be left alone?  Yes.





// Yes.[?12l[?25h

[?25l// Should the next comment leader be left alone?  Yes.* Here the comment leader should be left intact. */

// And so should this one.[?12l[?25h

[?25l





:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.* Here the comment leader should be left intact. */[?12l[?25h

[?25l/* Here the comment leader should be left intact. */ // And so should this one.[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;[?12l[?25h[?25l

[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+5join
[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25lSome code!

// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l// Make sure backspacing does not remove this comment leader.

}[?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 61 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:?firstline?+1,$w! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines// Should the next comment leader be left alone?  Yes./* Here the comment leader should be left intact. */ // And so should this one.

/* Here the comment leader should be left intact. */ // And so should this one.

if (condition) // Remove the next comment leader!  OK, I will.

    action();if (condition) // Remove the next comment leader!  OK, I will.

    action();int i = 7 /* foo *// 3 // comment

 ;int i = 7 /* foo *// 3 // comment ;># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.



Some code!// Make sure backspacing does not remove this comment leader.

}[?12l[?25h[?25l:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [New File] 97 lines, 3018 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test29 = test61; then \
#	  if diff test.out test29.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test29.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test31.failed test.ok test.out X* viminfo
cp test31.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test31.in" 95 lines, 1832 charactersTest for commands that close windows and/or buffers:

:quit

:close

:hide

:only

:sall

:all

:ball

:buf

:edit



STARTTEST

:so small.vim

GA 1^[:$w! Xtest1

$r2:$w! Xtest2

$r3:$w! Xtest3

:n! Xtest1 Xtest2

A 1^[:set hidden

:" test for working :n when hidden set; write "testtext 2"

:n

:w! test.out

:" test for failing :rew when hidden not set; write "testtext 2 2"

:set nohidden[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for commands that close windows and/or buffers:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 80 lines, 1697 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" test ":q!" and hidden buffer.

:bw! Xtest1 Xtest2 Xtest3 Xtest4

:sp Xtest1

:wincmd w

:bw!

:set modified

:bot sp Xtest2

:set modified

:bot sp Xtest3

:set modified

:wincmd t

:hide

:q!

:w >>test.out

:q!

:w >>test.out

:q!

:call append(line('$'), "Oh, Not finished yet.")

:w >>test.out

:qa!

ENDTEST



testtext[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h

[?25l1[?12l[?25h[?25l:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [New File] 1 line, 11 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [New File] 1 line, 11 characters written[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" 1 line, 11 characterstesttext 1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[?12l[?25h[?25l:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters2[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hrew
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)1 1
[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hsp
[?25lXtest1 [+]                                                                      testtext 1 1 1Xtest1 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)2 22 [?12l[?25h[?25l:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characterstesttext 1 1 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25lXtest1 [+]                                                                      Xtest2 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 2 2" twice
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l1 1[?12l[?25h[?25l:[?12l[?25hq!
[?25ltesttext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25hunhide
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hhide
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3"
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1


"[?25ltesttext 3 3[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters1[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3 3"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)3 3Xtest3 [+]                                                                      testtext 1Xtest1                                                                          [?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 1"
[?25l[?12l[?25h[?25l3 3[?12l[?25h[?25l:[?12l[?25hclose!
[?25l1~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File]Xtest4                                                                          testtext 1Xtest1                                                                          [?12l[?25h[?25l 4[+][?12l[?25h[?25l:[?12l[?25hall!
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)


"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25ltesttext 2 2 2

~                                                                               Xtest2 [+]                                                                      testtext 3 3 3 3~                                                                               3 [+][?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[?12l[?25h[?25l:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"95 lines, 1832 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp Xtest1
[?25l"Xtest1" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               Xtest1                                                                          :w >>test.out:q!:w >>test.out:q!:call append(line('$'), "Oh, Not finished yet."):w >>test.out:qa!ENDTESTtesttexttest31.in "Xtest1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25lXtest1                                                                           test31.in                                                                       [?12l[?25h[?25l:[?12l[?25hbw!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[?12l[?25h[?25l:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" 1 line, 11 charactersXtest1 [+]                                                                      testtext 2Xtest2                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hwincmd t
[?25lXtest1 [+]                                                                      Xtest3 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hhide
[?25ltesttext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hq!
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hq!
[?25lE37: No write since last change


E162: No write since last change for buffer "Xtest1"


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test31 = test61; then \
#	  if diff test.out test31.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test31.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test33.failed test.ok test.out X* viminfo
cp test33.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test33.in" 34 lines, 616 charactersTest for 'lisp'

If the lisp feature is not enabled, this will fail!



STARTTEST

:so small.vim

:set lisp

/^(defun

=G:/^(defun/,$w! test.out

:q!

ENDTEST



(defun html-file (base)

(format nil "~(~A~).html" base))



(defmacro page (name title &rest body)

(let ((ti (gensym)))

`(with-open-file (*standard-output*

(html-file ,name)

:direction :output

:if-exists :supersede)

(let ((,ti ,title))

(as title ,ti)

(with center[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'lisp'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 63 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset lisp
[?25l[?12l[?25h[?25l/[?12l[?25h^(defun
[?25l[?12l[?25h[?25l22 lines to indent...
23indented   (format nil "~(~A~).html" base))





  (let ((ti (gensym)))

       `(with-open-file (*standard-output*

                 (html-file ,name)

                  :direction :output

                         :if-exists :supersede)

                        (let ((,ti ,title))

              (as title ,ti)

            (with center[?12l[?25h[?25l:[?12l[?25h/^(defun/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 23 lines, 544 characters written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test33 = test61; then \
#	  if diff test.out test33.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test33.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test34.failed test.ok test.out X* viminfo
cp test34.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test34.in" 87 lines, 1833 charactersTest for user functions.

Also test an <expr> mapping calling a function.

Also test that a builtin function cannot be replaced.

Also test for regression when calling arbitrary expression.



STARTTEST

:so small.vim

:function Table(title, ...)

:  let ret = a:title

:  let idx = 1

:  while idx <= a:0

:    exe "let ret = ret . a:" . idx

:    let idx = idx + 1

:  endwhile

:  return ret

:endfunction

:function Compute(n1, n2, divname)

:  if a:n2 == 0

:    return "fail"

:  endif

:  exe "let g:" . a:divname . " = ". a:n1 / a:n2

:  return "ok"

:endfunction[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for user functions.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 78 lines, 1621 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'

:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!

ENDTEST



here[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction Table(title, ...)
[?25l

:  [?12l[?25h:  let ret = a:title


[?25l:  [?12l[?25h:  let idx = 1


[?25l:  [?12l[?25h:  while idx <= a:0


[?25l:    [?12l[?25h:    exe "let ret = ret . a:" . idx


[?25l:    [?12l[?25h:    let idx = idx + 1


[?25l:    [?12l[?25h:  endwhile


[?25l:  [?12l[?25h:  return ret


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch[?12l[?25h[?25l



:[?12l[?25hfunction Compute(n1, n2, divname)
[?25l

:  [?12l[?25h:  if a:n2 == 0


[?25l:    [?12l[?25h:    return "fail"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  exe "let g:" . a:divname . " = ". a:n1 / a:n2


[?25l:  [?12l[?25h:  return "ok"


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))[?12l[?25h[?25l



:[?12l[?25hfunc Expr1()
[?25l

:  [?12l[?25h:  normal! v


[?25l:  [?12l[?25h:  return "111"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc Expr2()
[?25l

:  [?12l[?25h:  call search('XX', 'b')


[?25l:  [?12l[?25h:  return "222"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListItem()
[?25l

:  [?12l[?25h:  let g:counter += 1


[?25l:  [?12l[?25h:  return g:counter . '. '


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListReset()
[?25l

:  [?12l[?25h:  let g:counter = 0


[?25l:  [?12l[?25h:  return ''


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc FuncWithRef(a)
[?25l

:  [?12l[?25h:  unlet g:FuncRef


[?25l:  [?12l[?25h:  return a:a


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[?12l[?25h[?25l:[?12l[?25hlet counter = 0
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> + Expr1()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> * Expr2()
[?25l[?12l[?25h[?25l:[?12l[?25hlet retval = "nop"
[?25l[?12l[?25h[?25l/[?12l[?25h^here
[?25l[?12l[?25h[?25lher$=[?12l[?25hTable("xxx", 4, "asdf")
[?25l=[?12l[?25hCompute(45, 0, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hCompute(45, 5, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hg:FuncRef(333)


[?25lError detected while processing function Expr1:


line    1:


E523: Not allowed here


Press ENTER or type command to continue[?12l[?25h[?25l:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'$put =v:exception

:endtry$-9,$w! test.outdelfunc Table

:delfunc Computedelfunc Expr1delfunc Expr2

:delfunc ListItemListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX---222---

1. one2. two[?12l[?25h[?25l1. one again[?12l[?25h[?25l

:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25lE704: Funcref variable name must start with a capital: max[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:    " Regression: the first line below used to throw ?E110: Missing ')'?


[?25l:  [?12l[?25h:    " Second is here just to prove that this line is correct when not skipp


ing


[?25l:  [?12l[?25h:    " rhs of &&.


[?25l:  [?12l[?25h:    $put =(0&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:    $put =(1&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:    $put ='!!! Unexpected exception:'


[?25l:  [?12l[?25h:    $put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX

---222---

1. one

2. two1. one again

330[?12l[?25h[?25l

:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [New File] 10 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25hdelfunc Table
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Compute
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr1
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr2
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListItem
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListReset
[?25l[?12l[?25h[?25l:[?12l[?25hunlet retval counter
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test34 = test61; then \
#	  if diff test.out test34.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test34.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test36.failed test.ok test.out X* viminfo
cp test36.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test36.in" 108 lines, 2025 charactersTest character classes in regexp using regexpengine 0, 1, 2.



STARTTEST

/^start-here/+1

Y:s/\%#=0\d//g

p:s/\%#=1\d//g

p:s/\%#=2\d//g

p:s/\%#=0[0-9]//g

p:s/\%#=1[0-9]//g

p:s/\%#=2[0-9]//g

p:s/\%#=0\D//g

p:s/\%#=1\D//g

p:s/\%#=2\D//g

p:s/\%#=0[^0-9]//g

p:s/\%#=1[^0-9]//g

p:s/\%#=2[^0-9]//g

p:s/\%#=0\o//g

p:s/\%#=1\o//g

p:s/\%#=2\o//g

p:s/\%#=0[0-7]//g

p:s/\%#=1[0-7]//g

p:s/\%#=2[0-7]//g

p:s/\%#=0\O//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest character classes in regexp using regexpengine 0, 1, 2.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 101 lines, 1850 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTp:s/\%#=1[^a-z]//g

p:s/\%#=2[^a-z]//g

p:s/\%#=0\u//g

p:s/\%#=1\u//g

p:s/\%#=2\u//g

p:s/\%#=0[A-Z]//g

p:s/\%#=1[A-Z]//g

p:s/\%#=2[A-Z]//g

p:s/\%#=0\U//g

p:s/\%#=1\U//g

p:s/\%#=2\U//g

p:s/\%#=0[^A-Z]//g

p:s/\%#=1[^A-Z]//g

p:s/\%#=2[^A-Z]//g

p:s/\%#=0\%204l^\t...//g

p:s/\%#=1\%205l^\t...//g

p:s/\%#=2\%206l^\t...//g

:/^start-here/+1,$wq! test.out

ENDTEST




[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^start-here/+1
[?25l[?12l[?25h[?25l:[?12l[?25hs/\%#=0\d//g



:[?12l[?25hs/\%#=1\d//g



:[?12l[?25hs/\%#=2\d//g



:[?12l[?25hs/\%#=0[0-9]//g



:[?12l[?25hs/\%#=1[0-9]//g



:[?12l[?25hs/\%#=2[0-9]//g



:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\o//g



:[?12l[?25hs/\%#=1\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l

[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\x//g




:[?12l[?25hs/\%#=1\x//g




:[?12l[?25hs/\%#=2\x//g




:[?12l[?25hs/\%#=0[0-9A-Fa-f]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-9A-Fa-f]//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\w//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\w//g





:[?12l[?25hs/\%#=1[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=2[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\h//g




:[?12l[?25hs/\%#=1\h//g




:[?12l[?25hs/\%#=2\h//g




:[?12l[?25hs/\%#=0[A-Za-z_]//g




:[?12l[?25hs/\%#=1[A-Za-z_]//g




:[?12l[?25hs/\%#=2[A-Za-z_]//g




:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\a//g




:[?12l[?25hs/\%#=1\a//g




:[?12l[?25hs/\%#=2\a//g




:[?12l[?25hs/\%#=0[A-Za-z]//g




:[?12l[?25hs/\%#=1[A-Za-z]//g




:[?12l[?25hs/\%#=2[A-Za-z]//g




:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\l//g



:[?12l[?25hs/\%#=1\l//g



:[?12l[?25hs/\%#=2\l//g



:[?12l[?25hs/\%#=0[a-z]//g



:[?12l[?25hs/\%#=1[a-z]//g



:[?12l[?25hs/\%#=2[a-z]//g



:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\u//g



:[?12l[?25hs/\%#=1\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l

[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\%204l^\t...//g



:[?12l[?25hs/\%#=1\%205l^\t...//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\%206l^\t...//g
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 99 lines, 4269 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test36 = test61; then \
#	  if diff test.out test36.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test36.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test37.failed test.ok test.out X* viminfo
cp test37.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test37.in" 116 lines, 3262 charactersTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vim

:set noscrollbind

:set scrollopt=ver,jump

:set scrolloff=2

:set nowrap

:set noequalalways

:set splitbelow

:" TEST using two windows open to one buffer, one extra empty window

:split

:new

^Wt:

:resize 8

/^start of window 1$/

zt:

:set scrollbind

^Wj:

:resize 7

/^start of window 2$/

zt:

:set scrollbind

:" -- start of tests --[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below![?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 1498 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTHk^WtH^WjHyy^Wbp^Wtyy^Wbp:

^Wt:set noscb

ggL^Wj:set noscb

ggL:set scb

^Wt:set scb

^WtG^WjG^Wt:syncbind

Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out" Write contents of this file

:qa!

ENDTEST





start of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt=ver,jump
[?25l[?12l[?25h[?25l:[?12l[?25hset scrolloff=2
[?25l[?12l[?25h[?25l:[?12l[?25hset nowrap
[?25l[?12l[?25h[?25l:[?12l[?25hset noequalalways
[?25l[?12l[?25h[?25l:[?12l[?25hset splitbelow
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[?12l[?25h[?25l:[?12l[?25hsplit
[?25l^WtH3k^WtHyybp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out    " Write contents of this file

:qa!ENDTESTstart of window 1. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02test37.in                                                                       Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out     " Write contents of this file

:qa!ENDTESTstart of window 11122

test37.in                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l:w! test.out             " Write contents of this file

:qa!ENDTESTtest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 8
[?25l:" ***** done with tests *****w! test.out             " Write contents of this file

:qa!ENDTESTstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

test37.in                                                                       :" ***** done with tests *****:w! test.out             " Write contents of this fileqa!ENDTESTstart of window 1[?12l[?25h[?25l/[?12l[?25h^start of window 1$/
[?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 7
[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lend of window 1start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[?12l[?25h[?25l

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h



[?25l. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[?12l[?25htest37.in                                                                        [No Name]                                                                       [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[+][?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    





[?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l2[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08440505060607070808090900[?12l[?25htest37.in                                                                        test37.in                                                                       test37.in                                                                       test37.in                                                                        test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       test37.in                                                                        test37.in                                                                        test37.in                                                                       test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0656789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415UTSRQPONMLKJIHGREDCBA9876543210 09101112131415[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25h[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" ****** tests using two different buffers *****
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25lstart of window 20000000000[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[?12l[?25h[?25l:[?12l[?25hnew
[?25ltest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        test37.in                                                                        [No Name]                                                                       [?25l4 more lines[+][?12l[?25h





[?25l18 more linesstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l/[?12l[?25h^start of window 1$/
[?25lsearch hit BOTTOM, continuing at TOPENDTESTstart of window 1010102020303[?12l[?25h[?25l

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h





[?25l. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    



[?25l. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l440505060607070808090900. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

46 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

56 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06UTSRQPONMLKJIHGREDCBA9876543210 07[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415



UTSRQPONMLKJIHGREDCBA9876543210 0910111213141516[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST syncbind
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST:so small.vim:set noscrollbind:set scrollopt=ver,jump:set scrolloff=2:set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 201010202[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25h[?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vimset noscrollbindset scrollopt=ver,jump

:set scrolloff=2set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lzt:

:set scrollbind

^Wj:

:resize 7. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

^Wj:
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" ***** done with tests *****
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out             " Write contents of this file
[?25l"test.out" [New File] 33 lines, 1329 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test37 = test61; then \
#	  if diff test.out test37.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test37.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test38.failed test.ok test.out X* viminfo
cp test38.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test38.in" 35 lines, 455 charactersTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 407 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTopq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25l^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST

[?12l[?25h[?25lTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz[?12l[?25h[?25l

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l

abcdefghijk      lmn    opq rstuvwxyz[?12l[?25h[?25l:[?12l[?25hset ai
[?25l[?12l[?25h[?25l:[?12l[?25hset bs=2
[?25l[?12l[?25h[?25l 1

 A BCDEFGHIJ    KL        MNOPQR[?12l[?25h[?25l:[?12l[?25hka
[?25l[?12l[?25h[?25labcdefghijk      lmn    opq rstuvwxyz[?12l[?25h

[?25l 1[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25lab      cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB      IJKLMNO QR[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 13 lines, 107 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test38 = test61; then \
#	  if diff test.out test38.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test38.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test39.failed test.ok test.out X* viminfo
cp test39.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test39.in" 118 lines, 2435 charactersTest Visual block mode commands

And test "U" in Visual mode, also on German sharp S.



#define BO_ALL      0x0001

#define BO_BS0x0002

#define BO_CRSR     0x0004



STARTTEST

:so small.vim

:so mbyte.vim

:" This only works when 'encoding' is "latin1", don't depend on the environment

:set enc=latin1

/^abcde

:" Test shift-right of a block

jllll^Vjj>wll^Vjlll>

:" Test shift-left of a block

G$hhhh^Vkk<

:" Test block-insert

Gkl^VkkkIxyz^[

:" Test block-replace

Gllll^Vkkklllrq

:" Test block-change[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 75 lines, 2061 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h[?25l/[?12l[?25h^abcde
[?25lbbbb

cccc

dddd



yaaa


bbb



A23

4567



B23

4567



C23

4567



abcdefghijklm[?12l[?25h[?25l

:[?12l[?25h" Test shift-right of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25habcd[?25l[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

3 lines >ed 1 time        efghijklm

abcd        efghijklm

abcd        efghijklm[?12l[?25h     ef[?25l[?12l[?25h[?25lg[?12l[?25h[?25lhg[?12l[?25h[?25lih[?12l[?25h[?25lji[?12l[?25h[?25l        ghijklm        ghijklm[?12l[?25h[?25l:[?12l[?25h" Test shift-left of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25h[?25l[?12l[?25h[?25li[?12l[?25h[?25l [?12l[?25h[?25l





3 lines <ed 1 timeef    efghijklmi[?12l[?25h[?25l:[?12l[?25h" Test block-insert
[?25l[?12l[?25h

a[?25l[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25l

ab

ab

abxyzbcdefghijklm

axyzbcd

axyzbcd

axyzbcd[?12l[?25h

a[?25l:[?12l[?25h" Test block-replace
[?25l[?12l[?25h





abcd[?25l[?12l[?25h[?25le[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lbccf[?12l[?25h[?25lcddg[?12l[?25h[?25ld  h[?12l[?25h[?25lqqqq

axyzqqqq

axyzqqqq

abcdqqqq[?12l[?25h

axyz[?25l:[?12l[?25h" Test block-change
[?25l[?12l[?25h



[?25l[?12l[?25h[?25lj[?12l[?25h[?25li[?12l[?25h[?25l     ghijkl[?12l[?25h[?25lef  gkl[?12l[?25h[?25lmnomnomno[?12l[?25h[?25l:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [New File] 5 lines, 108 characters written[?12l[?25h[?25l:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[?12l[?25h[?25l/[?12l[?25h^aaaa/
[?25lsearch hit BOTTOM, continuing at TOPaaaaaa

bbbbbb

cccccc

ddddddsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right>  \<Esc>"
[?25l  aaa

bbb  bbb

ccc  ccc

ddd  ddd[?12l[?25h[?25l:[?12l[?25h/^aa/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 37 characters appended[?12l[?25h[?25l/[?12l[?25hxaaa$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l<p>xaaa

<p>bbbb

<p>cccc

<p>dddd[?12l[?25h[?25l:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 33 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[?12l[?25h[?25l/[?12l[?25h^A23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[?12l[?25h[?25l/[?12l[?25h^B23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[?12l[?25h[?25l/[?12l[?25h^C23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25lab

456ab7[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all enc=utf-8
[?25laaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa

<bf><bf><bf>

bbb



A23ab

4567ab



B23 ab

4567ab



C23ab

456ab7[?12l[?25h[?25l





:[?12l[?25h/\t\tline
[?25lsearch hit BOTTOM, continuing at TOPline1line2line3search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25lxxx[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 4 lines, 49 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25lx   line1x   line2x   line3[?12l[?25h[?25l:[?12l[?25hset ve= enc=latin1
[?25lx     x   line1x     x   line2x     x   line3



aaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa


bbb



A23ab

4567ab



B23 ab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l[?12l[?25h[?25lC23ab

456ab7



axyzbcdefghijklm

axyzqqqq   mnoghijklm

axyzqqqqef mnoghijklm

axyzqqqqefgmnoklm

abcdqqqqijklm[?12l[?25h[?25l


[?12l[?25hthe [?25lYOUTUSSEUU end
the [?12l[?25h

the [?25l

:[?12l[?25h" gUfx must uppercase until x, inclusive.
[?25l[?12l[?25h[?25l
- y[?25lOUSSTUSSEXu -
- y[?12l[?25h[?25l


:[?12l[?25h" VU must uppercase a whole line
[?25l[?12l[?25h[?25l

[?12l[?25h[?25lTHE YOUTUSSEUU END
[?12l[?25h

[?25l

:[?12l[?25h" same, when it's the last line in the buffer
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

11[?12l[?25h[?25l
11[?12l[?25h[?25l
111THE YOUTUSSEUU END
[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l111THE YOUTUSSEUU END


[?25l

:[?12l[?25h" Uppercase two lines
[?25l[?12l[?25h[?25l

blah didoh dut[?12l[?25h[?25l
doh dut [?12l[?25h[?25lblah di t[?12l[?25h[?25l
BLAH DIDOH DUT[?12l[?25h[?25l


:[?12l[?25h" Uppercase part of two lines
[?25l[?12l[?25h[?25l
~                                                                               [?12l[?25h[?25l


33[?12l[?25h

333the yo[?12l[?25h[?25lut[?12l[?25h[?25lUTUSSEUU END

333THE YOUTU[?12l[?25h[?25l



:[?12l[?25h" visual replace using Enter or NL
[?25l[?12l[?25h

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^M65

98^M65

98^M65[?12l[?25h

98

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^@65

98^@65

98^@65[?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cpos=getpos("'>")
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l

col:4 off:0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[?12l[?25h[?25l:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h4,7y
[?25l4 lines yanked[?12l[?25h[?25l

4 more lines

4 more lines[?12l[?25h[?25l

#define BO_ALL      0x0001[?12l[?25h[?25l

:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l    0x0001

#define BO_BS0x0002

#define BO_CRSR0x0004[?12l[?25h[?25l





:[?12l[?25h/^the/,$w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 31 lines, 322 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test39 = test61; then \
#	  if diff test.out test39.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test39.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test40.failed test.ok test.out X* viminfo
cp test40.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test40.in" 63 lines, 1536 charactersTest for "*Cmd" autocommands



STARTTEST

:so small.vim

:/^start/,$w! Xxx" write lines below to Xxx

:au BufReadCmd XtestA 0r Xxx|$del

:e XtestA" will read text of Xxd instead

:au BufWriteCmd XtestA call append(line("$"), "write")

:w" will append a line to the file

:r XtestA" should not read anything

:" now we have:

:" 1     start of Xxx

:" 2test40

:" 3     end of Xxx

:" 4     write

:au FileReadCmd XtestB '[r Xxx

:2r XtestB" will read Xxx below line 2 instead

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test40

:" 5     end of Xxx

:" 6     end of Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for "*Cmd" autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1455 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$w >>test.out" append "end of Xxx" to test.out

:au BufReadCmd XtestE 0r test.out|$del

:sp XtestE" split window with test.out

5Goasdf^[^W^W:"

:au BufWriteCmd XtestE w! test.out

:wall" will write other window to test.out

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test401

:" 5     end of Xxx

:" 6     asdf

:" 7     end of Xxx

:" 8     write

:" 9test401

:" 10    end of Xxx

:" 11    end of Xxx

:qa!

ENDTEST



start of Xxxtest40

end of Xxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$w! Xxx^I^I" write lines below to Xxx
[?25l"Xxx" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[?12l[?25h[?25l:[?12l[?25he XtestA^I^I^I" will read text of Xxd instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxx        test40end of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[?12l[?25h[?25l:[?12l[?25hw^I^I^I^I" will append a line to the file
[?25lwrite[?12l[?25h[?25l:[?12l[?25hr XtestA^I^I^I" should not read anything
[?25lE484: Can't open file XtestA[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" now we have:
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h2r XtestB^I^I^I" will read Xxx below line 2 instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxxtest40

end of Xxx[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[?12l[?25h[?25ltest401[?12l[?25h[?25l:[?12l[?25h4,5w XtestC^I^I^I" will copy lines 4 and 5 to the end
[?25l        test401end of Xxx[?12l[?25h[?25l:[?12l[?25hr XtestC^I^I^I" should not read anything
[?25lE484: Can't open file XtestC[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw >>XtestD^I^I^I" will write all lines to test.out
[?25l"test.out" [New File] 9 lines, 91 characters written[?12l[?25h[?25l:[?12l[?25h$r XtestD^I^I^I" should not read anything
[?25lE484: Can't open file XtestD[?12l[?25h[?25l:[?12l[?25h$w >>test.out^I^I^I" append "end of Xxx" to test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[?12l[?25h[?25l:[?12l[?25hsp XtestE^I^I^I" split window with test.out
[?25l"test.out" 10 lines, 102 charactersend of XxxXtestE                                                                          end of Xxxwrite        test401end of XxxXtestA                                                                          [?12l[?25h[?25lasdf[+][?12l[?25hXtestE [+]                                                                       XtestA                                                                          [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hwall^I^I^I^I" will write other window to test.out
[?25l"test.out" 11 lines, 107 characters written   [?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iasdf
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 10^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 11^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test40 = test61; then \
#	  if diff test.out test40.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test40.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test41.failed test.ok test.out X* viminfo
cp test41.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test41.in" 24 lines, 421 charactersTest for writing and reading a file of over 100 Kbyte



1 line: "This is the start"

3001 lines: "This is the leader"

1 line: "This is the middle"

3001 lines: "This is the trailer"

1 line: "This is the end"



STARTTEST

:%d

aThis is the start

This is the leader

This is the middle

This is the trailer

This is the end^[kY3000p2GY3000p

:w! Xtest

:%d

:e! Xtest

:.w! test.out

3003G:.w >>test.out

6005G:.w >>test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file of over 100 Kbyte[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 13 lines, 196 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lThis is the start

This is the leaderThis is the middleThis is the trailerThis is the end[?12l[?25h[?25l3000 more linestrailer

This is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailer[?12l[?25h[?25lleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleader[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 6005 lines, 117092 characters written[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" 6005 lines, 117092 charactersThis is the start

This is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leader[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 18 characters written[?12l[?25h[?25lThis is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the middle

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 19 characters appended[?12l[?25h[?25lThis is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the end
[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 16 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test41 = test61; then \
#	  if diff test.out test41.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test41.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test42.failed test.ok test.out X* viminfo
cp test42.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test42.in" 130 lines, 2368 charactersTest for writing and reading a file starting with a BOM



STARTTEST

:so mbyte.vim

:set encoding=utf-8

:set fileencodings=ucs-bom,latin-1

:set ff=unix ffs=unix" This changes the file for DOS and MAC

:" --- Write the test files

:/^latin-1$/+1w! Xtest0

:/^utf-8$/+1w! Xtest1

:/^utf-8-err$/+1w! Xtest2

:/^ucs-2$/+1w! Xtest3

:/^ucs-2le$/+1w! Xtest4

:" Need to add a NUL byte after the NL byte

:set bin

:e! Xtest4" Ignore change from setting 'ff'

o^V^@^[:set noeol

:w

:set ffs& nobinary" Allow default test42.in format

:e #

:set ff=unix" Format for files to write

:/^ucs-4$/+1w! Xtest5

:/^ucs-4le$/+1w! Xtest6[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file starting with a BOM[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2116 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1


utf-8

utf-8

utf-8-err

utf-8~@err

ucs-2


ucs-2le


[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1

<fe><fe>latin-1

utf-8

<feff>utf-8

utf-8-err

<feff>utf-8<80>err

ucs-2

<fe><ff>^@u^@c^@s^@-^@2^@

ucs-2le

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix ffs=unix           " This changes the file for DOS and MAC
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Write the test files
[?25l[?12l[?25h[?25l:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4                      " Ignore change from setting 'ff'
[?25l"Xtest4" 1 line, 17 characters<ff><fe>u^@c^@s^@-^@2^@l^@e^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

[?25l^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hset ffs& nobinary              " Allow default test42.in format
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25hset ff=unix                    " Format for files to write
[?25l[?12l[?25h[?25l:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [converted][New File] 1 line, 30 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [converted][New File] 1 line, 35 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6                      " ! for when setting 'ff' is a change
[?25l"Xtest6" 1 line, 33 characters<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

~   [?25l
^@^@^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest0
[?25l"Xtest0" [converted] 1 line, 12 charactersþþlatin-1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lþþlatin-1

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 12 characters appended[?12l[?25h[?25l:[?12l[?25hset bomb fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest1
[?25l"Xtest1" 1 line, 9 charactersutf-8[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-8


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest2
[?25l"Xtest2" [converted] 1 line, 17 charactersutf-8<80>err
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8<80>err

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 17 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest3
[?25l"Xtest3" [converted] 1 line, 8 charactersucs-2[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [converted][New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4
[?25l"Xtest4" [converted] 1 line, 10 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest5
[?25l"Xtest5" [converted] 1 line, 10 characters4[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6
[?25l"Xtest6" [converted] 1 line, 12 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check the files written with BOM
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 35 lines, 275 characters  fileencoding=latin1nobomb<fe><fe>latin-1  fileencoding=utf-8  bombutf-8  fileencoding=latin1nobomb<feff>utf-8<80>err  fileencoding=utf-16  bombucs-2  fileencoding=utf-16le[?12l[?25h[?25l:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" 1 line, 10 charactersbomb

ucs-2lefileencoding=ucs-4

  bomb

ucs-4fileencoding=ucs-4le

  bomb

ucs-4le

<fe><fe>latin-1[?12l[?25h[?25l

:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" 1 line, 9 characters

<feff>utf-8[?12l[?25h[?25l

:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" 1 line, 17 characters

utf-8<80>err[?12l[?25h[?25l

:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" 1 line, 14 characters

<fe><ff>^@u^@c^@s^@-^@2^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [Incomplete last line] 2 lines, 18 characters

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" 1 line, 28 characters^@

^@^@<fe><ff>^@^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [Incomplete last line] 2 lines, 36 characters

<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@[?12l[?25h[?25l

:[?12l[?25hset nobin ff&               " Write the file in default format
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 44 lines, 409 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test42 = test61; then \
#	  if diff test.out test42.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test42.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test43.failed test.ok test.out X* viminfo
cp test43.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test43.in" 34 lines, 473 charactersTests for regexp with various magic settings.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:$

:set undolevels=100

dv?bar?

Yup:"

:?^1?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 268 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l

1 a aa abb abbccc[?12l[?25h[?25l

/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l

2 d dd dee deefff[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l

3 g gg ghh ghhiii[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\mj*k\{2}l\+/e
[?25l

4 j jj jkk jkklll[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\vm*n{2}o+/e
[?25l

5 m mm mnn mnnooo[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V^aa$
[?25l

6 x ^aa$ x[?12l[?25h[?25laa$ x[?12l[?25h[?25l

:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l

7 (a)(b) abbaa[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l

8 axx [ab]xx[?12l[?25h[?25lab]x[?12l[?25h[?25l

:[?12l[?25h$
[?25l9 foobar[?12l[?25h[?25l

:[?12l[?25hset undolevels=100
[?25l[?12l[?25h[?25l?[?12l[?25hbar?
[?25l~                                                                               [?12l[?25h[?25l



1 more line; before #2  0 seconds agobar[?12l[?25h[?25l

9 foo
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 11L, 137C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test43 = test61; then \
#	  if diff test.out test43.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test43.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test44.failed test.ok test.out X* viminfo
cp test44.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test44.in" 81 lines, 1492 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test99 for exactly the same test with re=2.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=1

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1023 characters written[?12l[?25h[?25l:set ff& cpo+=A



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l:[?12l[?25h" c
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


:[?12l[?25h" d
[?25l[?12l[?25h[?25l/[?12l[?25h[\u4f7f\u5929]\+
[?25l


:[?12l[?25h" e
[?25l[?12l[?25h[?25l/[?12l[?25h\%U12345678
[?25l


:[?12l[?25h" f
[?25l[?12l[?25h[?25l/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


:[?12l[?25h" g
[?25l[?12l[?25h[?25l/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       e y f z

g abb



test.out [+]                                                                    [?12l[?25h[?25l:[?12l[?25h$put =['dog(a', 'cat(']
[?25ldog(acat([+][?12l[?25h[?25l/[?12l[?25h(/e+
[?25l/(/e+1
[?12l[?25h[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hbd!
[?25l1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii


e y



[?25l

[?12l[?25h[?25la[?12l[?25h[?25l

cat(
[?12l[?25h[?25l

:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test44 = test61; then \
#	  if diff test.out test44.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test44.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test45.failed test.ok test.out X* viminfo
cp test45.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test45.in" 90 lines, 1953 charactersTests for folding. vim: set ft=vim :



STARTTEST

:so small.vim

:" We also need the +syntax feature here.

:if !has("syntax")

   e! test.ok

   w! test.out

   qa!

:endif

:" basic test if a fold can be created, opened, moving to the end and closed

/^1

zf2j:call append("$", "manual " . getline(foldclosed(".")))

zo:call append("$", foldclosed("."))

]z:call append("$", getline("."))

zc:call append("$", getline(foldclosed(".")))

:" test folding with markers.

:set fdm=marker fdl=1 fdc=3

/^5

:call append("$", "marker " . foldlevel("."))

[z:call append("$", foldlevel("."))

jo{{ ^[r{jj:call append("$", foldlevel("."))

kYpj:call append("$", foldlevel("."))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for folding. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 73 lines, 1820 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:new

iTest fdm=indent and :move bug END

line2Test fdm=indent STARTline3line4^[

:set fdm=indent

:1m1

2jzc:m0

:%w >> test.out

:qa!

ENDTEST



1 aa

2 bb

3 cc

4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We also need the +syntax feature here.
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("syntax")
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   w! test.out


[?25l:  [?12l[?25h   qa!


[?25l:  [?12l[?25h:endif
[?25l:new

iTest fdm=indent and :move bug END

line2Test fdm=indent START[?12l[?25h[?25l:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[?12l[?25h[?25l1 aa2 bb3 cc4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h[?25l:[?12l[?25hcall append("$", foldclosed("."))
[?25l[?12l[?25h



[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with markers.
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l   :new

   iTest fdm=indent and :move bug END

   line2

           Test fdm=indent START

           line3

           line4^[

   :set fdm=indent

   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa   2 bb   3 cc-  4 dd {{{

|- 5 ee {{{ }}}

|  6 ff }}}

   7 gg

   8 hh

   9 ii

   a jj[?12l[?25h[?25l/[?12l[?25h^5
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l{{ |  6 ff }}}[?12l[?25h[?25l-{|

|

|

|[?12l[?25h[?25l





:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l6 ff }}}

 7 gg

 8 hh[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with indent
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=indent sw=2
[?25l-++---  3 lines: Test fdm=indent START-----------------------------------------:set fdm=indent:1m12jzc:m0%w >> test.out:qa!ENDTEST1 aa2 bb3 cc4 dd {{{5 ee {{{ }}}

 {{{  6 ff }}}  6 ff }}}

  7 gg 8 hh9 iia jj[?12l[?25h[?25l/[?12l[?25h^2 b
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l
-  2 bb[?12l[?25h[?25l
|-    3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test syntax folding
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=syntax fdl=0
[?25l          Test fdm=indent START        line3        line4^[:set fdm=indent1m12jzc:m0:%w >> test.out:qa!ENDTEST

   1 aa  2 bb    3 cc4 dd {{{5 ee {{{ }}}{{{6 ff }}}6 ff }}}7 gg8 hh[?12l[?25h[?25l:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l++--  8 lines: 4 dd ----------------------------------------------------------a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[?12l[?25h[?25l   1 aa

   marker 2

   1

   1

   0

   indent 2

   1[?12l[?25h[?25l:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l
--4 dd {{{commentstart  ||5 ee {{{ }}}

||{{{||6 ff }}}

||6 ff }}}||7 gg

||8 hh

||9 ii

||a jj||b kk

||last

||manual 1 aa

||-1||3 cc[?12l[?25h[?25l commentend- 

|-



| 

  

  

  

  

  

  [?12l[?25h[?25l:[?12l[?25hset fdl=1
[?25l++---  3 lines: 5 ee --------------------------------------------------------- 6 ff }}}++---  2 lines: 7 gg----------------------------------------------------------9 ii  a jj

  b kk

 lastmanual 1 aa-13 cc1 aamarker 21[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hset fdl=0
[?25l++--  8 lines: 4 dd commentstart  commentend----------------------------------  a jj b kk  last manual 1 aa-13 cc1 aarker 2110indent[?12l[?25h[?25l
-4 dd {{{commentstart  commentend|-5 ee {{{ }}}

||{{{||6 ff }}}

|6 ff }}}|-7 gg

||8 hh

|9 iia jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{

|| 6 ff }}}

|  6 ff }}}

|- 7 gg

|| 8 hh

|  9 ii

   a jj

   b kk

   last

   manual 1 aa

   -1

   3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test expression folding
[?25l[?12l[?25h[?25l:[?12l[?25hfun Flvl()
[?25l

:  [?12l[?25h  let l = getline(v:lnum)


[?25l:  [?12l[?25h  if l =~ "bb$"


[?25l:    [?12l[?25h    return 2


[?25l:    [?12l[?25h  elseif l =~ "gg$"


[?25l:    [?12l[?25h    return "s1"


[?25l:    [?12l[?25h  elseif l =~ "ii$"


[?25l:    [?12l[?25h    return ">2"


[?25l:    [?12l[?25h  elseif l =~ "kk$"


[?25l:    [?12l[?25h    return "0"


[?25l:    [?12l[?25h  endif


[?25l:  [?12l[?25h  return "="


[?25l:  [?12l[?25hendfun
[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{[?12l[?25h[?25l:[?12l[?25hset fdm=expr fde=Flvl()
[?25l++-- 11 lines: 2 bb-----------------------------------------------------------b kk last  manual 1 aa  -1  3 cc 1 aa  marker 2

  1 10indent 21++--  4 lines: folding 9 ii---------------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l/[?12l[?25hbb$
[?25lsearch hit BOTTOM, continuing at TOP--  2 bb||    3 cc

||4 dd {{{commentstart  commentend

||5 ee {{{ }}}

||{{{

||6 ff }}}

||6 ff }}}

||7 gg|8 hh

|++---  2 lines: 9 ii----------------------------------------------------------b kklastmanual 1 aa

 -13 cc1 aa[?12l[?25h[?25l:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hhh$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hii$
[?25l-9 ii||a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hkk$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [New File] 18 lines, 96 characters written[?12l[?25h[?25l:[?12l[?25hdelfun Flvl
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l   

   

   

   ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            [No Name]                                                                       5 ee {{{ }}}{{{6 ff }}}|6 ff }}}|7 gg 8 hh

|-9 ii

||a jjb kklast

test45.in [+]                                                                   [?12l[?25h[?25lTest fdm=indent and :move bug ENDline2        Test fdm=indent START        line3        line4[+][?12l[?25h[?25l:[?12l[?25hset fdm=indent
[?25l++--  3 lines: Test fdm=indent START------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l:[?12l[?25h1m1
[?25l[?12l[?25h[?25l:[?12l[?25hm0
[?25l3 lines moved++--  3 lines: Test fdm=indent START------------------------------------------Test fdm=indent and :move bug END

 line2[?12l[?25h[?25l:[?12l[?25h%w >> test.out
[?25l"test.out" 5 lines, 77 characters appendedtest.out [+]]  [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test45 = test61; then \
#	  if diff test.out test45.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test45.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test48.failed test.ok test.out X* viminfo
cp test48.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test48.in" 83 lines, 1658 charactersThis is a test of 'virtualedit'.



STARTTEST

:so small.vim

:set noswf

:set ve=all

-dgg

:"

:"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".

:"    Repeating CTRL-N fixes it. (Mary Ellen Foster)

2/w

C^N^[

:"

:"   Using "C" then then <CR> moves the last remaining character to the next

:"    line.  (Mary Ellen Foster)

j^/are

C^Mare belong to vim^[

:"

:"   When past the end of a line that ends in a single character "b" skips

:"    that word.

^$15lbC7^[

:"

:"   Make sure 'i' works[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of 'virtualedit'.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 61 lines, 1442 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set display=

:"

:"   Test for ^Y/^E due to bad w_virtcol value, reported by

:"   Roy <royl@netropolis.net>.

^O^[3li^E^[4li^E^[4li^E   <-- should show the name of a noted text editor^[

^o^[4li^Y^[4li^Y^[4li^Y   <-- and its version number^[-dd

:"

:" Test for yanking and pasting using the small delete register

gg/^foo

dewve"-p

:wq! test.out

ENDTEST

foo, bar

keyword keyw

all your base are belong to us

1 2 3 4 5 6

'i'

'C'

'a'

'A'

'D'

this is a test

this is a test[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswf
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l65 fewer linesthis is a test

"r"

"r"

a^Vb^Msd

abcv6efi.him0kl





~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               65 fewer lines[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[?12l[?25h[?25l:[?12l[?25h"    Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[?12l[?25h[?25l/[?12l[?25hw
[?25l[?12l[?25h[?25l$Scanning tags.
The only matchword[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Using "C" then then <CR> moves the last remaining character to the next
[?25l[?12l[?25h[?25l:[?12l[?25h"    line.  (Mary Ellen Foster)
[?25l[?12l[?25h
[?25l/[?12l[?25hare
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l$are belong to vim

1 2 3 4 5 6

'i

'C

'a

'A

'D'this is a test



"r"     

a^Vb^Msdabcv6efi.him0kl[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   When past the end of a line that ends in a single character "b" skips
[?25l[?12l[?25h[?25l:[?12l[?25h"    that word.
[?25l[?12l[?25h
[?25l$7[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'i' works
[?25l[?12l[?25h
'i'   [?25l<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'C' works
[?25l[?12l[?25h
'C'   [?25l$<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'a' works
[?25l[?12l[?25h
'a'   [?25l <-- should be 4 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'A' works
[?25l[?12l[?25h
'A'   [?25l<-- should be 0 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'D' works
[?25l[?12l[?25h
'D'   [?25l<-- 'D' should be intact[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for yank bug reported by Mark Waggoner.
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h
[?25l[?12l[?25h[?25laaa[?12l[?25h[?25laaablock of 4 lines yanked[?12l[?25h[?25l3 more linesa

aa [?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" beyond the end of the line
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l/[?12l[?25h^"r"
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h"r"    [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" on a tab
[?25l[?12l[?25h[?25l:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[?12l[?25h
"r"  [?25lx[?12l[?25h[?25lx  <-- should be '  x  '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test to make sure 'x' can delete control characters
[?25l[?12l[?25h[?25l:[?12l[?25hset display=uhex
[?25l<16>b<0d>sd[?12l[?25h
[?25l<16>b<0d>sd[?12l[?25h[?25lb<0d>sd[?12l[?25h[?25l<0d>sd[?12l[?25h[?25lsd[?12l[?25h[?25ld[?12l[?25h[?25l[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[?25l:[?12l[?25hset display=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[?12l[?25h[?25l:[?12l[?25h"   Roy <royl@netropolis.net>.
[?25l[?12l[?25h
[?25l[?12l[?25h   [?25lv[?12l[?25hv   [?25li[?12l[?25hi   [?25lm   <-- should show the name of a noted text editor[?12l[?25h
[?25l[?12l[?25h    [?25l6[?12l[?25h6   [?25l.[?12l[?25h.   [?25l0   <-- and its version number[?12l[?25h[?25l

[?12l[?25h

    [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[?12l[?25h[?25l/[?12l[?25h^foo
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l, bar[?12l[?25h, [?25l[?12l[?25h[?25lba[?12l[?25h[?25l[?12l[?25h[?25lfoo[?12l[?25h

keyw[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 23 lines, 479 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test48 = test61; then \
#	  if diff test.out test48.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test48.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test51.failed test.ok test.out X* viminfo
cp test51.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test51.in" 36 lines, 809 charactersTests for ":highlight". vim: set ft=vim :



STARTTEST

:so small.vim

:" basic test if ":highlight" doesn't crash

:highlight

:hi Search

:" test setting colors.

:" test clearing one color and all doesn't generate error or warning

:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#000ff00 guibg=Cyan

:hi Group2 term= cterm=

:hi Group3 term=underline cterm=bold

:redir! >test.out

:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for ":highlight". vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 31 lines, 747 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[?12l[?25h[?25l:[?12l[?25hhighlight
[?25l

SpecialKey     xxx term=bold ctermfg=4 guifg=Blue


EndOfBuffer    xxx links to NonText


NonTextxxx term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue


Directory      xxx term=bold ctermfg=4 guifg=Blue


ErrorMsgxxx term=standout cterm=bold ctermfg=7 ctermbg=1 guifg=White


guibg=Red


IncSearch      xxx term=reverse cterm=reverse gui=reverse


Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


MoreMsgxxx term=bold ctermfg=2 gui=bold guifg=SeaGreen


ModeMsgxxx term=bold cterm=bold gui=bold


LineNrxxx term=underline ctermfg=3 guifg=Brown


CursorLineNr   xxx term=bold ctermfg=3 gui=bold guifg=Brown


Questionxxx term=standout ctermfg=2 gui=bold guifg=SeaGreen


StatusLine     xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse


StatusLineNC   xxx term=reverse cterm=reverse gui=reverse


VertSplit      xxx term=reverse cterm=reverse gui=reverse


Titlexxx term=bold ctermfg=5 gui=bold guifg=Magenta


Visualxxx term=reverse cterm=reverse guibg=LightGrey


VisualNOS      xxx term=bold,underline cterm=bold,underline gui=bold,underline


WarningMsg     xxx term=standout ctermfg=1 guifg=Red


WildMenuxxx term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow


Foldedxxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue


guibg=LightGrey


FoldColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


DiffAddxxx term=bold ctermbg=4 guibg=LightBlue


DiffChange     xxx term=bold ctermbg=5 guibg=LightMagenta


DiffDelete     xxx term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=Blue


guibg=LightCyan


DiffTextxxx term=reverse cterm=bold ctermbg=1 gui=bold guibg=Red


SignColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


Concealxxx ctermfg=7 ctermbg=0 guifg=LightGrey guibg=DarkGrey


SpellBadxxx term=reverse ctermbg=1 gui=undercurl guisp=Red


SpellCapxxx term=reverse ctermbg=4 gui=undercurl guisp=Blue


SpellRare      xxx term=reverse ctermbg=5 gui=undercurl guisp=Magenta


SpellLocal     xxx term=underline ctermbg=6 gui=undercurl guisp=DarkCyan


Pmenuxxx ctermfg=0 ctermbg=5 guibg=LightMagenta


PmenuSelxxx ctermfg=0 ctermbg=7 guibg=Grey


PmenuSbar      xxx ctermbg=7 guibg=Grey


PmenuThumb     xxx ctermbg=0 guibg=Black


TabLinexxx term=underline cterm=underline ctermfg=0 ctermbg=7


gui=underline guibg=LightGrey


TabLineSel     xxx term=bold cterm=bold gui=bold


TabLineFill    xxx term=reverse cterm=reverse gui=reverse


CursorColumn   xxx term=reverse ctermbg=7 guibg=Grey90


CursorLine     xxx term=underline cterm=underline guibg=Grey90


ColorColumn    xxx term=reverse ctermbg=1 guibg=LightRed


Cursorxxx guifg=bg guibg=fg


lCursorxxx guifg=bg guibg=fg


MatchParen     xxx term=reverse ctermbg=6 guibg=Cyan


Normalxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Search
[?25l

Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" test setting colors.
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" test clearing one color and all doesn't generate error or warning
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0


0ff00 guibg=Cyan
[?25lE418: Illegal value: guifg=#00ff00Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 term= cterm=
[?25lE418: Illegal value: cterm=


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx term=bold cterm=italic ctermfg=4 ctermbg=7


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3
[?25l

Group3xxx term=underline cterm=bold


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear NewGroup
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 NONE
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup[?12l[?25h[?25l

:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hhi Group3
[?25l

Group3xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Crash term='asdf
[?25lE475: Invalid argument: term='asdf


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l:hi NewGroup

:hi Group2

:hi Group3[?12l[?25h[?25l

:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 20 lines, 289 charactersNewGroup       xxx term=bold cterm=italic ctermfg=4 ctermbg=7Group2         xxx clearedGroup3         xxx term=underline cterm=boldNewGroup       xxx clearedGroup2         xxx clearedGroup2         xxx clearedGroup3         xxx clearedE475: Invalid argument: term='asdf

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l2
[?12l[?25h[?25l:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l3
[?12l[?25h[?25l:[?12l[?25h" filter out possibly translated error message
[?25l[?12l[?25h[?25l:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25lterm='asdf[?12l[?25h[?25l:[?12l[?25h" fix the fileformat
[?25l[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hwq!
[?25l"test.out" 20 lines, 271 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test51 = test61; then \
#	  if diff test.out test51.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test51.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test53.failed test.ok test.out X* viminfo
cp test53.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test53.in" 75 lines, 1763 charactersTests for string and html text objects. vim: set ft=vim :



Note that the end-of-line moves the cursor to the next test line.



Also test match() and matchstr()



STARTTEST

:so small.vim

/^start:/

da"

0va'a'rx

02f`da`

0fXdi"

03f'vi'ry

:set quoteescape=+*-

di`

$F"va"oha"i"rz

:"

/^<begin

jfXdit

0fXdit

fXdat

0fXdat[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for string and html text objects. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1237 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =match('abc', '$', 4, 1) " -1

:put =match('abc', '\zs', 0, 1) " 0

:put =match('abc', '\zs', 0, 2) " 1

:put =match('abc', '\zs', 0, 3) " 2

:put =match('abc', '\zs', 0, 4) " 3

:put =match('abc', '\zs', 0, 5) " -1

:put =match('abc', '\zs', 1, 1) " 1

:put =match('abc', '\zs', 2, 1) " 2

:put =match('abc', '\zs', 3, 1) " 3

:put =match('abc', '\zs', 4, 1) " -1

:/^start:/,/^end:/wq! test.out

ENDTEST



start: "wo\"rd\\" foo

'foo' 'bar' 'piep'

bla bla `quote` blah

out " in "noXno"

"'" 'blah' rep 'buh'

bla `s*`d-`+++`l**` b`la

voo "nah" sdf " asdf" sdf " sdf" sd



<begin>

-<b>asdf<i>Xasdf</i>asdf</b>-[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l[?12l[?25h[?25lfo[?12l[?25h
[?25l[?12l[?25h[?25l'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l
xxxxxxxxxxxx
[?12l[?25h

[?25lblah[?12l[?25h
[?25l"[?12l[?25h
[?25l[?12l[?25h[?25l' rep[?12l[?25h[?25lyyyyy[?12l[?25h[?25l:[?12l[?25hset quoteescape=+*-
[?25l[?12l[?25h[?25l` b`la[?12l[?25h[?25l[?12l[?25h[?25l" sdf"[?12l[?25h[?25l" [?12l[?25h[?25l"[?12l[?25h[?25l asdf" sdf [?12l[?25h[?25lah" sdf "
voo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^<begin
[?25l[?12l[?25h

[?25l</i>asdf</b>-[?12l[?25h[?25l

-<b>asdX<i>a<i />sdf</i>asdf</b>-[?12l[?25h
[?25l</b>-[?12l[?25h[?25l

-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[?25lasdf</b>-[?12l[?25h[?25l

-<b>asdX<i>as<b />df</i>asdf</b>-[?12l[?25h
[?25l
--[?12l[?25h[?25l

-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l

</begin>[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l

b[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l

bc[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l

c[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l

a[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 45 lines, 284 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test53 = test61; then \
#	  if diff test.out test53.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test53.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test55.failed test.ok test.out X* viminfo
cp test55.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test55.in" 586 lines, 12256 charactersTests for List and Dictionary types.     vim: set ft=vim :



STARTTEST

:so small.vim

:fun Test(...)

:lang C

:" Creating List directly with different types

:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]

:$put =string(l)

:$put =string(l[-1])

:$put =string(l[-4])

:try

:  $put =string(l[-5])

:catch

:  $put =v:exception[:14]

:endtry

:" List slices

:$put =string(l[:])

:$put =string(l[1:])

:$put =string(l[:-2])

:$put =string(l[0:8])

:$put =string(l[8:-1])

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for List and Dictionary types.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 580 lines, 12170 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test(...)
[?25l

:  [?12l[?25h:lang C


[?25l:  [?12l[?25h:" Creating List directly with different types


[?25l:  [?12l[?25h:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:$put =string(l[-4])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-5])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List slices


[?25l:  [?12l[?25h:$put =string(l[:])


[?25l:  [?12l[?25h:$put =string(l[1:])


[?25l:  [?12l[?25h:$put =string(l[:-2])


[?25l:  [?12l[?25h:$put =string(l[0:8])


[?25l:  [?12l[?25h:$put =string(l[8:-1])


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" List identity


[?25l:  [?12l[?25h:let ll = l


[?25l:  [?12l[?25h:let lx = copy(l)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(l == ll) . (l isnot ll) . (l is ll) . (l == lx) . (l is lx) . (l


isnot lx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Creating Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}


[?25l:  [?12l[?25h:$put =string(d) . d.1


[?25l:  [?12l[?25h:$put =string(sort(keys(d)))


[?25l:  [?12l[?25h:$put =string (values(d))


[?25l:  [?12l[?25h:for [key, val] in items(d)


[?25l:    [?12l[?25h:  $put =key . ':' . string(val)


[?25l:    [?12l[?25h:  unlet key val


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:call extend  (d, {3:33, 1:99})


[?25l:  [?12l[?25h:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  call extend(d, {3:333,4:444}, "error")


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:call filter(d, 'v:key =~ ''[ac391]''')


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary identity


[?25l:  [?12l[?25h:let dd = d


[?25l:  [?12l[?25h:let dx = copy(d)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(d == dd) . (d isnot dd) . (d is dd) . (d == dx) . (d is dx) . (d


isnot dx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items with :unlet


[?25l:  [?12l[?25h:unlet l[2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:let l = range(8)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:unlet l[:3]


[?25l:    [?12l[?25h:unlet l[1:]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:$put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:unlet d.c


[?25l:  [?12l[?25h:unlet d[-1]


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:1]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:3]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:4]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:5]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-1:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-3:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-4:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-5:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-6:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" assignment to a list


[?25l:  [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:let [va, vb] = l[2:3]


[?25l:  [?12l[?25h:$put =va


[?25l:  [?12l[?25h:$put =vb


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l[1:1]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: let d[i] = 3000 - i


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[1400] . ' ' . d[1499]


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let n = d[1500]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =substitute(v:exception, '\v(.{14}).*( \d{4}).*', '\1\2', '')


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" lookup each items


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h: let i += 1


[?25l:  [?12l[?25h:" delete even items


[?25l:  [?12l[?25h:while i >= 2


[?25l:    [?12l[?25h: let i -= 2


[?25l:    [?12l[?25h: unlet d[i]


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =get(d, 1500 - 100, 'NONE') . ' ' . d[1]


[?25l:  [?12l[?25h:" delete odd items, checking value, one intentionally wrong


[?25l:  [?12l[?25h:let d[33] = 999


[?25l:  [?12l[?25h:let i = 1


[?25l:  [?12l[?25h:while i < 1500


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =i . '=' . d[i]


[?25l:      [?12l[?25h: else


[?25l:      [?12l[?25h:  unlet d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h: let i += 2


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =string(d)  " must be almost empty now


[?25l:  [?12l[?25h:unlet d


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary function


[?25l:  [?12l[?25h:let dict = {}


[?25l:  [?12l[?25h:func dict.func(a) dict


[?25l:    [?12l[?25h:  $put =a:a . len(self.data)


[?25l:    [?12l[?25h:endfunc


[?25l:    [?12l[?25h:let dict.data = [1,2,3]


[?25l:    [?12l[?25h:call dict.func("len: ")


[?25l:    [?12l[?25h:let x = dict.func("again: ")


[?25l:    [?12l[?25h:let Fn = dict.func


[?25l:    [?12l[?25h:call Fn('xxx')


[?25l:    [?12l[?25h:" 


[?25l:    [?12l[?25h:" Function in script-local List or Dict


[?25l:    [?12l[?25h:let g:dict = {}


[?25l:    [?12l[?25h:function g:dict.func() dict


[?25l:      [?12l[?25h:  $put ='g:dict.func'.self.foo[1].self.foo[0]('asdf')


[?25l:      [?12l[?25h:endfunc


[?25l:      [?12l[?25h:let g:dict.foo = ['-', 2, 3]


[?25l:      [?12l[?25h:call insert(g:dict.foo, function('strlen'))


[?25l:      [?12l[?25h:call g:dict.func()


[?25l:      [?12l[?25h:" 


[?25l:      [?12l[?25h:" Nasty: remove func from Dict that's being called (works)


[?25l:      [?12l[?25h:let d = {1:1}


[?25l:      [?12l[?25h:func d.func(a)


[?25l:[?12l[?25h:  return "a:". a:a


[?25l:[?12l[?25h:endfunc


[?25l:[?12l[?25h:$put =d.func(string(remove(d, 'func')))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used


)

[?25l:[?12l[?25h:let d = {1:1, 2:2}


[?25l:[?12l[?25h:let l = [4, d, 6]


[?25l:[?12l[?25h:let d[3] = l


[?25l:[?12l[?25h:let dc = deepcopy(d)


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let dc = deepcopy(d, 1)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:let l2 = [0, l, l, 3]


[?25l:[?12l[?25h:let l[1] = l2


[?25l:[?12l[?25h:let l3 = deepcopy(l2)


[?25l:[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1][0] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2]['6'][7] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2][6] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Unletting locked variables


[?25l:[?12l[?25h:$put ='Unletting:'


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]['6'][7]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2][6]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1][0]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables and :unlet or list / dict functions


[?25l:[?12l[?25h:$put ='Locks and commands or functions:'


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put =':unlet after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='filter() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call filter(d, 'v:key != "a"')


[?25l:[?12l[?25h:  $put ='did filter()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='map() after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call map(d, 'v:val + 200')


[?25l:[?12l[?25h:  $put ='did map()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  $put =string(extend(d, {'a': 123}))


[?25l:[?12l[?25h:  $put ='did extend()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na


me'))


[?25l:[?12l[?25h:    $put ='did remove()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(extend(a:, {'this_is_a_loooooooooong_parameter


_name': 1234}))


[?25l:[?12l[?25h:    $put ='did extend()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet of variable in locked scope:'


[?25l:[?12l[?25h:let b:testvar = 123


[?25l:[?12l[?25h:lockvar 1 b:


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet b:testvar


[?25l:[?12l[?25h:  $put ='b:testvar was :unlet: '. (!exists('b:testvar'))


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:unlockvar 1 b:


[?25l:[?12l[?25h:unlet! b:testvar


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :let += of locked list variable:'


[?25l:[?12l[?25h:let l = ['a', 'b', 3]


[?25l:[?12l[?25h:lockvar 1 l


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let l += ['x']


[?25l:[?12l[?25h:  $put ='did :let +='


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:lockvar! l


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:unlet l[0:1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l[1:2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:let l[0:1] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let l[1:2] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:" :lockvar/islocked() triggering script autoloading


[?25l:[?12l[?25h:set rtp+=./sautest


[?25l:[?12l[?25h:lockvar g:footest#x


[?25l:[?12l[?25h:unlockvar g:footest#x


[?25l:[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')


[?25l:[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')


[?25l:[?12l[?25h:$put ='g:footest#x: '.g:footest#x


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" a:000 function argument


[?25l:[?12l[?25h:" first the tests that should fail


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000 = [1, 2]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[0] = 9


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[0]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2] = [9, 10]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[2]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[3] = {9: 10}


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[3]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:" now the tests that should pass


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2][1] = 9


[?25l:[?12l[?25h:  call extend(a:000[2], [5, 6])


[?25l:[?12l[?25h:  let a:000[3][5] = 8


[?25l:[?12l[?25h:  let a:000[3]['a'] = 12


[?25l:[?12l[?25h:  $put =string(a:000)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught ' . v:exception


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" reverse(), sort(), uniq()


[?25l:[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 


1, 2], 'x8', [0, 1, 2], 1.5]


[?25l:[?12l[?25h:$put =string(uniq(copy(l)))


[?25l:[?12l[?25h:$put =string(reverse(l))


[?25l:[?12l[?25h:$put =string(reverse(reverse(l)))


[?25l:[?12l[?25h:$put =string(sort(l))


[?25l:[?12l[?25h:$put =string(reverse(sort(l)))


[?25l:[?12l[?25h:$put =string(sort(reverse(sort(l))))


[?25l:[?12l[?25h:$put =string(uniq(sort(l)))


[?25l:[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf


f, 0.22, 'four']


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'n'))


[?25l:[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 


'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]


[?25l:[?12l[?25h:$put =string(sort(copy(l), 1))


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'i'))


[?25l:[?12l[?25h:$put =string(sort(copy(l)))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" splitting a string to a List


[?25l:[?12l[?25h:$put =string(split('  aa  bb '))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 0))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 1))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W', 1))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))


[?25l:[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs'))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs', 1))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare recursively linked list and dict


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}


[?25l:[?12l[?25h:let l[1] = d


[?25l:[?12l[?25h:$put =(l == l)


[?25l:[?12l[?25h:$put =(d == d)


[?25l:[?12l[?25h:$put =(l != deepcopy(l))


[?25l:[?12l[?25h:$put =(d != deepcopy(d))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare complex recursively linked list and dict


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:call add(l, l)


[?25l:[?12l[?25h:let dict4 = {"l": l}


[?25l:[?12l[?25h:call add(dict4.l, dict4)


[?25l:[?12l[?25h:let lcopy = deepcopy(l)


[?25l:[?12l[?25h:let dict4copy = deepcopy(dict4)


[?25l:[?12l[?25h:$put =(l == lcopy)


[?25l:[?12l[?25h:$put =(dict4 == dict4copy)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same List to extend()


[?25l:[?12l[?25h:let l = [1, 2, 3, 4, 5]


[?25l:[?12l[?25h:call extend(l, l)


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend()


[?25l:[?12l[?25h:let d = { 'a': {'b': 'B'}}


[?25l:[?12l[?25h:call extend(d, d)


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend() with "error"


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call extend(d, d, "error")


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" test for range assign


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:let l[:] = [1, 2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:endfun
[?25l:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6})  " This may take a while
[?25lError detected while processing function Test:

line   76:


E684: list index out of range: 1


line   91:


E684: list index out of range: 2


line  271:


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


line  441:


E741: Value is locked: l[0:1]


line  443:


E741: Value is locked: l[1:2]


line  446:


E741: Value is locked: l[0:1] = [0, 1]


line  448:


E741: Value is locked: l[1:2] = [0, 1]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb']

['aa', 'bb']

['', 'aa', 'bb', '']

['', '', 'aa', '', 'bb', '', '']

['aa', '', 'bb']

['', 'aa', '', 'bb', '']

['aa', '', 'bb', 'cc', '']

['a', 'b', 'c']

['', 'a', '', 'b', '', 'c', '']

1

1

0

0

1

1

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

{'a': {'b': 'B'}}

Vim(call):E737: a

{'a': {'b': 'B'}}

[1, 2]

~                                                                               [?12l[?25h[?25l



:[?12l[?25hdelfunc Test
[?25l[?12l[?25h[?25l:[?12l[?25hunlet dict
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for patch 7.3.637
[?25l[?12l[?25h[?25l:[?12l[?25hlet a = 'No error caught'
[?25l[?12l[?25h[?25l:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[?12l[?25h[?25l=[?12l[?25ha
[?25lVim(foldopen):E490:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hredir => a
[?25l[?12l[?25h[?25l:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'


)|endtry


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb'][?12l[?25h[?25l

=[?12l[?25ha
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))|endtry

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 197 lines, 3821 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test55 = test61; then \
#	  if diff test.out test55.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test55.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test56.failed test.ok test.out X* viminfo
cp test56.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test56.in" 21 lines, 457 charactersTest for script-local function.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:set nocp viminfo+=nviminfo

:/^start:/+1,/^end:/-1w! Xtest.vim

:source Xtest.vim

_x

:$-1,$wq! test.out

ENDTEST



start:

fun <SID>DoLast()

  call append(line('$'), "last line")

endfun

fun s:DoNothing()

  call append(line('$'), "nothing line")

endfun

nnoremap <buffer> _x    :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunnc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>

end:

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for script-local function.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 120 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [New] 7L, 251C written[?12l[?25h[?25l:[?12l[?25hsource Xtest.vim
[?25l[?12l[?25h[?25l:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc 


<SNR>4_DoLast
Press ENTER or type command to continue[?12l[?25h[?25lTest for script-local function.     vim: set ft=vim :nothing line[?12l[?25h[?25l:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [New] 2L, 23C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test56 = test61; then \
#	  if diff test.out test56.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test56.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test57.failed test.ok test.out X* viminfo
cp test57.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test57.in" 545 lines, 4110 charactersTests for :sort command.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:/^t01:/+1,/^t02/-1sort

:/^t02:/+1,/^t03/-1sort n

:/^t03:/+1,/^t04/-1sort x

:/^t04:/+1,/^t05/-1sort u

:/^t05:/+1,/^t06/-1sort!

:/^t06:/+1,/^t07/-1sort! n

:/^t07:/+1,/^t08/-1sort! u

:/^t08:/+1,/^t09/-1sort o

:/^t09:/+1,/^t10/-1sort! x

:/^t10:/+1,/^t11/-1sort/./

:/^t11:/+1,/^t12/-1sort/../

:/^t12:/+1,/^t13/-1sort/../u

:/^t13:/+1,/^t14/-1sort/./n

:/^t14:/+1,/^t15/-1sort/./r

:/^t15:/+1,/^t16/-1sort/../r

:/^t16:/+1,/^t17/-1sort/./rn

:/^t17:/+1,/^t18/-1sort/\d/

:/^t18:/+1,/^t19/-1sort/\d/r[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :sort command.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 33 lines, 920 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:/^t21:/+1,/^t22/-1sort/\d\d/

:/^t22:/+1,/^t23/-1sort/\d\d/n

:/^t23:/+1,/^t24/-1sort/\d\d/x

:/^t24:/+1,/^t25/-1sort/\d\d/r

:/^t25:/+1,/^t26/-1sort/\d\d/rn

:/^t26:/+1,/^t27/-1sort/\d\d/rx

:/^t27:/+1,/^t28/-1sort no

:/^t28:/+1,/^t29/-1sort b

:/^t29:/+1,/^t30/-1sort b

:/^t30:/+1,/^t31/-1sort f

:/^t01:/,$wq! test.out

ENDTEST



t01: alphebetical

abc

ab

a

a321

a123

a122

b321

b123

c123d[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l 123b2

a123

a

ababc[?12l[?25h[?25l:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25lb123

b321

b321

b321b

b322b

c123d

c321d

t02: numeric

abc[?12l[?25h[?25l

:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t03: hexadecimal





a

ab

abc

 123b

a122

a123

a321

b123

b321

b321[?12l[?25h[?25l:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25lb321b

b322b

c123d

c321d

t04: alpha, unique[?12l[?25h[?25l

:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25la123

a321

ab

abc

b123

b321

b321b

b322b

c123d

c321d

t05: alpha, reverse

c321d

c123d

b322b

b321b

b321

b321

b123

abc

ab

a321

a123

a122[?12l[?25h[?25l:[?12l[?25h/^t06:/+1,/^t07/-1sort! n        
[?25la

 123b





t06: numeric, reverse

b322b[?12l[?25h[?25l

:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l123b

c123d

b123

a123

a122





a

ab

abc

t07: unique, reverse

c321d

c123d

b322b

b321b

b321

b123

abc

ab

a321

a123

a122

a[?12l[?25h[?25l:[?12l[?25h/^t08:/+1,/^t09/-1sort o         
[?25l123b



t08: octal

abc[?12l[?25h[?25l

:[?12l[?25h/^t09:/+1,/^t10/-1sort! x        
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t09: reverse, hexadecimal

c321d

c123d

b322b

b321b

b321

b321

b123

a321

a123

a122

 123b

abc[?12l[?25h[?25l:[?12l[?25h/^t10:/+1,/^t11/-1sort/./        
[?25lab

a





t10: alpha, skip first character

a[?12l[?25h[?25l

:[?12l[?25h/^t11:/+1,/^t12/-1sort/../       
[?25l123b

c123d

a321

b321

b321

b321b

c321d

b322b

ab

abc

t11: alpha, skip first 2 characters

ab

a





a321

b321

b321

b321b

c321d

a122

b322b

a123[?12l[?25h[?25l:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25lb123

 123b

c123d

abc

t12: alpha, unique, skip first 2 characters

ab[?12l[?25h[?25l

:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25lb321

b321b

c321d

a122

b322b

a123

b123

 123b

c123d

abc

t13: numeric, skip first character

abc

ab

a





a122

a123

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25lc321d

b321

b321b

b322b

t14: alpha, sort on first character[?12l[?25h[?25l

:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25la321

a123

a122

b321

b123

b322b

b321

b321b

c123d

c321d

t15: alpha, sort on first 2 characters

a123b

a123

a122

a321

abc

ab

b123

b321

b322b[?12l[?25h[?25l:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25lb321

b321b

c123d

c321d

t16: numeric, sort on first character

abc[?12l[?25h[?25l

:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t17: alpha, skip past first digit

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25la123

b123

 123b

c123d

t18: alpha, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t19: numeric, skip past first digit

abc

ab

a





a321

b321

c321d

b321

b321b

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25la123

b123

c123d

 123b

t20: numeric, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t21: alpha, skip past first 2 digits

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25la123

b123

 123b

c123d

t22: numeric, skip past first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25lb321

c321d

b321

b321b

a122

b322b

a123

b123

c123d

 123b

t23: hexadecimal, skip past first 2 digits

abc

ab

a





a321

b321

b321

a122

a123

b123

b321b[?12l[?25h[?25l:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25lc321d

b322b

 123b

c123d

t24: alpha, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t25: numeric, sort on first 2 digits

abc

ab

a





a123

a122

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25lc321d

b322b

b321

b321b

t26: hexadecimal, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25lE474: Invalid argument[?12l[?25h[?25l:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t28: binary





0b000000

0b001000

0b010000

0b100000

0b100010

0b100010

0b100100

0b101000

0b101000

0b101001[?12l[?25h[?25l:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l0b101001

0b101010

0b101100

0b111000

t29: binary with leading characters[?12l[?25h[?25l

:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25la0b001000

0b010000

ab0b100000

0b100010

0b100010

 0b100100

0b101000

0b101000

 0b101001

a0b101001

0b101010

b0b101100

b0b111000

t30: float





-1.1e3

-1.01e3

1.15e-6

0.88

1.234

123.456

t31: done[?12l[?25h[?25l:[?12l[?25h/^t01:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 501 lines, 3105 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test57 = test61; then \
#	  if diff test.out test57.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test57.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test60.failed test.ok test.out X* viminfo
cp test60.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test60.in" 601 lines, 13116 charactersTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :



STARTTEST

:so small.vim

:function! RunTest(str, result)

    if exists(a:str) == a:resultecho "OK"

    elseecho "FAILED: Checking for " . a:str

    endif

endfunction

:function! TestExists()

    augroup myagroupautocmd! BufEnter*.my     echo "myfile edited"autocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"

    augroup END

    set rtp+=./sautestlet test_cases = []" valid autocmd group

    let test_cases += [['#myagroup', 1]]

    " valid autocmd group with garbage[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 596 lines, 13023 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! RunTest(str, result)
[?25l

:  [?12l[?25h    if exists(a:str) == a:result


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED: Checking for " . a:str


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x[?12l[?25h[?25l

:[?12l[?25hfunction! TestExists()
[?25l

:  [?12l[?25h    augroup myagroup


[?25l:  [?12l[?25h^Iautocmd! BufEnter       *.my     echo "myfile edited"


[?25l:  [?12l[?25h^Iautocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"


[?25l:  [?12l[?25h    augroup END


[?25l:  [?12l[?25h    set rtp+=./sautest


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    let test_cases = []


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " valid autocmd group


[?25l:  [?12l[?25h    let test_cases += [['#myagroup', 1]]


[?25l:  [?12l[?25h    " valid autocmd group with garbage


[?25l:  [?12l[?25h    let test_cases += [['#myagroup+b', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd group or event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup', 0]]


[?25l:  [?12l[?25h    " Non-existing autocmd group and valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup#BufEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event with no matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#CmdwinEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#xyzacmd', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['###', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group and event or empty event and pattern


[?25l:  [?12l[?25h    let test_cases += [['##', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##FileReadCmd', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##MySpecialCmd', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&textwidth', 1]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&tw', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['&tw-', 0]]


[?25l:  [?12l[?25h    " Global option


[?25l:  [?12l[?25h    let test_cases += [['&g:errorformat', 1]]


[?25l:  [?12l[?25h    " Local option


[?25l:  [?12l[?25h    let test_cases += [['&l:errorformat', 1]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&nojoinspaces', 0]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&nojs', 0]]


[?25l:  [?12l[?25h    " Non-existing option


[?25l:  [?12l[?25h    let test_cases += [['&myxyzoption', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['+incsearch', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['+incsearch!1', 0]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['+is', 1]]


[?25l:  [?12l[?25h    " Existing option that is hidden.


[?25l:  [?12l[?25h    let test_cases += [['+autoprint', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing environment variable


[?25l:  [?12l[?25h    let $EDITOR_NAME = 'Vim Editor'


[?25l:  [?12l[?25h    let test_cases += [['$EDITOR_NAME', 1]]


[?25l:  [?12l[?25h    " Non-existing environment variable


[?25l:  [?12l[?25h    let test_cases += [['$NON_ENV_VAR', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal function


[?25l:  [?12l[?25h    let test_cases += [['*bufnr', 1]]


[?25l:  [?12l[?25h    " Valid internal function with ()


[?25l:  [?12l[?25h    let test_cases += [['*bufnr()', 1]]


[?25l:  [?12l[?25h    " Non-existing internal function


[?25l:  [?12l[?25h    let test_cases += [['*myxyzfunc', 0]]


[?25l:  [?12l[?25h    " Valid internal function with garbage


[?25l:  [?12l[?25h    let test_cases += [['*bufnr&6', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid user defined function


[?25l:  [?12l[?25h    let test_cases += [['*TestExists', 1]]


[?25l:  [?12l[?25h    " Non-existing user defined function


[?25l:  [?12l[?25h    let test_cases += [['*MyxyzFunc', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function that may be created by FuncUndefined event


[?25l:  [?12l[?25h    let test_cases += [['*UndefFun', 0]]


[?25l:  [?12l[?25h    " Function that may be created by script autoloading


[?25l:  [?12l[?25h    let test_cases += [['*footest#F', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    redir! > test.out


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    for [test_case, result] in test_cases


[?25l:    [?12l[?25h        echo test_case . ": " . result


[?25l:    [?12l[?25h        call RunTest(test_case, result)


[?25l:    [?12l[?25h    endfor


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match)


[?25l:  [?12l[?25h    echo ':edit: 2'


[?25l:  [?12l[?25h    if exists(':edit') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match) with garbage


[?25l:  [?12l[?25h    echo ':edit/a: 0'


[?25l:  [?12l[?25h    if exists(':edit/a') == 0


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (partial match)


[?25l:  [?12l[?25h    echo ':q: 1'


[?25l:  [?12l[?25h    if exists(':q') == 1


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing internal command


[?25l:  [?12l[?25h    echo ':invalidcmd: 0'


[?25l:  [?12l[?25h    if !exists(':invalidcmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (full match)


[?25l:  [?12l[?25h    command! MyCmd :echo 'My command'


[?25l:  [?12l[?25h    echo ':MyCmd: 2'


[?25l:  [?12l[?25h    if exists(':MyCmd') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (partial match)


[?25l:  [?12l[?25h    command! MyOtherCmd :echo 'Another command'


[?25l:  [?12l[?25h    echo ':My: 3'


[?25l:  [?12l[?25h    if exists(':My') == 3


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Command modifier


[?25l:  [?12l[?25h    echo ':rightbelow: 2'


[?25l:  [?12l[?25h    if exists(':rightbelow') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (full match)


[?25l:  [?12l[?25h    delcommand MyCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':MyCmd: 0'


[?25l:  [?12l[?25h    if !exists(':MyCmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (partial match)


[?25l:  [?12l[?25h    delcommand MyOtherCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':My: 0'


[?25l:  [?12l[?25h    if !exists(':My')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var: 1'


[?25l:  [?12l[?25h    if exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable with garbage


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var%n: 0'


[?25l:  [?12l[?25h    if !exists('local_var%n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local variable


[?25l:  [?12l[?25h    unlet local_var


[?25l:  [?12l[?25h    echo 'local_var: 0'


[?25l:  [?12l[?25h    if !exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing autoload variable that may be autoloaded


[?25l:  [?12l[?25h    echo 'footest#x: 0'


[?25l:  [?12l[?25h    if !exists('footest#x')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list


[?25l:  [?12l[?25h    let local_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'local_list: 1'


[?25l:  [?12l[?25h    if exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item


[?25l:  [?12l[?25h    echo 'local_list[1]: 1'


[?25l:  [?12l[?25h    if exists('local_list[1]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item with garbage


[?25l:  [?12l[?25h    echo 'local_list[1]+5: 0'


[?25l:  [?12l[?25h    if !exists('local_list[1]+5')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Invalid local list item


[?25l:  [?12l[?25h    echo 'local_list[2]: 0'


[?25l:  [?12l[?25h    if !exists('local_list[2]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local list


[?25l:  [?12l[?25h    unlet local_list


[?25l:  [?12l[?25h    echo 'local_list: 0'


[?25l:  [?12l[?25h    if !exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local dictionary


[?25l:  [?12l[?25h    let local_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'local_dict: 1'


[?25l:  [?12l[?25h    if exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local dictionary


[?25l:  [?12l[?25h    unlet local_dict


[?25l:  [?12l[?25h    echo 'local_dict: 0'


[?25l:  [?12l[?25h    if !exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing local curly-brace variable


[?25l:  [?12l[?25h    let str = "local"


[?25l:  [?12l[?25h    let curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local curly-brace variable


[?25l:  [?12l[?25h    unlet curly_{str}_var


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable


[?25l:  [?12l[?25h    let g:global_var = 1


[?25l:  [?12l[?25h    echo 'g:global_var: 1'


[?25l:  [?12l[?25h    if exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable with garbage


[?25l:  [?12l[?25h    echo 'g:global_var-n: 1'


[?25l:  [?12l[?25h    if !exists('g:global_var-n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global variable


[?25l:  [?12l[?25h    unlet g:global_var


[?25l:  [?12l[?25h    echo 'g:global_var: 0'


[?25l:  [?12l[?25h    if !exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global list


[?25l:  [?12l[?25h    let g:global_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'g:global_list: 1'


[?25l:  [?12l[?25h    if exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global list


[?25l:  [?12l[?25h    unlet g:global_list


[?25l:  [?12l[?25h    echo 'g:global_list: 0'


[?25l:  [?12l[?25h    if !exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global dictionary


[?25l:  [?12l[?25h    let g:global_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'g:global_dict: 1'


[?25l:  [?12l[?25h    if exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global dictionary


[?25l:  [?12l[?25h    unlet g:global_dict


[?25l:  [?12l[?25h    echo 'g:global_dict: 0'


[?25l:  [?12l[?25h    if !exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global curly-brace variable


[?25l:  [?12l[?25h    let str = "global"


[?25l:  [?12l[?25h    let g:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global curly-brace variable


[?25l:  [?12l[?25h    unlet g:curly_{str}_var


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window variable


[?25l:  [?12l[?25h    echo 'w:window_var: 1'


[?25l:  [?12l[?25h    let w:window_var = 1


[?25l:  [?12l[?25h    if exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window variable


[?25l:  [?12l[?25h    unlet w:window_var


[?25l:  [?12l[?25h    echo 'w:window_var: 0'


[?25l:  [?12l[?25h    if !exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window list


[?25l:  [?12l[?25h    let w:window_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'w:window_list: 1'


[?25l:  [?12l[?25h    if exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window list


[?25l:  [?12l[?25h    unlet w:window_list


[?25l:  [?12l[?25h    echo 'w:window_list: 0'


[?25l:  [?12l[?25h    if !exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window dictionary


[?25l:  [?12l[?25h    let w:window_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'w:window_dict: 1'


[?25l:  [?12l[?25h    if exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window dictionary


[?25l:  [?12l[?25h    unlet w:window_dict


[?25l:  [?12l[?25h    echo 'w:window_dict: 0'


[?25l:  [?12l[?25h    if !exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window curly-brace variable


[?25l:  [?12l[?25h    let str = "window"


[?25l:  [?12l[?25h    let w:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window curly-brace variable


[?25l:  [?12l[?25h    unlet w:curly_{str}_var


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer variable


[?25l:  [?12l[?25h    echo 'b:buffer_var: 1'


[?25l:  [?12l[?25h    let b:buffer_var = 1


[?25l:  [?12l[?25h    if exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer variable


[?25l:  [?12l[?25h    unlet b:buffer_var


[?25l:  [?12l[?25h    echo 'b:buffer_var: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer list


[?25l:  [?12l[?25h    let b:buffer_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'b:buffer_list: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer list


[?25l:  [?12l[?25h    unlet b:buffer_list


[?25l:  [?12l[?25h    echo 'b:buffer_list: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer dictionary


[?25l:  [?12l[?25h    let b:buffer_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer dictionary


[?25l:  [?12l[?25h    unlet b:buffer_dict


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer curly-brace variable


[?25l:  [?12l[?25h    let str = "buffer"


[?25l:  [?12l[?25h    let b:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer curly-brace variable


[?25l:  [?12l[?25h    unlet b:curly_{str}_var


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Script-local tests


[?25l:  [?12l[?25h    source test60.vim


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:version: 1'


[?25l:  [?12l[?25h    if exists('v:version')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:non_exists_var: 0'


[?25l:  [?12l[?25h    if !exists('v:non_exists_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function arguments


[?25l:  [?12l[?25h    function TestFuncArg(func_arg, ...)


[?25l:    [?12l[?25h        echo 'a:func_arg: 1'


[?25l:    [?12l[?25h        if exists('a:func_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:non_exists_arg: 0'


[?25l:    [?12l[?25h        if !exists('a:non_exists_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:1: 1'


[?25l:    [?12l[?25h        if exists('a:1')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:2: 0'


[?25l:    [?12l[?25h        if !exists('a:2')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h    endfunction


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    call TestFuncArg("arg1", "arg2")


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    echo ' g:footest#x =' g:footest#x


[?25l:    [?12l[?25h    echo '   footest#F()' footest#F()


[?25l:    [?12l[?25h    echo 'UndefFun()' UndefFun()


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    redir END


[?25l:    [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hcall TestExists()
[?25l#myagroup: 1

OK


#myagroup+b: 0


OK


#myagroup#BufEnter: 1


OK


#myagroup#BufEnter#*.my: 1


OK


#BufEnter: 1


OK


#BufEnter#*.my: 1


OK


#xyzagroup: 0


OK


#xyzagroup#BufEnter: 0


OK


#myagroup#CmdwinEnter: 0


OK


#myagroup#xyzacmd: 0


OK


#myagroup#BufEnter#xyzpat: 0


OK


#BufEnter#xyzpat: 0


OK


###: 0


OK


##: 0


OK


##FileReadCmd: 1


OK


##MySpecialCmd: 0


OK


&textwidth: 1


OK


&tw: 1


OK


&tw-: 0


OK


&g:errorformat: 1


OK


&l:errorformat: 1


OK


&nojoinspaces: 0


OK


&nojs: 0


OK


&myxyzoption: 0


OK


+incsearch: 1


OK


+incsearch!1: 0


OK


+is: 1


OK


+autoprint: 0


OK


$EDITOR_NAME: 1


OK


$NON_ENV_VAR: 0


OK


*bufnr: 1


OK


*bufnr(): 1


OK


*myxyzfunc: 0


OK


*bufnr&6: 0


OK


*TestExists: 1


OK


*MyxyzFunc: 0


OK


*UndefFun: 0


OK


*footest#F: 0


OK


:edit: 2


OK


:edit/a: 0


OK


:q: 1


OK


:invalidcmd: 0


OK


:MyCmd: 2


OK


:My: 3


OK


:rightbelow: 2


OK


:MyCmd: 0


OK


:My: 0


OK


local_var: 1


OK


local_var%n: 0


OK


local_var: 0


OK


footest#x: 0


OK


local_list: 1


OK


local_list[1]: 1


OK


local_list[1]+5: 0


OK


local_list[2]: 0


OK


local_list: 0


OK


local_dict: 1


OK


local_dict: 0


OK


curly_local_var: 1


OK


curly_local_var: 0


OK


g:global_var: 1


OK


g:global_var-n: 1


OK


g:global_var: 0


OK


g:global_list: 1


OK


g:global_list: 0


OK


g:global_dict: 1


OK


g:global_dict: 0


OK


g:curly_global_var: 1


OK


g:curly_global_var: 0


OK


w:window_var: 1


OK


w:window_var: 0


OK


w:window_list: 1


OK


w:window_list: 0


OK


w:window_dict: 1


OK


w:window_dict: 0


OK


w:curly_window_var: 1


OK


w:curly_window_var: 0


OK


b:buffer_var: 1


OK


b:buffer_var: 0


OK


b:buffer_list: 1


OK


b:buffer_list: 0


OK


b:buffer_dict: 1


OK


b:buffer_dict: 0


OK


b:curly_buffer_var: 1


OK


b:curly_buffer_var: 0


OK


s:script_var: 1


OK


s:script_var: 0


OK


s:script_list: 1


OK


s:script_list: 0


OK


s:script_dict: 1


OK


s:script_dict: 0


OK


s:curly_script_var: 1


OK


s:curly_script_var: 0


OK


*s:my_script_func: 1


OK


*s:my_script_func: 0


OK


v:version: 1


OK


v:non_exists_var: 0


OK


a:func_arg: 1


OK


a:non_exists_arg: 0


OK


a:1: 1


OK


a:2: 0


OK


 g:footest#x = 1


   footest#F() 0


UndefFun() 0


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hdelfunc TestExists
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestFuncArg
[?25l[?12l[?25h[?25l:[?12l[?25hedit! test.out
[?25l"test.out" [Incomplete last line] 206 lines, 1940 characters#myagroup: 1OK

#myagroup+b: 0OK

#myagroup#BufEnter: 1OK#myagroup#BufEnter#*.my: 1OK

#BufEnter: 1OK#BufEnter#*.my: 1OK

#xyzagroup: 0OK#xyzagroup#BufEnter: 0

OK#myagroup#CmdwinEnter: 0

OK

#myagroup#xyzacmd: 0

OK#myagroup#BufEnter#xyzpat: 0

OK[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test60 = test61; then \
#	  if diff test.out test60.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test60.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test64.failed test.ok test.out X* viminfo
cp test64.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test64.in" 654 lines, 27565 charactersTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns without multi-byte support.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 621 lines, 27090 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:for pat in [' \ze*', ' \zs*']

:  try

:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp engine
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"operator \|
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search single groups
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', '                    ab           ', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search multi-modifiers
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" no match here
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na


sfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" leading star as normal char when \{} follows
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test groups of characters and submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1', 


''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi


iiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe


lix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '


yyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aá ^I', 'aá '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa


','xayzxayz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx


ayzxa',''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test Character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test collections and character range []
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl


mnopqrstuvwxyz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[?12l[?25h[?25l:[?12l[?25h" filename regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[?12l[?25h[?25l:[?12l[?25h" special chars
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[?12l[?25h[?25l:[?12l[?25h" collation elem
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" middle of regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f', "  \na ", "\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f\+', "  \na ", "\na"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \z features
[?25l[?12l[?25h[?25l:[?12l[?25h" match ends at \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" match starts at \zs
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if 


last'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is   [a t', '  '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \@= and \& features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match, no matter the input text
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '


John is Bobs friend'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep


', 'test1'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']


)[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:', 


's'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', '   abxyzc ', 'abxyzc', 'xyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" \%u and friends
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \%[abc]
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'


])[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7


\8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e


', 'f', 'g', 'h', 'i'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo


.com', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo


.bat', 'bat', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$


{0}', '0'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Look-behind with limit
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<


'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<


<'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19


70'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" complicated look-behind match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \@>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Requiring lots of states.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}', "


12345678-1234-1234-1234-123456789012 ", "12345678-1234-1234-1234-123456789012",


"1234-"])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Skip adding state twice
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO", 


"#if", ' FOO'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""" Test \%V atom
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt


ausgabe [Salleck]    Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau


sgabe', 'Gesamt'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.

OK 2 - ^\(.\{-}b\)\@>.

OK 0 - \(.\{-}\)\(\)\@>$

OK 1 - \(.\{-}\)\(\)\@>$

OK 2 - \(.\{-}\)\(\)\@>$

OK 0 - \(a*\)\@>a\|a\+

OK 2 - \(a*\)\@>a\|a\+

OK 0 - \_[^8-9]\+

OK 1 - \_[^8-9]\+

OK 2 - \_[^8-9]\+

OK 0 - \_[^a]\+

OK 1 - \_[^a]\+

OK 2 - \_[^a]\+

OK 0 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 1 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 2 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 0 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 1 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 2 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 0 - \%>70vGesamt

OK 1 - \%>70vGesamt

OK 2 - \%>70vGesamt
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D


ir2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt


'], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" line breaks
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'


, 'XXjk', 'lmn']])
[?25lOK 0 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)


\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca


lnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the multi-line tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='multi-line tests'
[?25l

multi-line tests[?12l[?25h[?25l

:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let before = t[2]


[?25l:  [?12l[?25h:  let after = t[3]


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re ==1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    new


[?25l:    [?12l[?25h:    call setline(1, before)


[?25l:    [?12l[?25h:    exe '%s/' . pat . '/XX/'


[?25l:    [?12l[?25h:    let result = getline(1, '$')


[?25l:    [?12l[?25h:    q!


[?25l:    [?12l[?25h:    if result != after


[?25l:      [?12l[?25h:      $put ='ERROR: pat: \"' . pat . '\", text: \"' . string(before) . 


'\", expected: \"' . string(after) . '\", got: \"' . string(result) . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

:[?12l[?25hunlet t tl
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[?12l[?25h[?25l:[?12l[?25h" matchstr() with \ze in between.
[?25l[?12l[?25h[?25l:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2yank
[?25l[?12l[?25h[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

[?12l[?25h[?25l

<T="5">Ta 5</Title>
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[?12l[?25h[?25l/[?12l[?25h^Behind:
[?25lsearch hit BOTTOM, continuing at TOP:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[?12l[?25h[?25l:[?12l[?25h.yank
[?25l[?12l[?25h[?25lOK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l

[?12l[?25h[?25l

xxstart3
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching Visual area
[?25l[?12l[?25h[?25l/[?12l[?25h^Visual:
[?25lsearch hit BOTTOM, continuing at TOP<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

oooxofor foroxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

search hit BOTTOM, continuing at TOP[?12l[?25h

the[?25l[?12l[?25h[?25lxe the the[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 linexE thE thE
[?12l[?25h

[?25landaxand andaxand 
[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 lineAndAxAnd AndAxAnd[?12l[?25h

ooo[?25l[?12l[?25h[?25lxofor foro[?12l[?25h[?25lx

oooxofor foro[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 linesxOfOr fOrOx

oooxOfOr fOrO
[?12l[?25h[?25l:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25lsearch hit BOTTOM, continuing at TOP
4 lines yanked[?12l[?25h[?25lOK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3
[?12l[?25h[?25l

[?12l[?25h[?25l

4 more lines

thexE thE thExethe4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching marks
[?25l[?12l[?25h[?25l/[?12l[?25h^Marks:
[?25lsearch hit BOTTOM, continuing at TOPasdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

OK 0 - ab

OK 1 - ab

OK 2 - ab

OK 0 - b

OK 1 - b

OK 2 - b

search hit BOTTOM, continuing at TOP[?12l[?25h

asdf[?25l:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25lhereasdf[?12l[?25h

asdf

dfsa
dfsadf[?25l:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l

asdfagainasdfOK 0 - bc*[?12l[?25h[?25l:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25lsearch hit BOTTOM, continuing at TOP
3 lines yanked[?12l[?25h[?25lOK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo
[?12l[?25h[?25l

[?12l[?25h[?25l

3 more linesasdfhereasdf

asdfagainasdf3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check patterns matching cursor position.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! Postest()
[?25l

:  [?12l[?25h new


[?25l:  [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t


\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', '        xxxxxx


xxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx


xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx


xxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx


x xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx


xxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx


xxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x


xxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxxxxx


xxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx'])


[?25l:  [?12l[?25h call setpos('.', [0, 1, 0, 0])


[?25l:  [?12l[?25h s/\%>3c.//g


[?25l:  [?12l[?25h call setpos('.', [0, 2, 4, 0])


[?25l:  [?12l[?25h s/\%#.*$//g


[?25l:  [?12l[?25h call setpos('.', [0, 3, 0, 0])


[?25l:  [?12l[?25h s/\%<3c./_/g


[?25l:  [?12l[?25h %s/\%4l\%>5c./_/g


[?25l:  [?12l[?25h %s/\%6l\%>25v./_/g


[?25l:  [?12l[?25h %s/\%>6l\%3c./!/g


[?25l:  [?12l[?25h %s/\%>7l\%12c./?/g


[?25l:  [?12l[?25h %s/\%>7l\%<9l\%>5v\%<8v./#/g


[?25l:  [?12l[?25h $s/\%(|\u.*\)\@<=[^|\t]\+$//ge


[?25l:  [?12l[?25h 1,$yank


[?25l:  [?12l[?25h quit!


[?25l:  [?12l[?25hendfunc
[?25lOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf[?12l[?25h[?25l255\

OK 0 - a\n^b$\n^cOK 1 - a\n^b$\n^c2

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2<T="5">Ta 5</Title>

<T="7">Ac 7</Title>xxstart3thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooooooxOfOr fOrOxoooasdfhereasdfasdfagainasdf~                                                                               [?12l[?25h[?25l

-0-[?12l[?25h[?25l

:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25loooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf-0-ffobob__ooooo

koooo__moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[?12l[?25h[?25l

-1-[?12l[?25h[?25l

:[?12l[?25hset re=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l-1-

ffo

bob

__ooooo

koooo__

moooooo

   f__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxx xxxx xx xxxxxxxx xxx xxxxxxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-2-[?12l[?25h[?25l:[?12l[?25hset re=2
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l-2-

ffo

bob~                                                                               [?12l[?25h[?25l:[?12l[?25h" start and end of buffer
[?25l[?12l[?25h[?25l/[?12l[?25h\%^
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 2 - \v(a*)+

OK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%^..
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}

OK 1 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

:call add(tl, [2, 'ab', 'aab', 'ab'])

:call add(tl, [2, 'b', 'abcdef', 'b'])

:call add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])

:call add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])

:call add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])

:call add(tl, [2, 'bc*', 'abbdef', 'b'])

:call add(tl, [2, 'c*', 'ccc', 'ccc'])

:call add(tl, [2, 'bc*', 'abdef', 'b'])[?12l[?25h[?25l/[?12l[?25h..\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h
[?25l[?12l[?25h[?25lEN[?12l[?25h[?25l[?12l[?25h[?25lE[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check for detecting error
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=2
[?25l[?12l[?25h[?25l:[?12l[?25hfor pat in [' \ze*', ' \zs*']
[?25l

:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    let l = matchlist('x x', pat)


[?25l:    [?12l[?25h:    $put ='E888 NOT detected for ' . pat


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='E888 detected for ' . pat


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor
[?25lffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?ba

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxxxxxxx xxx xxxxxxx xxxxxxxxx  xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxx xxxx xxx xxxx xxx xxx xxxxxx x xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x x xx xxxxxx xxxxxxx  xxxxxxxxxx xxxxxxxxx xxx xxx xxxxxxxx   xxxx xxx xxxxxx xxxxx xxxxx xx   xxxxxxxxxxxx xxxx xxxxxxxxx xxxxx xxxxx xx xxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxTestEND

EN888 detected for  \ze*

E888 detected for  \zs*[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Write the results """""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1107 lines, 22167 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test64 = test61; then \
#	  if diff test.out test64.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test64.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test65.failed test.ok test.out X* viminfo
cp test65.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test65.in" 95 lines, 2153 charactersTest for floating point and logical operators.



STARTTEST

:so small.vim

:if !has("float")

:  e! test.ok

:  wq! test.out

:endif

:"

:$put =printf('%f', 123.456)

:$put =printf('%e', 123.456)

:$put =printf('%g', 123.456)

:" check we don't crash on division by zero

:echo 1.0 / 0.0

:$put ='+='

:let v = 1.234

:let v += 6.543

:$put =printf('%g', v)

:let v = 1.234

:let v += 5

:$put =printf('%g', v)

:let a = 5

:let a += 3.333[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for floating point and logical operators.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 89 lines, 2067 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'

:$put =and(127, 127)

:$put =and(127, 16)

:$put =and(127, 128)

:$put ='OR'

:$put =or(16, 7)

:$put =or(8, 7)

:$put =or(0, 123)

:$put ='XOR'

:$put =xor(127, 127)

:$put =xor(127, 16)

:$put =xor(127, 128)

:$put ='invert'

:$put =and(invert(127), 65535)

:$put =and(invert(16), 65535)

:$put =and(invert(128), 65535)

:$put =invert(1.0)

:/^Results/,$wq! test.out

ENDTEST



Results of test65:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("float")
[?25l

:  [?12l[?25h:  e! test.ok


[?25l:  [?12l[?25h:  wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%f', 123.456)
[?25l

123.456000[?12l[?25h[?25l

:[?12l[?25h$put =printf('%e', 123.456)
[?25l

1.234560e+02[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 123.456)
[?25l

123.456[?12l[?25h[?25l

:[?12l[?25h" check we don't crash on division by zero
[?25l[?12l[?25h[?25l:[?12l[?25hecho 1.0 / 0.0
[?25linf[?12l[?25h[?25l:[?12l[?25h$put ='+='
[?25l

+=[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 6.543
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

7.777[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 5
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

6.234[?12l[?25h[?25l

:[?12l[?25hlet a = 5
[?25l[?12l[?25h[?25l:[?12l[?25hlet a += 3.333
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(a)
[?25l

8.333[?12l[?25h[?25l

:[?12l[?25h$put ='=='
[?25l

==[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25h$put =v == 1.234
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =v == 1.2341
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='add-subtract'
[?25l

add-subtract[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l

5.234[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l

-6.766[?12l[?25h[?25l

:[?12l[?25h$put ='mult-div'
[?25l

mult-div[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l

4.936[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l

0.003241[?12l[?25h[?25l

:[?12l[?25h$put ='dict'
[?25l

dict[?12l[?25h[?25l

:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l

{'x': 1.234, 'y': -2.0e20}[?12l[?25h[?25l

:[?12l[?25h$put ='list'
[?25l

list[?12l[?25h[?25l

:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l

[-123.4, 2.0e-20][?12l[?25h[?25l

:[?12l[?25h$put ='abs'
[?25l

abs[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(1456))
[?25l

1456[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(-4))
[?25l

4[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25lE745: Using a List as a Number

-1[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l

14.56[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l

54.32[?12l[?25h[?25l

:[?12l[?25h$put ='ceil'
[?25l

ceil[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l

2.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l

-4.0[?12l[?25h[?25l

:[?12l[?25h$put ='floor'
[?25l

floor[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l

-6.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='log10'
[?25l

log10[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(1000))
[?25l

3.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l

-2.0[?12l[?25h[?25l

:[?12l[?25h$put ='pow'
[?25l

pow[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l

27.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l

65536.0[?12l[?25h[?25l

:[?12l[?25h$put ='round'
[?25l

round[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(0.456))
[?25l

0.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(4.5))
[?25l

5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put ='sqrt'
[?25l

sqrt[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l

10.0[?12l[?25h[?25l

:[?12l[?25hecho sqrt(-4.01)
[?25lnan[?12l[?25h[?25l:[?12l[?25h$put ='str2float'
[?25l

str2float[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l

1.0e40[?12l[?25h[?25l

:[?12l[?25h$put ='trunc'
[?25l

trunc[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='float2nr'
[?25l

float2nr[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(123.456)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(-123.456)
[?25l

-123[?12l[?25h[?25l

:[?12l[?25h$put ='AND'
[?25l

AND[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 127)
[?25l

127[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 16)
[?25l

16[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 128)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='OR'
[?25l

OR[?12l[?25h[?25l

:[?12l[?25h$put =or(16, 7)
[?25l

23[?12l[?25h[?25l

:[?12l[?25h$put =or(8, 7)
[?25l

15[?12l[?25h[?25l

:[?12l[?25h$put =or(0, 123)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put ='XOR'
[?25l

XOR[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 127)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 16)
[?25l

111[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 128)
[?25l

255[?12l[?25h[?25l

:[?12l[?25h$put ='invert'
[?25l

invert[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(127), 65535)
[?25l

65408[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(16), 65535)
[?25l

65519[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(128), 65535)
[?25l

65407[?12l[?25h[?25l

:[?12l[?25h$put =invert(1.0)
[?25lE805: Using a Float as a Number

0[?12l[?25h[?25l

:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 73 lines, 430 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test65 = test61; then \
#	  if diff test.out test65.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test65.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test66.failed test.ok test.out X* viminfo
cp test66.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test66.in" 33 lines, 509 charactersTest for visual block shift and tab characters.



STARTTEST

:so small.vim

/^one

fe^V4jR^[ugvr1:'<,'>w! test.out

/^abcdefgh

^V4jI    ^[j<<11|D

7|a^[

7|a^[

7|a^[4k13|^V4j<

:$-5,$w >> test.out

:$-4,$s/\s\+//g

^V4kI    ^[j<<

7|a^[

7|a^[

7|a^[4k13|^V4j3<

:$-4,$w >> test.out

:qa!

ENDTEST



one two three[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 234 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^one
[?25l[?12l[?25hon[?25l[?12l[?25h[?25le

one two three

one two three

one two three

one two three[?12l[?25h[?25l

4 fewer linesabcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz[?12l[?25h[?25lmore lines; before #1  0 seconds agoone two three

one two three

one two threeone two threeone two three[?12l[?25h[?25le

one

one

one

on[?12l[?25h[?25l1

on1

on1

on1

on1[?12l[?25h[?25l:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [New File] 5 lines, 70 characters written[?12l[?25h[?25l/[?12l[?25h^abcdefgh
[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25la

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc            defghijklmnopqrstuvwxyz[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 1 timeidefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"6 lines, 151 characters appended[?12l[?25h[?25l:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 linesabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

a

a

a[?12l[?25h[?25l

a

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghij

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghij[?12l[?25h

    ab[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                       defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                 defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 3 timesidefghijklmnopqrstuvwxyz    defghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"5 lines, 147 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test66 = test61; then \
#	  if diff test.out test66.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test66.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test67.failed test.ok test.out X* viminfo
cp test67.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test67.in" 33 lines, 1110 charactersTest that groups and patterns are tested correctly when calling exists() for

autocommands.



STARTTEST

:so small.vim

:let results=[]

:augroup auexists

:augroup END

:call add(results, "##BufEnter: " . exists("##BufEnter"))

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:au BufEnter * let g:entered=1

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:augroup auexists

:au BufEnter * let g:entered=1

:augroup END

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:au BufEnter *.test let g:entered=1

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:edit testfile.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:au BufEnter <buffer> let g:entered=1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest that groups and patterns are tested correctly when calling exists() for[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 999 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:edit testfile2.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:e! test.out

:call append(0, results)

:$d

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet results=[]
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l:[?12l[?25hcall append(0, results)
[?25l##BufEnter: 1

#BufEnter: 0

#BufEnter: 1

#auexists#BufEnter: 0

#auexists#BufEnter: 1

#BufEnter#*.test: 0

#BufEnter#*.test: 1

#BufEnter#<buffer>: 0

#BufEnter#<buffer>: 1

#BufEnter#<buffer>: 0[?12l[?25h[?25l:[?12l[?25h$d
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test67 = test61; then \
#	  if diff test.out test67.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test67.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test68.failed test.ok test.out X* viminfo
cp test68.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test68.in" 131 lines, 1004 charactersTest for text formatting.



Results of test68:



STARTTEST

:so small.vim

/^{/+1

:set noai tw=2 fo=t

gRa b^[

ENDTEST



{





}



STARTTEST

/^{/+1

:set ai tw=2 fo=tw

gqgqjjllab^[

ENDTEST



{[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 48 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset noai tw=2 fo=t
[?25l[?12l[?25h[?25la

b[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l

a  b[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tw
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

[?12l[?25h[?25l

a[?12l[?25ha [?25l

b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=3 fo=t

gqgqo

a ^V^A^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a ^A[?12l[?25h[?25l

:[?12l[?25hset tw=3 fo=t
[?25l[?12l[?25h[?25l

^A[?12l[?25h[?25la

^A
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tcq1 comments=:#

gqgqjgqgqo

a b

#a b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a b[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[?12l[?25h[?25l

#a b[?12l[?25h[?25la b

#a b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 46 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=tcn comments=:#

A b^[jA b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  1 a[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

# 1 a[?12l[?25h[?25l

#   b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+3
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 35 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=t2a si

i  ^[A_^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+3
[?25l{



  x a

  b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=t2a si
[?25l[?12l[?25h[?25l    b[?12l[?25h[?25l b_[?12l[?25h[?25l

c[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=qn comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# 1 a b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=q2 comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# x[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[?12l[?25h[?25l# x a
[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+2
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw& fo=a

I^^^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+2
[?25l{

   1aa

   2bb[?12l[?25h[?25l

:[?12l[?25hset tw& fo=a
[?25l[?12l[?25h[?25l1aa ^^2bb }STARTTEST[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h[?25l

/mno pqr/[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 69 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/

A vwx yz^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25hmno pqr/
[?25l/* abc def ghi jkl

 *    mno pqr stu[?12l[?25h[?25l

:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[?12l[?25h[?25l

*    vwx yz[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^#/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=12 fo=tqnc comments=:#

A foobar^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^#/
[?25l

# 1 xxxxx[?12l[?25h[?25l

:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[?12l[?25h[?25l

#   foobar[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines# 1 a#   b}{

# x a#   b}{ 1aa ^^2bb }/* abc def ghi jkl

 *    mno pqr stu

 *    vwx yz

 */# 1 xxxxx

#   foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 77 lines, 281 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test68 = test61; then \
#	  if diff test.out test68.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test68.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test69.failed test.ok test.out X* viminfo
cp test69.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test69.in" 192 lines, 2185 charactersTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for multi-byte text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 2 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=t
[?25l[?12l[?25h

[?25l

XYZ[?12l[?25h[?25l[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

Z

abc [?12l[?25h[?25l

X[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=1 fo=tm

gqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

X[?12l[?25h[?25l

:[?12l[?25hset tw=1 fo=tm
[?25l[?12l[?25h[?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l

X a
[?12l[?25h[?25l

a[?12l[?25h[?25l

XY
[?12l[?25h[?25l

Y
[?12l[?25h[?25l

X Y
[?12l[?25h[?25l

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c

abXY^[

ENDTEST



{

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h

[?25la[?12l[?25h

[?25la[?12l[?25h

[?25lY
[?12l[?25h

[?25lY 
[?12l[?25h[?25l

aX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abcX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX c
[?12l[?25h[?25lX

c[?12l[?25h[?25l

abXY
[?12l[?25h[?25lX

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25lY

a[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

abc[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

c

ab[?12l[?25h[?25l

X[?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set ai tw=2 fo=tm

gqgqjgqgqo

X

Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

  a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 53 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set noai tw=2 fo=tm

gqgqjgqgqo

  X

  Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset noai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 169 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa

XXY^[

ENDTEST



{

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[?12l[?25h



[?25lXY[?12l[?25h



[?25lXZ
[?12l[?25h



[?25l

X Z
[?12l[?25h[?25l

XX
[?12l[?25h[?25l

XXa
[?12l[?25h[?25l

XXY
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25l

Xa

[?12l[?25h[?25lXa[?12l[?25h[?25lXY

[?12l[?25h[?25lX[?12l[?25h[?25l

Y

[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25lXZ

[?12l[?25h[?25lX [?12l[?25h[?25l

Y

[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25lX Z

[?12l[?25h[?25lX[?12l[?25h[?25l

X

[?12l[?25h[?25lX[?12l[?25h[?25l

Xa

[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 30 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tm

RXa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set mps+=^Vu2018:^Vu2019

d%

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

‘two three ’four[?12l[?25h[?25l

:[?12l[?25hset mps+=^‘:^’
[?25l[?12l[?25h[?25l four[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^ra test
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 16 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTjVjra

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^ra test
[?25l

ra test[?12l[?25h[?25l

abba
[?12l[?25h[?25lbba 
[?12l[?25h[?25l

a

aab 
[?12l[?25h[?25laaaaaaa [?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set whichwrap+=h
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 43 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^x

dh

:set whichwrap-=h

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset whichwrap+=h
[?25l[?12l[?25h[?25l/[?12l[?25h^x
[?25láx[?12l[?25h[?25lx[?12l[?25h

[?25l

:[?12l[?25hset whichwrap-=h
[?25l[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:let a = '.é.' " one char of two bytes
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 548 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let b = '.é.' " normal e with composing char

/^byteidx

:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)])

:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])

/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)])

:let b = '.é.'

:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet a = '.é.' " one char of two bytes
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[?12l[?25h[?25l/[?12l[?25h^byteidx
[?25l

byteidx[?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei


dx(a, 4)])
[?25l:set whichwrap-=h

ENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei


dx(b, 4)])
[?25lENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5[?12l[?25h[?25l

/[?12l[?25h^byteidxcomp
[?25l

byteidxcomp[?12l[?25h[?25l

:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc


omp(a, 3), byteidxcomp(a, 4)])
[?25láxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hlet b = '.eé.'
[?25l[?12l[?25h[?25l:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc


omp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25lSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1]2, 4, 5, -1][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^substitute
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 75 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let y = substitute('123', '\zs', 'a', 'g')    | put =y

ENDTEST[?12l[?25h[?25lsubstitute[?12l[?25h[?25l



:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^substitute
[?25l[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')    | put =y
[?25la1a2a3a[?12l[?25h[?25l



/^STARTTEST


STARTTEST[?12l[?25h[?25l:g/^STARTTEST/.,/^ENDTEST/d

:1;/^Results/,$wq! test.out[?12l[?25h[?25l



:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l



/ENDTEST[?12l[?25h
[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines{ four}ra test

aaaaaaaáxbyteidx[0, 1, 3, 4, -1]

[0, 1, 4, 5, -1]byteidxcomp

[0, 1, 3, 4, -1]

[0, 1, 2, 4, 5, -1]substitute

a1a2a3a[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 166 lines, 730 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test69 = test61; then \
#	  if diff test.out test69.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test69.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test70.failed test.ok test.out X* viminfo
cp test70.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test70.in" 63 lines, 1501 charactersSmoke test for MzScheme interface and mzeval() function



STARTTEST

:so mzscheme.vim

:set nocompatible viminfo+=nviminfo

:function! MzRequire()

:redir => l:mzversion

:mz (version)

:redir END

:if strpart(l:mzversion, 1, 1) < "4"

:" MzScheme versions < 4.x:

:mz (require (prefix vim- vimext))

:else

:" newer versions:

:mz (require (prefix-in vim- 'vimext))

:mz (require r5rs)

:endif

:endfunction

:silent call MzRequire()

:mz (define l '("item0" "dictionary with list OK" "item2"))

:mz (define h (make-hash))

:mz (hash-set! h "list" l)

/^1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSmoke test for MzScheme interface and mzeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1398 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:if l2[2] == l2

:let res = "OK"

:else

:let res = "FAILED: " . l2[2]

:endif

:call setline(search("^3"), "circular test " . res)

:" funcrefs

:mz (define vim:max (vim-eval "function('max')"))

:mz (define m (vim:max '(1 100 8)))

:let m = mzeval('m')

:if m == 100

:let fref_res = "OK"

:else

:let fref_res = "FAILED: " . m

:end

:call append(line('$'), 'funcrefs '. fref_res)

:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mzscheme.vim
[?25l"test.ok" 6 lines, 94 characters


"test.out" [New File] 6 lines, 94 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test70 = test61; then \
#	  if diff test.out test70.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test70.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test73.failed test.ok test.out X* viminfo
cp test73.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test73.in" 169 lines, 3647 charactersTests for find completion.



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xfind directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a stale "Xfind" directory may exist, remove it so that

:" we start from a clean state.

:call delete("Xfind", "rf")

:new

:let cwd=getcwd()

:let test_out = cwd . '/test.out'

:call mkdir('Xfind')

:cd Xfind

:set path=

:find

:exec "w! " . test_out

:close[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for find completion.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 164 lines, 3600 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exec "cd " . cwd . "/Xfind/"

:set path=./path

:" Open the file where Jimmy Hoffa is found

:e in/file.txt

:" Find the file containing 'E.T.' in the Xfind/in/path directory

:find file

:exec "w >>" . test_out

:"

:" Test that completion works when path=.,,

:"

:set path=.,,

:" Open Jimmy Hoffa file

:e in/file.txt

:exec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu

:exec "w >>" . test_out

:q

:exec "cd " . cwd

:call delete("Xfind", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTESTtest73.in                                                                       [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xfind')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE345: Can't find file "" in path[?12l[?25h[?25l:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out"
<ld/vim-Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test.out" [New] 0L, 0C written/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in                   [?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in                   [?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in                   [?12l[?25h[?25l:[?12l[?25hset path=./**
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in                   [?12l[?25h[?25l:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('in')
[?25l[?12l[?25h[?25l:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hcall mkdir('path')
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdirtest73.in                                                    [?12l[?25h[?25l:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File]Xfind/file.txt[?12l[?25h[?25l-- INSERT --Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File]in/file.txt[?12l[?25h[?25l-- INSERT --Jimmy Hoffa[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File]stuff.txt[?12l[?25h[?25l-- INSERT --Another Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File]path/file.txt[?12l[?25h[?25l-- INSERT --E.T.[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written    [?12l[?25h[?25l:[?12l[?25hset path=Xfind/**
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[?12l[?25h[?25l:[?12l[?25h" recursive location.
[?25l[?12l[?25h[?25l:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path+=Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[?12l[?25h[?25l:[?12l[?25h" is Xfind/in/file.txt.
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfindin/stuff.txtf       /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[?12l[?25h
[?25l"file.txt" 1L, 11CHoly Grailfile.txt.     [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25h" Test shortening of
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[?12l[?25h[?25l:[?12l[?25h" of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/file.txt[?12l[?25h[?25l:[?12l[?25hcall mkdir('x')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('y')
[?25l[?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/x[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfindfile.txti                                                           [?12l[?25h[?25l:[?12l[?25h" We should now be in the Xfind directory
[?25l[?12l[?25h[?25l:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File]oo/x/bar/voyager.txt[?12l[?25h[?25l-- INSERT --Voyager 1[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File]y/[?12l[?25h[?25l-- INSERT --Voyager 2[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C1x/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25ly[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C2y/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[?12l[?25h[?25l:[?12l[?25h" order of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    ./voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/fooy/bar/voyager.txt.     [?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/ybar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25lx/bar/voyager.txt[?12l[?25h
[?25l<ild/vim-Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/x/bar/voyager.txt"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C1/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/x/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check the opposite too:
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foox/bar/voyager.txt/                                                               [?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/xbar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/x/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25ly/bar/voyager.txt[?12l[?25h
[?25l<ild/vim-Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/y/bar/voyager.txt"
<-Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C2/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" 1L, 12CJimmy Hoffafile.txti                                                                        [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfindin/file.txt[?12l[?25h[?25l:[?12l[?25hset path=./path
[?25l[?12l[?25h[?25l:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[?12l[?25h[?25l:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that completion works when path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h" Open Jimmy Hoffa file
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[?12l[?25h[?25l:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25hq
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test73 = test61; then \
#	  if diff test.out test73.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test73.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test75.failed test.ok test.out X* viminfo
cp test75.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test75.in" 41 lines, 1000 charactersTests for maparg().

Also test utf8 map with a 0x80 byte.



STARTTEST

:so small.vim

:so mbyte.vim

:set cpo-=<

:set encoding=utf8

:" Test maparg() with a string result

:map foo<C-V> is<F4>foo

:vnoremap <script> <buffer> <expr> <silent> bar isbar

:call append('$', maparg('foo<C-V>'))

:call append('$', string(maparg('foo<C-V>', '', 0, 1)))

:call append('$', string(maparg('bar', '', 0, 1)))

:map <buffer> <nowait> foo bar

:call append('$', string(maparg('foo', '', 0, 1)))

:"

:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for maparg().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 34 lines, 919 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"

:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" Test maparg() with a string result
[?25l[?12l[?25h[?25l:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc x<char-114>x
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc y<S-char-114>y
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25leof

is<F4>foo

{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr':: 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}

{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''sid': 0, 'rhs': 'isbar', 'buffer': 1}

{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''sid': 0, 'rhs': 'bar', 'buffer': 1}

xrx

yRy[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Outside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x1040> a
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25la[?12l[?25h[?25l:[?12l[?25h" Inside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x103f> b
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25lb[?12l[?25h[?25l:[?12l[?25h" Inside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25lc[?12l[?25h[?25l:[?12l[?25h" Outside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf040> d
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25ld[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^eof/+1,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 7 lines, 384 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test75 = test61; then \
#	  if diff test.out test75.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test75.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test77.failed test.ok test.out X* viminfo
cp test77.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test77.in" 30 lines, 719 charactersInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.



cksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST

:so small.vim

:if !executable("cksum")

: e! test.ok

: w! test.out

: qa!

:endif

:set fileformat=unix undolevels=-1

ggdG

:let i = 1

:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhileggdd

:w! Xtest[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 2 million lines with consecutive integers starting from 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 288 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:r !cksum Xtest

:s/\s/ /g

:set fileformat&

:.w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("cksum")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25lcksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST[?12l[?25h[?25l

:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[?12l[?25h[?25lInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil


e[?25l12345678910111213141516171819202122[?12l[?25h[?25l

23[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2000000 lines, 14888896 characters written[?12l[?25h[?25l:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[?25l1

2

3678979763 14888896 Xtest

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22[?12l[?25h[?25l:[?12l[?25hs/\s/ /g
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat&
[?25l[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 26 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test77 = test61; then \
#	  if diff test.out test77.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test77.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test79.failed test.ok test.out X* viminfo
cp test79.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test79.in" 255 lines, 3381 charactersTest for *sub-replace-special* and *sub-replace-expression* on :substitute.

Test for submatch() on :substitue.

Test for *:s%* on :substitute.

Test for :s replacing \n with  line break.



STARTTEST

:so small.vim

ENDTEST



Results of test71:



STARTTEST

:set magic

:set cpo&

/^TEST/

j:s/A/&&/

j:s/B/\&/

j:s/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/

j:s/D/d/

j:s/E/~/

j:s/F/\~/

j:s/G/\ugg/

j:s/H/\Uh\Eh/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_1:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25lA
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l&[?12l[?25h

[?25l:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set nomagic
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 351 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_2:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25l&&
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 203 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\='\\'/

j:s/C/\='^V^M'/

j:s/D/\='\^V^M'/

j:s/E/\='\\^V^M'/

j:s/F/\='\r'/

j:s/G/\='^V^@'/

j:s/H/\='\^V^@'/

j:s/I/\='\\^V^@'/

j:s/J/\='\n'/

j:s/K/\="\r"/

j:s/L/\="\n"/

ENDTEST



TEST_3:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\='\'/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\='\\'/
[?25l\\b
[?12l[?25h

[?25l:[?12l[?25hs/C/\='^^M'/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\='\^^M'/
[?25l\d[?12l[?25h

[?25l





:[?12l[?25hs/E/\='\\^^M'/
[?25l\\

efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\='\r'/
[?25l\rf
[?12l[?25h[?25l

gGg[?12l[?25h[?25l

:[?12l[?25hs/G/\='^^@'/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\='\^^@'/
[?25l

\h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\='\\^^@'/
[?25l

\\

i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\='\n'/
[?25l\nj
[?12l[?25h[?25l

kKk[?12l[?25h[?25l

:[?12l[?25hs/K/\="\r"/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\="\n"/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 611 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\=substitute(submatch(0), '.', '\\', '')/

j:s/C/\=substitute(submatch(0), '.', '^V^M', '')/

j:s/D/\=substitute(submatch(0), '.', '\^V^M', '')/

j:s/E/\=substitute(submatch(0), '.', '\\^V^M', '')/

j:s/F/\=substitute(submatch(0), '.', '\r', '')/

j:s/G/\=substitute(submatch(0), '.', '^V^@', '')/

j:s/H/\=substitute(submatch(0), '.', '\^V^@', '')/

j:s/I/\=substitute(submatch(0), '.', '\\^V^@', '')/

j:s/J/\=substitute(submatch(0), '.', '\n', '')/

j:s/K/\=substitute(submatch(0), '.', "\r", '')/

j:s/L/\=substitute(submatch(0), '.', "\n", '')/

ENDTEST



TEST_4:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^^M', '')/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^^M', '')/
[?25ld[?12l[?25h

[?25l





:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^^M', '')/
[?25l\efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l

f[?12l[?25h[?25l

gGg
[?12l[?25h[?25l

:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^^@', '')/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^^@', '')/
[?25l

h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^^@', '')/
[?25l

\i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l

j[?12l[?25h[?25l

kKk
[?12l[?25h[?25l

:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 445 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST/

j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .. submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch((3) . submatch(2) . submatch(1)/

j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subbmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subbmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l

TEST_5:[?12l[?25h[?25l

A123456789
[?12l[?25h[?25l

:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .


submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(


3) . submatch(2) . submatch(1)/
[?25li\

i987654321[?12l[?25h[?25l

B123456789
[?12l[?25h[?25l

:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub


match(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub


match(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25li

j[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^TEST/

:set cpo+=/

j:s/A/a/

j:s/B/%/

:set cpo-=/

j:s/C/c/

j:s/D/%/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25lTEST_6:

A

B[?12l[?25h[?25l





:[?12l[?25hset cpo+=/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/a/
[?25la[?12l[?25h

[?25l:[?12l[?25hs/B/%/
[?25la[?12l[?25h[?25l:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25lC

D[?12l[?25h[?25l





:[?12l[?25hs/C/c/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/%/
[?25l%[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 11 lines, 303 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST_7/

j:s/A./\=submatch(0)/

j:s/B./\=submatch(0)/

j:s/C./\=strtrans(string(submatch(0, 1)))/

j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/

j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/

/^Q$

:s/Q[^\n]Q/\=submatch(0)."foobar"/

:" Avoid :s error breaks dotest map on Windows.

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST_7/
[?25l

TEST_7:[?12l[?25h[?25l

A^MA
[?12l[?25h[?25l

:[?12l[?25hs/A./\=submatch(0)/
[?25l

A[?12l[?25h[?25l

B^@B
[?12l[?25h[?25l

:[?12l[?25hs/B./\=submatch(0)/
[?25l

B[?12l[?25h[?25l

C^@C
[?12l[?25h[?25l

:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l['C^@']C
[?12l[?25h[?25l

D^@[?12l[?25h[?25l

:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l['D^@', 'D']
[?12l[?25h[?25l

E^@[?12l[?25h[?25l

:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l/[?12l[?25h^Q$
[?25l

Q[?12l[?25h[?25l

:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25lE486: Pattern not found: Q[^\n]Q[?12l[?25h[?25l:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[?12l[?25h[?25l/^STARTTEST
Q



STARTTEST[?12l[?25h[?25l

:function! TitleString()
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 177 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTlet check = 'foo' =~ 'bar'

  return ""

endfunction

:set titlestring=%{TitleString()}

:/^test_one/s/.*/\="foo\nbar"/

:/^test_two/s/.*/\="foo\nbar"/c

y

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hfunction! TitleString()
[?25l

:  [?12l[?25h  let check = 'foo' =~ 'bar'


[?25l:  [?12l[?25h  return ""


[?25l:  [?12l[?25hendfunction
[?25lTEST_7:

A[?12l[?25h[?25l

:[?12l[?25hset titlestring=%{TitleString()}
[?25l[?12l[?25h[?25l:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25lfoo

bar[?12l[?25h[?25l

:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l

test_tworeplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l

foobar
[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 72 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer linesaa

c

%TEST_7:AABB['C^@']C['D^@', 'D']

['E^@', '^@', '^@', '^@', '^@E']

Q

Qfoo

bar

foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 134 lines, 574 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test79 = test61; then \
#	  if diff test.out test79.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test79.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test80.failed test.ok test.out X* viminfo
cp test80.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test80.in" 201 lines, 6298 charactersTest for *sub-replace-special* and *sub-replace-expression* on substitute().

Test for submatch() on substitute().

Test for *:s%* on :substitute.



STARTTEST

:so small.vim

ENDTEST



TEST_1:



STARTTEST

:set magic

:set cpo&

:$put =\"\n\nTEST_1:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

:$put =substitute('F', 'F', '\~', '')

:$put =substitute('G', 'G', '\ugg', '')

:$put =substitute('H', 'H', '\Uh\Eh', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on substitute().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1142 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25l:let y = substitute('123', '\zs.', 'a', 'g')| $put =y.\zs\ze', 'a', 'g') .', 'a', 'g').\ze1\|\ze', 'a', 'g')zs\|[23]', 'a', 'g')

/^TEST_11ENDTESTTEST_11:STARTTEST

:/^Results/,$wq! test.out

ENDTESTResults of test72:TEST_1:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l

x^Mx[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l

YyyY[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l

zZZz[?12l[?25h[?25l

/[?12l[?25h^TEST_2
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1144 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

u

u

v^Hv

w\w

x^Mx

YyyY

zZZz





TEST_2:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25lKk

l^Ml

mm

nn

op^Hp

q       q

r\rscs

uv^Hv

w\wx^Mx

YyyY

zZZzTEST_2:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l

t^Mt[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l

XxxX[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l

yYYy[?12l[?25h[?25l

/[?12l[?25h^TEST_3
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 642 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

t^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '')           | $put =y
[?25l

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '')         | $put =y
[?25l

b\\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\="^^M"', '')         | $put =y
[?25l

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^^M"', '')       | $put =y
[?25l

d\^Md[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^^M"', '')     | $put =y
[?25l

e\\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '')          | $put =y
[?25l

f\rf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '')          | $put =y
[?25l

j\nj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '')           | $put =y
[?25l

k^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '')           | $put =y
[?25ll

l[?12l[?25h[?25l

/[?12l[?25h^TEST_4
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST



TEST_4:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_4:\"

:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')        | $put =y

:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', ''')     | $put =y

:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^V^M", "")', ''')     | $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 912 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^V^M", "")',  '')   | $put =y

:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^V^M", "")'', '') | $put =y

:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))      | $put =y

:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more linest^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

a\a

b\\b

c^Mc

d\^Md

e\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')


      | $put =y
[?25lu



v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '


')     | $put =y
[?25lu

v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^^M", "")', '')


    | $put =y
[?25lv^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^^M", "")', '


')   | $put =y
[?25lw\w

XxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^^M", "")',


'') | $put =y
[?25lXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''


)      | $put =y
[?25lyYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''


)      | $put =y
[?25lTEST_3:

a\a

b\\bc^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')


      | $put =y
[?25lTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')


      | $put =y
[?25lb\\b

c^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jjk^Mk

l

l[?12l[?25h[?25l

/[?12l[?25h^TEST_5
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST



TEST_5:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 543 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more linese\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm


atch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25lf\rf

j\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su


bmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su


bmatch(1, 1)])', '')
[?25lj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/[?12l[?25h^TEST_6
[?25lsearch hit BOTTOM, continuing at TOP:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

ENDTEST



TEST_6:



STARTTEST

:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25lTEST_7:[?12l[?25h[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more linesl





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

3 more lines[?12l[?25h[?25l:[?12l[?25hset cpo+=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l

%[?12l[?25h[?25l

:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l

c[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l

%[?12l[?25h[?25l

/[?12l[?25h^TEST_7
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

ENDTEST



TEST_7:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 313 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more linesd^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A^^MA', 'A.', '\=submatch(0)', '')
[?25l

A^MA[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25lB

B[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l['B

']B[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l

-abab[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l

c-cbcbc[?12l[?25h[?25l

/[?12l[?25h^TEST_8
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

ENDTEST



TEST_8:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 10 lines, 186 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTyy/^TEST_9:

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more linesTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =',,X'
[?25l

,,X[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25lN,,NX
[?12l[?25h[?25l:[?12l[?25h$put =',,Y'
[?25l

,,Y[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,NY
[?12l[?25h[?25l

:[?12l[?25h$put =',,Z'
[?25l

,,Z[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,Z

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l,NZ
[?12l[?25h[?25l

/[?12l[?25h^TEST_9:
[?25lsearch hit BOTTOM, continuing at TOP:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

yy/^TEST_9:

ENDTEST



TEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 82 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more linesa

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put ='xxx'
[?25l

xxx[?12l[?25h[?25l

:[?12l[?25hs/x/X/gc
[?25lx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lx[?12l[?25h[?25l

/[?12l[?25h^TEST_10:
[?25lsearch hit BOTTOM, continuing at TOPTEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 584 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more linesTEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

XXx





TEST_10:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g')            | $put =y
[?25l

1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g')            | $put =y
[?25l

a1a2a3[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g')          | $put =y
[?25l

aa2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y
[?25l

1aaa[?12l[?25h[?25l

/[?12l[?25h^TEST_11
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

AA

&

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [New File] 131 lines, 617 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test80 = test61; then \
#	  if diff test.out test80.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test80.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test82.failed test.ok test.out X* viminfo
cp test82.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test82.in" 103 lines, 3166 charactersTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 97 lines, 3055 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("multi_byte")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor[?12l[?25h[?25l





:[?12l[?25hset enc=utf8
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Ch(a, op, b, expected)
[?25l

:  [?12l[?25h:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected


[?25l:    [?12l[?25h:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a


:op, a:b, a:expected))


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    let b:passed += 1


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Chk(a, b, result)
[?25l

:  [?12l[?25h:  if a:result == 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  elseif a:result > 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 1)


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Check(a, b, result)
[?25l

:  [?12l[?25h:  call Chk(a:a, a:b, a:result)


[?25l:  [?12l[?25h:  call Chk(a:b, a:a, -a:result)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! LT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, -1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! EQ(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 0)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet b:passed=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('', '')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('', 'a')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('abc', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('AB', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'aBc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\


xd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\


xd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x


aakk\xe2\x84\xa6')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def')  " case folding stops at the first bad cha


racter
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a')  " FF3A (upper), FF5A (lower)
[?25l[?12l[?25h[?25l:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff')  " first string is ok and equals \xef\


xbd\x9a after folding, second string is illegal and was left unchanged, then the


strings were bytewise compared
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.


2X', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l3732 checks passed[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       3732 checks passedtest82.in [+]                                                                   [?12l[?25h[?25labcddefg[+][?12l[?25h[?25lABCD
[?12l[?25h[?25l:[?12l[?25hlet lns = getline(1,3)
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l3732 checks passed



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), lns)
[?25lABCDdefg[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 5 lines, 31 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test82 = test61; then \
#	  if diff test.out test82.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test82.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test84.failed test.ok test.out X* viminfo
cp test84.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test84.in" 35 lines, 786 charactersTests for curswant not changing when setting an option



STARTTEST

:so small.vim

:/^start target options$/+1,/^end target options$/-1 yank

:let target_option_names = split(@0)

:function TestCurswant(option_name)

:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction

:

:new

:put =['1234567890', '12345']

:1 delete _

:let result = []

:for option_name in target_option_names

:  call add(result, TestCurswant(option_name))

:endfor

:

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for curswant not changing when setting an option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 637 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _

:write test.out

:

:qall!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[?12l[?25h[?25l:[?12l[?25hlet target_option_names = split(@0)
[?25l[?12l[?25h[?25l:[?12l[?25hfunction TestCurswant(option_name)
[?25l

:  [?12l[?25h:  normal! ggf8j


[?25l:  [?12l[?25h:  let curswant_before = winsaveview().curswant


[?25l:  [?12l[?25h:  execute 'let' '&'.a:option_name '=' '&'.a:option_name


[?25l:  [?12l[?25h:  let curswant_after = winsaveview().curswant


[?25l:  [?12l[?25h:  return [a:option_name, curswant_before, curswant_after]


[?25l:  [?12l[?25h:endfunction
[?25l:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       endfornew

:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _write test.outqall!

ENDTESTtest84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =['1234567890', '12345']
[?25l123456789012345[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hlet result = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor option_name in target_option_names
[?25l

:  [?12l[?25h:  call add(result, TestCurswant(option_name))


[?25l:  [?12l[?25h:endfor
[?25l1234567890

12345[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       1234567890

12345

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   :1 delete _

:write test.out

:

:qall!

ENDTEST



test84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more linestabstop 7 4timeoutlen 7 7ttimeoutlen 7 7[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hwrite test.out
[?25l"test.out" [New File] 3 lines, 43 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hqall!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test84 = test61; then \
#	  if diff test.out test84.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test84.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test88.failed test.ok test.out X* viminfo
cp test88.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test88.in" 99 lines, 1449 charactersvim: set ft=vim



Tests for correct display (cursor column position) with +conceal and

tabulators.



STARTTEST

:so small.vim

:if !has('conceal')

   e! test.ok

   wq! test.out

:endif

:" Conceal settings.

:set conceallevel=2

:set concealcursor=nc

:syntax match test /|/ conceal

:" Save current cursor position. Only works in <expr> mode, can't be used

:" with :normal because it moves the cursor to the command line. Thanks to ZyX

:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.

:let positions = []

:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"

:" Start test.

/^start:

:normal ztj[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lvim: set ft=vim[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 82 lines, 1216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:normal W

GGk

:normal W

GGk

:normal W

GGk

:normal $

GGk

:" Display result.

:call append('$', 'end:')

:call append('$', positions)

:/^end/,$wq! test.out

ENDTEST



start:

.concealed.     text

|concealed|     text.concealed.     text|concealed|     text



.a.     .b.     .c.     .d.

|a|     |b|     |c|     |d|[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('conceal')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:normal W

GGk

:normal W[?12l[?25h[?25l:[?12l[?25h" Conceal settings.
[?25l[?12l[?25h[?25l:[?12l[?25hset conceallevel=2
[?25l[?12l[?25h[?25l:[?12l[?25hset concealcursor=nc
[?25l[?12l[?25h[?25l:[?12l[?25hsyntax match test /|/ conceal
[?25lconcealed  concealed  





a       b       c       d[?12l[?25h[?25l:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[?12l[?25h[?25l:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[?12l[?25h[?25l:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[?12l[?25h[?25l:[?12l[?25hlet positions = []
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[?12l[?25h[?25l:[?12l[?25h" Start test.
[?25l[?12l[?25h[?25l/[?12l[?25h^start:
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ztj
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:let positions += ['2:1']
[?12l[?25h[?25l:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[?12l[?25h[?25l:[?12l[?25h" lines.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['2:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['2:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['3:1']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['3:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['3:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['5:8']
[?12l[?25h[?25l:[?12l[?25h" Same for next test block.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['5:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['5:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['6:8']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['6:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['6:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['8:1']
[?12l[?25h[?25l:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['8:27']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset lbr
[?25l[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset list listchars=tab:>-
[?25l>------



>------->----

>------->------>----.b.>----.c.>----

a>------b>------c>------[?12l[?25h[?25l:[?12l[?25hnormal 0
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25h" Display result.
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', 'end:')
[?25lend:[?12l[?25h[?25l:[?12l[?25hcall append('$', positions)
[?25l2:12:172:203:13:173:205:85:255:286:86:256:288:1[?12l[?25h[?25l:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [New File] 29 lines, 135 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test88 = test61; then \
#	  if diff test.out test88.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test88.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test90.failed test.ok test.out X* viminfo
cp test90.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test90.in" 53 lines, 1204 charactersTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :



STARTTEST

:so small.vim

:if !has('cryptv') || !exists('*sha256')

   e! test.ok

   wq! test.out

:endif

:"

:let testcase='test for empty string: '

:if sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522b855'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for 1 char: '

:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afeee48bb'

: let res='ok'

:else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for contains non-ascii char: '

:if sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00b8d27db8d5feaa813953'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc3[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for empty string: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785


2b855'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25l

test for empty string: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 1 char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af


ee48bb'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for 1 char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61


f20015ad'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25ltest for 3 chars: ok

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c


c39ed110ca776'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25ltest for contains meta char: ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb


0b8d27db8d5feaa813953'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for contains non-ascii char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 6 lines, 143 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test90 = test61; then \
#	  if diff test.out test90.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test90.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test91.failed test.ok test.out X* viminfo
cp test91.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test91.in" 116 lines, 3240 charactersTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().

vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Use strings to test for memory leaks.

:" First, check that in an empty window, gettabvar() returns the correct value

:let t:testvar='abcd'

:$put =string(gettabvar(1,'testvar'))

:$put =string(gettabvar(1,'testvar'))

:" Test for getbufvar()

:let b:var_num = '1234'

:let def_num = '5678'

:$put =string(getbufvar(1, 'var_num'))

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))

:unlet b:var_num

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 109 lines, 3127 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:tabnext

:3wincmd w

:unlet w:var_dict

:tabrewind

:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:$put =string(gettabwinvar(2, 9, ''))

:$put =string(gettabwinvar(2, 9, '', def_dict))

:$put =string(gettabwinvar(9, 3, ''))

:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict

:$put =string(gettabwinvar(2, 3, '&nux'))

:$put =string(gettabwinvar(2, 3, '&nux', 1))

:tabonly

:"

:/^start/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Use strings to test for memory leaks.
[?25l[?12l[?25h[?25l:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:testvar='abcd'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h" Test for getbufvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:var_num = '1234'
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_num = '5678'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25hunlet b:var_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25hunlet def_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Open new window with forced option values
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       {'var_num': '1234'}



'5678'{}''

'5678'

0test91.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25l:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict:$put =string(gettabwinvar(2, 3, '&nux')):$put =string(gettabwinvar(2, 3, '&nux', 1)):tabonly:":/^start/,$wq! test.outENDTESTstart:'abcd''abcd''1234'{'var_num': '1234'}

'5678'



{}

'''5678'



0[?12l[?25h[?25l:[?12l[?25h$put =otherff
[?25l

dos[?12l[?25h[?25l

:[?12l[?25h$put =string(otherbin)
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =otherfenc
[?25l

iso-8859-2[?12l[?25h[?25l

:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[?12l[?25h[?25l:[?12l[?25h" test for getwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet w:var_str = "Dance"
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_str = "Chance"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25hunlet w:var_str
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu',  1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25hunlet def_str
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:other = 777
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X{'var_num': '1234'}

'5678'

{}

{}

''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list'))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25htablast
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hunlet t:var_list
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25hunlet def_list
[?25l[?12l[?25h[?25l:[?12l[?25htabonly
[?25ldos[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabprev
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hsplit
[?25l2N o[No Name]  [No Name]  X[No Name]                                                                       [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hsplit
[?25l + test91.in  3 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                                                        [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25hvert split
[?25l4  X||||||~~~~~[No Name]                              [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                 [No Name]                               X[?12l[?25h[?25l:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd b
[?25l[No Name]                               [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict'))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25htabnext
[?25l + test91.in  4 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ||||||~                                       

~                                       

~                                       

~                                       

~                                       

[No Name]                                ~                                      ~                                      ~                                      ~                                      ~                                      [No Name]                              ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                              [No Name]                                                                         X[?12l[?25h[?25l:[?12l[?25hunlet w:var_dict
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]

{'dict': 'tabwin'}

{'dict': 'tabwin'}

{'var_dict': {'dict': 'tabwin'}}

{'var_dict': {'dict': 'tabwin'}}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25hunlet def_dict
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l

1[?12l[?25h[?25l

:[?12l[?25htabonly
[?25l0[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 50 lines, 530 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test91 = test61; then \
#	  if diff test.out test91.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test91.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test94.failed test.ok test.out X* viminfo
cp test94.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test94.in" 256 lines, 4824 charactersTest for Visual mode and operators



Tests for the two kinds of operations: Those executed with Visual mode

followed by an operator and those executed via Operator-pending mode. Also

part of the test are mappings, counts, and repetition with the . command.



Test cases:

- Visual modes (v V CTRL-V) followed by an operator; count; repeating

- Visual mode maps; count; repeating

  - Simple

  - With an Ex command (custom text object)

- Operator-pending mode maps

  - Simple

  - With Ex command moving the cursor

  - With Ex command and Visual selection (custom text object)

- Patch 7.3.879: Properly abort Ex command in Operator-pending mode



STARTTEST

:so small.vim

:set enc=utf-8 nocp viminfo+=nviminfo

:

:" User functions

:function MoveToCap()[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Visual mode and operators[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 211 lines, 3837 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" User functions
[?25l[?12l[?25h[?25l:[?12l[?25hfunction MoveToCap()
[?25l

:  [?12l[?25h:  call search('\u', 'W')


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'[?12l[?25h[?25l:[?12l[?25hfunction SelectInCaps()
[?25l

:  [?12l[?25h:  let [line1, col1] = searchpos('\u', 'bcnW')


[?25l:  [?12l[?25h:  let [line2, col2] = searchpos('.\u', 'nW')


[?25l:  [?12l[?25h:  call setpos("'<", [0, line1, col1, 0])


[?25l:  [?12l[?25h:  call setpos("'>", [0, line2, col2, 0])


[?25l:  [?12l[?25h:  normal! gv


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual modes followed by operator
[?25l[?12l[?25h[?25l/[?12l[?25h^apple
[?25l[?12l[?25ha[?25l-- VISUAL --[?12l[?25h[?25lp[?12l[?25h[?25lle banana cherry[?12l[?25h[?25l banana cherry[?12l[?25h [?25lbanan-- VISUAL --[?12l[?25h[?25l
a  cherry[?12l[?25h[?25ly[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^line 1
[?25l[?12l[?25h[?25lline 1 line 1 -- VISUAL LINE --[?12l[?25h[?25lINSERT --Nnewline[?12l[?25h[?25l-- INSERT --newline[?12l[?25h[?25l
line 3 line 3 

line 4 line 4 





-- VISUAL LINE --[?12l[?25h[?25lline 5 line 5line 6 line 6xxxxxxxxxxxxx[?12l[?25h[?25lxxxxxxxxxxxxx

xxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^xxxx
[?25l[?12l[?25h[?25l





-- VISUAL BLOCK --[?12l[?25h[?25lx

[?12l[?25h[?25lx

x[?12l[?25h[?25lINSERT --O  

  [?12l[?25h [?25l





-- INSERT --  

    [?12l[?25h [?25l

xxxx

    xxxx

xxxxxxxx

xxxxxxxxxxxxx

-- VISUAL BLOCK --[?12l[?25h[?25l

-- INSERT --O----

    ----

xxxx----

xxxx----[?12l[?25h-[?25l-- INSERT ------------------[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Kiwi
[?25lKiwiRaspberryDateWatermelonPeach[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25l/\u/s-1
Kiw[?12l[?25h[?25l

-- INSERT --NoRaspberryDateWatermelonPeach[?12l[?25ho[?25l

-- INSERT --NoberryDateWatermelonPeach[?12l[?25hoberry[?25lDateWat

-- VISUAL --[?12l[?25h[?25lrmelonPeach[?12l[?25h[?25lach[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Jambu
[?25l

JambuRambutanBananaTangerineMango[?12l[?25hJa[?25l

-- VISUAL --[?12l[?25h[?25l:'<,'>call SelectInCaps()
Jamb[?12l[?25h[?25l

-- INSERT ---RambutanBananaTangerineMango[?12l[?25h-[?25l

-- INSERT ---tanBananaTangerineMango[?12l[?25h-[?25ltanBanana

-- VISUAL --[?12l[?25h[?25l
--angerineMango[?12l[?25ha[?25lgo[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25honoremap W /\u/<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Pineapple
[?25lPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h[?25l

/\u/
-QuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---LoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---GrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---Z[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Juniper
[?25l

JuniperDurianZ[?12l[?25h[?25l

:call MoveToCap()
Whavcre
[?12l[?25h[?25l:call MoveToCap()
Qhevna[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Lemon
[?25l

LemonNectarineZ[?12l[?25h[?25l

:call SelectInCaps()
[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l:call SelectInCaps()
NewNectarineZ[?12l[?25hwNecta[?25l

:call SelectInCaps()
wZ[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[?12l[?25h[?25l/[?12l[?25h^zzzz
[?25lzzzz[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25lE21: Cannot make changes, 'modifiable' is off[?12l[?25h[?25l:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l

characterwise visual mode: replace last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25hlet @" = 'x'
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l

v:errmsg=[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l

characterwise visual mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l

characterwise visual mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l

characterwise visual mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l

characterwise visual mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Select mode maps
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>End> <End>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l

characterwise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l

characterwise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l

characterwise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- SELECT --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l

characterwise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- SELECT --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l

linewise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25lbc

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l

linewise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25la

b 
[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l

linewise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lc 

-- SELECT LINE --[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l

linewise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lb 



-- SELECT LINE --[?12l[?25h[?25lb

c 
[?12l[?25h[?25l~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l

v_p: replace last character with line register at middle line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25laaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25lccc

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting


newline'
[?25llinewise select mode: delete middle two line

c---linewise select mode: delete last line

ab

---linewise select mode: delete last two line

a---v_p: replace last character with line register at middle line

aaabbaaaccc

---v_p: replace last character with line register at middle line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25lb[?12l[?25h[?25laaa[?12l[?25h[?25l

ccc
[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l

v_p: replace last character with line register at last line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n


ewline'
[?25laaa

bbaaaccc

---v_p: replace last character with line register at middle line selecting newline

aaabbaaa

ccc

---v_p: replace last character with line register at last line

aaabbb

ccaaa---v_p: replace last character with line register at last line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l

gv in exclusive select mode after operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25h$put ='äà '
[?25l

äÃ[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h

[?25l

-- VISUAL --[?12l[?25h[?25läÃ[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l

gv in exclusive select mode without operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h/^start:/+2,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 123L, 1328C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test94 = test61; then \
#	  if diff test.out test94.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test94.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test95.failed test.ok test.out X* viminfo
cp test95.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test95.in" 141 lines, 5827 charactersTest for regexp patterns with multi-byte support, using utf-8.

See test64 for the non-multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:so mbyte.vim

:set nocp encoding=utf-8 viminfo+=nviminfo nomore

:" tl is a List of Lists with:

:"    2: test auto/old/new  0: test auto/old  1: test auto/new

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:

:"""" Multi-byte character tests. These will fail unless vim is compiled

:"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns with multi-byte support, using utf-8.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 131 lines, 5590 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h[?25l





:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    2: test auto/old/new  0: test auto/old  1: test auto/new
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[?12l[?25h[?25l:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])^I^I^I^I^I^I^I^I" equivalence


classes
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij


asoifjos'])
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']


)[?25l:endif[?12l[?25h[?25l





:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" this is not a normal "i" but 0xec
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p\+', 'ìa', 'ìa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aあ', 'aあ'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of some character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\i\+', '&*¨xx ', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\f\+', '&*<9f>fname ', 'fname'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test composing character matching
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.ม', 'xมม่x yมy', 'yม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.มม่', 'xมม่x yมy', 'xมม่'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ca", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\%C', "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%C', "ca\u0300t", "ca\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%Ct', "ca\u0300t", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test \Z
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ú\Z', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְ\Z', 'ווְייַ', 'ייַ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\\+\\Z", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\\Z\u05b9\\+", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[=a=]]\+', 'ddaãâbcd', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25lOK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi double: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25lOK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25lOK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0

eng 2 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi double: 0[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 140L, 2022C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test95 = test61; then \
#	  if diff test.out test95.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test95.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test98.failed test.ok test.out X* viminfo
cp test98.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test98.in" 43 lines, 908 charactersTest for 'scrollbind' causing an unexpected scroll of one of the windows.

STARTTEST

:so small.vim

:" We don't want the status line to cause problems:

:set laststatus=0

:let g:totalLines = &lines * 20

:let middle = g:totalLines / 2

:wincmd n

:wincmd o

:for i in range(1, g:totalLines)

:    call setline(i, 'LINE ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:aboveleft vert new

:for i in range(1, g:totalLines)

:    call setline(i, 'line ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:" Execute the following two command at once to reproduce the problem.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind' causing an unexpected scroll of one of the windows.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 791 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:setl scb | wincmd p

:setl scb

:wincmd w

:let topLineLeft = line('w0')

:wincmd p

:let topLineRight = line('w0')

:setl noscrollbind

:wincmd p

:setl noscrollbind

:q!

:%del _

:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight))

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We don't want the status line to cause problems:
[?25l[?12l[?25h[?25l:[?12l[?25hset laststatus=0
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[?12l[?25h[?25l:[?12l[?25hlet middle = g:totalLines / 2
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd n
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd o
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'LINE ' . i)


[?25l:  [?12l[?25h:endfor
[?25lLINE 1

LINE 2

LINE 3LINE 4LINE 5LINE 6LINE 7LINE 8LINE 9LINE 10LINE 11LINE 12LINE 13LINE 14LINE 15LINE 16LINE 17LINE 18LINE 19LINE 20LINE 21LINE 22LINE 23[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25lLINE 229

LINE 230

LINE 231

LINE 232

LINE 233

LINE 234

LINE 235

LINE 236

LINE 237

LINE 238

LINE 239

LINE 240

LINE 241

LINE 242

LINE 243

LINE 244

LINE 245

LINE 246

LINE 247

LINE 248

LINE 249

LINE 250

LINE 251[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lLINE 252

LINE 253

LINE 254

LINE 255

LINE 256

LINE 257

LINE 258

LINE 259

LINE 260

LINE 261

LINE 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25haboveleft vert new
[?25l        |||||||||||||||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       LINE 240LINE 241LINE 242LINE 243LINE 244LINE 245LINE 246LINE 247LINE 248LINE 249LINE 250LINE 251LINE 252LINE 253LINE 254LINE 255LINE 256LINE 257LINE 258LINE 259LINE 260LINE 261LINE 262[?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'line ' . i)


[?25l:  [?12l[?25h:endfor
[?25lline 1|

line 2|

line 3                                  

line 4                                  

line 5                                  

line 6                                  

line 7                                  

line 8                                  

line 9                                  

line 10                                 

line 11                                 

line 12                                 

line 13                                 

line 14                                 

line 15                                 

line 16                                 

line 17                                 

line 18                                 

line 19                                 

line 20                                 

line 21                                 

line 22                                 

line 23                                 LINE 240LINE 241[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25l2293023123223323423523623723823924024124224324424524624748495051[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lline 240                                

line 241                                

line 242                                

line 243                                

line 244                                

line 245                                

line 246                                

line 247                                

line 248                                

line 249                                

line 250                                

line 251                                

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        line 252

line 253

line 254

line 255

line 256

line 257

line 258

line 259

line 260

line 261

line 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb | wincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineLeft = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineRight = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25lLINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINE[?12l[?25h[?25l:[?12l[?25h%del _
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t


opLineLeft - topLineRight))
[?25lDifference between the top lines (left - right): 0[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 51 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters:normal M:" Execute the following two command at once to reproduce the problem.:setl scb | wincmd p:setl scb:wincmd w:let topLineLeft = line('w0'):wincmd p:let topLineRight = line('w0'):setl noscrollbind:wincmd p:setl noscrollbind:q!:%del _:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight)):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test98 = test61; then \
#	  if diff test.out test98.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test98.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test99.failed test.ok test.out X* viminfo
cp test99.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test99.in" 69 lines, 1400 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test44 for exactly the same test with re=1.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=2

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 43 lines, 931 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


/[?12l[?25h[\u4f7f\u5929]\+
[?25l


/[?12l[?25h\%U12345678
[?25l


/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l"test.out" 23L, 264C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test99 = test61; then \
#	  if diff test.out test99.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test99.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test103.failed test.ok test.out X* viminfo
cp test103.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test103.in" 37 lines, 823 charactersTest for visual mode not being reset causing E315 error.

STARTTEST

:so small.vim

:enew

:let g:msg="Everything's fine."

:function! TriggerTheProblem()

:" At this point there is no visual selection because :call reset it.

:" Let's restore the selection:

:normal gv

:'<,'>del _

:try

:exe "normal \<Esc>"

:catch /^Vim\%((\a\+)\)\=:E315/

:echom 'Snap! E315 error!'

:let g:msg='Snap! E315 error!'

:endtry

:endfunction

:enew

:setl buftype=nofile

:call append(line('$'), 'Delete this line.')

:"

:"

:" NOTE: this has to be done by a call to a function because executing :del the[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for visual mode not being reset causing E315 error.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 723 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"ex-way will require the colon operator which resets the visual mode thuus

:"preventing the problem:

:"

GV:call TriggerTheProblem()

:%del _

:call append(line('$'), g:msg)

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25henew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:msg="Everything's fine."
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! TriggerTheProblem()
[?25l

:  [?12l[?25h:^I" At this point there is no visual selection because :call reset it.


[?25l:  [?12l[?25h:^I" Let's restore the selection:


[?25l:  [?12l[?25h:^Inormal gv


[?25l:  [?12l[?25h:^I'<,'>del _


[?25l:  [?12l[?25h:^Itry


[?25l:    [?12l[?25h:^I^Iexe "normal \<Esc>"


[?25l:    [?12l[?25h:^Icatch /^Vim\%((\a\+)\)\=:E315/


[?25l:    [?12l[?25h:^I^Iechom 'Snap! E315 error!'


[?25l:    [?12l[?25h:^I^Ilet g:msg='Snap! E315 error!'


[?25l:    [?12l[?25h:^Iendtry


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25henew
[?25l[?12l[?25h[?25l:[?12l[?25hsetl buftype=nofile
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25lDelete this line.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[?12l[?25h[?25l:[?12l[?25h"       ex-way will require the colon operator which resets the visual mode th


us[?25l[?12l[?25h[?25l:[?12l[?25h"       preventing the problem:
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h

[?25lDelete this line. 
[?12l[?25h[?25l:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h%del _
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), g:msg)
[?25lEverything's fine.[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters:endtry

:endfunction:enew:setl buftype=nofile:call append(line('$'), 'Delete this line.'):":":" NOTE: this has to be done by a call to a function because executing :del the:"       ex-way will require the colon operator which resets the visual mode thuus:"       preventing the problem::"GV:call TriggerTheProblem():%del _:call append(line('$'), g:msg):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test103 = test61; then \
#	  if diff test.out test103.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test103.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test104.failed test.ok test.out X* viminfo
cp test104.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test104.in" 30 lines, 698 charactersTests for :let.  vim: set ft=vim ts=8 :



STARTTEST

:so small.vim

:set runtimepath+=./sautest

:" Test to not autoload when assigning.  It causes internal error.

:try

:  let Test104#numvar = function('tr')

:  $put ='OK: ' . string(Test104#numvar)

:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try

:    redir => messages

:    execute 'let' letargs

:    redir END

:    $put ='OK:'

:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :let.  vim: set ft=vim ts=8 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 24 lines, 618 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:    $put ='FAIL: ' . v:exception

:    redir END

:  endtry

:endfor

:/^Results/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset runtimepath+=./sautest
[?25l[?12l[?25h[?25l:[?12l[?25h" Test to not autoload when assigning.  It causes internal error.
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let Test104#numvar = function('tr')


[?25l:  [?12l[?25h:  $put ='OK: ' . string(Test104#numvar)


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  $put ='FAIL: ' . v:exception


[?25l:  [?12l[?25h:endtry
[?25l:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try:    redir => messages

:    execute 'let' letargsEND$put ='OK:'$put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch'FAIL: ' . v:exception  redir END

:  endtryendfor/^Results/,$wq! test.out

ENDTESTResults of test104:

OK: function('tr')[?12l[?25h[?25l

:[?12l[?25hlet a = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = 2
[?25l[?12l[?25h[?25l:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0


== 1 ? "a" : "b"}']
[?25l:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    redir => messages


[?25l:    [?12l[?25h:    execute 'let' letargs


[?25la#1


b#2


:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:    $put ='OK:'


[?25l:    [?12l[?25h:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='FAIL: ' . v:exception


[?25l:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor


[?25lb#2


b#2


a#1


a#1


b#2


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 13 lines, 244 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test104 = test61; then \
#	  if diff test.out test104.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test104.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test107.failed test.ok test.out X* viminfo
cp test107.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test107.in" 38 lines, 717 charactersTests for adjusting window and contents     vim: set ft=vim :



STARTTEST

:so small.vim

:new

:call setline(1, range(1,256))

:let r=[]

:func! GetScreenStr(row)

:   let str = ""

:   for c in range(1,3)

:let str .= nr2char(screenchar(a:row, c))

:   endfor

:   return str

:endfunc

:

:exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for adjusting window and contents     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 32 lines, 628 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:"/^start:/,$wq! test.out

ENDTESTtest107.in                                                                      [?12l[?25h[?25l:[?12l[?25hcall setline(1, range(1,256))
[?25l1

234567891011[+][?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! GetScreenStr(row)
[?25l

:  [?12l[?25h:   let str = ""


[?25l:  [?12l[?25h:   for c in range(1,3)


[?25l:    [?12l[?25h:       let str .= nr2char(screenchar(a:row, c))


[?25l:    [?12l[?25h:   endfor


[?25l:  [?12l[?25h:   return str


[?25l:  [?12l[?25h:endfunc
[?25l1

2

3

4

5

6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[No Name] [+]                                                                   :let s3=GetScreenStr(1)test107.in                                                                      [?12l[?25h[?25l:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l50

51

52

53

54

55

56

57

58

59

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l59

60

61

62

63

64

65

66

67

68

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25h:wincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l::exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

::exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:":/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

[1, '1  ']

[50, '50 ']

[59, '59 ']3 more lines[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 4 lines, 42 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test107 = test61; then \
#	  if diff test.out test107.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test107.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test108.failed test.ok test.out X* viminfo
cp test108.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test108.in" 88 lines, 1329 charactersTests for backtrace debug commands.     vim: set ft=vim :



STARTTEST

:so small.vim

:lang mess C

:function! Foo()

:   let var1 = 1

:   let var2 = Bar(var1) + 9

:   return var2

:endfunction

:

:function! Bar(var)

:    let var1 = 2 + a:var

:    let var2 = Bazz(var1) + 4

:    return var2

:endfunction

:

:function! Bazz(var)

:    let var1 = 3 + a:var

:    let var3 = "another var"

:    return var1

:endfunction

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for backtrace debug commands.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 83 lines, 1251 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTup

b

echo "fil is not frame or finish, it is file"

fil

echo "\n- relative backtrace movement\n"

fr -1

frame

fra +1

fram

echo "\n- go beyond limits does not crash\n"

fr 100

fra

frame -40

fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Foo()
[?25l

:  [?12l[?25h:   let var1 = 1


[?25l:  [?12l[?25h:   let var2 = Bar(var1) + 9


[?25l:  [?12l[?25h:   return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bar(var)
[?25l

:  [?12l[?25h:    let var1 = 2 + a:var


[?25l:  [?12l[?25h:    let var2 = Bazz(var1) + 4


[?25l:  [?12l[?25h:    return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bazz(var)
[?25l

:  [?12l[?25h:    let var1 = 3 + a:var


[?25l:  [?12l[?25h:    let var3 = "another var"


[?25l:  [?12l[?25h:    return var1


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       echo "\n- final result 19:"

cont:0debuggreedy

:redir END$put =out

:w! test.out

:qa!ENDTESTtest108.in                                                                      [?12l[?25h[?25l:[?12l[?25hdebuggreedy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => out
[?25l[?12l[?25h[?25l:[?12l[?25hdebug echo Foo()
[?25lEntering Debug mode.  Type "cont" to continue.


cmd: echo Foo()


>[?12l[?25hstep


[?25lfunction Foo


line 1: let var1 = 1


>[?12l[?25hstep


[?25lfunction Foo


line 2: let var2 = Bar(var1) + 9


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 1: let var1 = 2 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 2: let var2 = Bazz(var1) + 4


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 1: let var1 = 3 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "- show backtrace:\n"


[?25l- show backtrace:


>[?12l[?25hbacktrace


[?25l  2 function Foo[2]


  1 Bar[2]


->0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "\nshow variables on different levels:\n"


[?25l

show variables on different levels:


>[?12l[?25hecho var1


[?25l6

>[?12l[?25hup


[?25l>[?12l[?25hback


[?25l  2 function Foo[2]


->1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l3

>[?12l[?25hu


[?25l>[?12l[?25hbt


[?25l->2 function Foo[2]


  1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l1

>[?12l[?25hecho "\n- undefined vars:\n"


[?25l

- undefined vars:


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: return var1


>[?12l[?25hframe 2


[?25l>[?12l[?25hecho "undefined var3 on former level:"


[?25lundefined var3 on former level:


>[?12l[?25hecho var3


[?25lError detected while processing function Foo[2]..Bar[2]..Bazz:


line    3:


E121: Undefined variable: var3


E15: Invalid expression: var3


>[?12l[?25hfr 0


[?25l>[?12l[?25hecho "here var3 is defined with \"another var\":"


[?25lhere var3 is defined with "another var":


>[?12l[?25hecho var3


[?25lanother var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: End of function


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: return var2


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: End of function


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nundefined var2 on former level"


[?25l

undefined var2 on former level


>[?12l[?25hecho var2


[?25lError detected while processing function Foo[2]..Bar:


line    3:


E121: Undefined variable: var2


E15: Invalid expression: var2


>[?12l[?25hdown


[?25l>[?12l[?25hecho "here var2 is defined with 10:"


[?25lhere var2 is defined with 10:


>[?12l[?25hecho var2


[?25l10


>[?12l[?25hecho "\n- backtrace movements:\n"


[?25l

- backtrace movements:


>[?12l[?25hb


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\nnext command cannot go down, we are on bottom\n"


[?25l

next command cannot go down, we are on bottom


>[?12l[?25hdown


[?25lframe is zero


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nnext command cannot go up, we are on top\n"


[?25l

next command cannot go up, we are on top


>[?12l[?25hup


[?25lframe at highest level: 1


>[?12l[?25hb


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "fil is not frame or finish, it is file"


[?25lfil is not frame or finish, it is file


>[?12l[?25hfil


[?25l"[No Name]" --No lines in buffer--


>[?12l[?25hecho "\n- relative backtrace movement\n"


[?25l

- relative backtrace movement


>[?12l[?25hfr -1


[?25l>[?12l[?25hframe


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hfra +1


[?25l>[?12l[?25hfram


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "\n- go beyond limits does not crash\n"


[?25l

- go beyond limits does not crash


>[?12l[?25hfr 100


[?25lframe at highest level: 1


>[?12l[?25hfra


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hframe -40


[?25lframe is zero


>[?12l[?25hfram


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\n- final result 19:"


[?25l

- final result 19:


>[?12l[?25hcont


[?25l19


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h0debuggreedy
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST



test108.in                                                                      [?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25h$put =out
[?25l83 more lines->1 function Foo[2]

  0 Barline 3: End of functionframe is zero  1 function Foo[2]->0 Barline 3: End of function- final result 19:19[+][?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 84 lines, 1390 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test108 = test61; then \
#	  if diff test.out test108.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test108.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autocmd_option.failed test.ok test.out X* viminfo
cp test_autocmd_option.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autocmd_option.in" 77 lines, 2954 charactersTest for option autocommand



STARTTEST

:so small.vim

:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! ttest.out | qa! | endif

:fu! AutoCommand(match)

:let c=g:testcase

:let item=remove(g:options, 0)

:let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope:  <%s>\n", item[0], item[1], item[2], item[3])

:let c.=printf("Autocmd Option: <%s>,", a:match)

:let c.=printf(" OldVal: <%s>,", v:option_old)

:let c.=printf(" NewVal: <%s>,", v:option_new)

:let c.=printf(" Scope: <%s>\n", v:option_type)

:call setreg('r', printf("%s\n%s", getreg('r'), c))

:endfu

:au OptionSet * :call AutoCommand(expand("<amatch>"))

:let g:testcase="1: Setting number option\n"

:let g:options=[['number', 0, 1, 'global']]

:set nu

:let g:testcase="2: Setting local number option\n"

:let g:options=[['number', 1, 0, 'local']][?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for option autocommand[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 2896 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)

:" Write register now, because next test shouldn't output anything.

:$put r

:let @r=''

:let g:testcase="\n15: Setting key option, shouldn't trigger\n"

:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

:setlocal key=blah

:setlocal key=

:$put =g:testcase

:$put r

:/^dummy text/,$w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! 


test.out | qa! | endif
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hfu! AutoCommand(match)
[?25l

:  [?12l[?25h:^Ilet c=g:testcase


[?25l:  [?12l[?25h:       let item=remove(g:options, 0)


[?25l:  [?12l[?25h:       let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Sco


pe: <%s>\n", item[0], item[1], item[2], item[3])


[?25l:  [?12l[?25h:       let c.=printf("Autocmd Option: <%s>,", a:match)


[?25l:  [?12l[?25h:       let c.=printf(" OldVal: <%s>,", v:option_old)


[?25l:  [?12l[?25h:       let c.=printf(" NewVal: <%s>,", v:option_new)


[?25l:  [?12l[?25h:       let c.=printf(" Scope: <%s>\n", v:option_type)


[?25l:  [?12l[?25h:       call setreg('r', printf("%s\n%s", getreg('r'), c))


[?25l:  [?12l[?25h:endfu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)[?12l[?25h[?25l

:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ai!
[?25l[?12l[?25h[?25l:[?12l[?25h Should not print anything, use :noa
[?25lE492: Not an editor command: Should not print anything, use :noa[?12l[?25h[?25l:[?12l[?25hnoa :set nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset list nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"$

     57 :let g:options=[['backup', '', '1', 'local']]$

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger$

     59 :call setbufvar(1, '&l:bk', 1)$

     60 : "should trigger, use correct option name$

     61 :call setbufvar(1, '&backup', 1)$

     62 :let g:testcase="14: Setting number option using setwinvar\n"$

     63 :let g:options=[['number', 0, 1, 'local']]$

     64 :call setwinvar(0, '&number', 1)$

     65 :" Write register now, because next test shouldn't output anything.$

     66 :$put r$

     67 :let @r=''$

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"$

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]$

     70 :setlocal key=blah$

     71 :setlocal key=$

     72 :$put =g:testcase$

     73 :$put r$

     74 :/^dummy text/,$w! test.out$

     75 :qa!$

     76 ENDTEST$

     77 dummy text$[?12l[?25h[?25l:[?12l[?25hnoa set nolist nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal acd
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal invar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hlet &bs="eol,indent,start"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec


ond time, it should trigger
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25lE355: Unknown option: l:bk[?12l[?25h[?25l:[?12l[?25h "should trigger, use correct option name
[?25l[?12l[?25h[?25l:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[?12l[?25h[?25l:[?12l[?25h$put r
[?25l60 more lines117Autocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>11811910: Setting local autoread    120 Expected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>121Autocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>12212311: Setting global autoread124Expected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>125Autocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>12612712: Setting option backspace through :let128Expected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoope: <global>129Autocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoope: <global>131313: Setting option backspace through setbufvar()13Expected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>13Autocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>131314: Setting number option using setwinvar13xpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>13Autocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[?12l[?25h[?25l:[?12l[?25hlet @r=''
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=blah
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:testcase
[?25l    138 

    139 15: Setting key option, shouldn't trigger[?12l[?25h[?25l

:[?12l[?25h$put r
[?25l

    140 [?12l[?25h[?25l

:[?12l[?25h/^dummy text/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 64 lines, 2700 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autocmd_option = test61; then \
#	  if diff test.out test_autocmd_option.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autocmd_option.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autoformat_join.failed test.ok test.out X* viminfo
cp test_autoformat_join.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autoformat_join.in" 23 lines, 524 charactersTests for setting the '[,'] marks when joining lines.



STARTTEST

:so small.vim

:/^\t\t/

0gqj:

:let a=string(getpos("'[")).'/'.string(getpos("']"))

:/^This line/;'}-join

:let b=string(getpos("'[")).'/'.string(getpos("']"))

:$put ='First test: Start/End '.string(a)

:$put ='Second test: Start/End '.string(b)

:/^\t\t/,$wq! test.out

ENDTESTO sodales, ludite, vos qui

attamen consulite per voster honur. Tua pulchra facies me fay planszer milies



This line.

Should be joined with the next line

and with this line



Results:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for setting the '[,'] marks when joining lines.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 9 lines, 265 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^\t\t/
[?25l[?12l[?25h[?25lattamen consulite per voster honur.

Tua pulchra facies me fay planszer milies[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h/^This line/;'}-join
[?25lThis line.  Should be joined with the next line and with this line





~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25lFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[?12l[?25h[?25l:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25lSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[?12l[?25h[?25l:[?12l[?25h/^\t\t/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 292 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autoformat_join = test61; then \
#	  if diff test.out test_autoformat_join.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autoformat_join.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_changelist.failed test.ok test.out X* viminfo
cp test_changelist.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_changelist.in" 22 lines, 288 charactersTest changelist position after splitting window

Set 'undolevels' to make changelist for sourced file



STARTTEST

:so small.vim

Gkylp:set ul=100

Gylp:set ul=100

gg

:vsplit

:try

:  normal g;

:  normal ggVGcpass^[

:catch

:  normal ggVGcfail^[

:finally

:  %w! test.out

:endtry

:qa!

ENDTEST



1

2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest changelist position after splitting window[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 163 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h



[?25l11[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l22[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l:[?12l[?25hvsplit
[?25l|

 window                                 |

Set 'undolevels' to make changelist for |

sourced file|

             |

STARTTEST       |

:so small.vim  |

Gkylp:set ul=100|

Gylp:set ul=100|

gg  |

:vsplit     |

:try                  |

:  normal g;|pass|

:catch  |

:  normal ggVGcfail^[|

:finally|

:  %w! test.out|

:endtry|

:qa!|

ENDTEST|

  |

test_changelist.in [+]                   Test changelist position after splitting windowSet 'undolevels' to make changelist forsourced fileSTARTTEST:so small.vimGkylp:set ul=100Gylp:set ul=100gg:vsplit:try:  normal g;:  normal ggVGcpass^[:catch:  normal ggVGcfail^[:finally:  %w! test.out:endtry:qa!ENDTESTtest_changelist.in [+]                 [?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  normal g;


[?25l:  [?12l[?25h:  normal ggVGcpass
[?25l21 fewer lines

:  


:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  normal ggVGcfail


[?25l:  


:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  %w! test.out


[?25l"test.out" [New File] 1 line, 5 characters written


:  [?12l[?25h:endtry
[?25lpass||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                           pass~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                         [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_changelist = test61; then \
#	  if diff test.out test_changelist.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_changelist.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_close_count.failed test.ok test.out X* viminfo
cp test_close_count.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_close_count.in" 153 lines, 2665 charactersTests for :[count]close! and :[count]hide     vim: set ft=vim :



STARTTEST

:so small.vim

:let tests = []

:for i in range(5)

:new

:endfor

:4wincmd w

:close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:$close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

:2close![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :[count]close! and :[count]hide     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 41 lines, 749 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(tests, buffers)

:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:for i in range(5)

:new

:endfor

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:4wincmd w

:.hide[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hclose!
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 5~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w:only!:b1ENDTESTSTARTTEST:let tests = []:for i in range(5):new:endfor:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers):4wincmd w:.hide:let buffers = [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 44 lines, 815 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:2wincmd w

:+hide

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:1wincmd w

:$ hide

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                       test_close_count.in                                                              [?12l[?25h[?25l:[?12l[?25h.hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 7 lines, 39 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l13 12 11 10 9 113 12 11 9 112 11 9 112 11 9[+][?12l[?25h[?25l12 9

15 12 9

15 12[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 9

15 12~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:+hide:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5):new:endfor:1wincmd w:$ hide:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 93 of 153 --60%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 448 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:1wincmd w

:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:4wincmd w

^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[?12l[?25h[?25l:[?12l[?25h$ hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$-1 close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h.+close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 15 lines, 106 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[+][?12l[?25h[?25l15 12 915 120 19 18 17 16

20 19 18 16

20 18 16
[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5



13 12 11 10 9 1

13 12 11 9 1

12 11 9 1

12 11 9

12 9

15 12 9

15 12



20 19 18 17 16

20 19 18 16

20 18 16



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new:endfor:4wincmd w

^Wc:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 121 of 153 --79%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 28 lines, 511 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST1^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

9^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

2^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:only!

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 16 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 915 1220 19 18 17 1620 19 18 1620 18 16[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l25 24 23 21 124 23 21 124 23 2124 21[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_close_count = test61; then \
#	  if diff test.out test_close_count.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_close_count.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_comparators.failed test.ok test.out X* viminfo
cp test_comparators.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_comparators.in" 21 lines, 283 characters" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'

:  else

:    $put ='ng'

:  endif

:finally

:  let &isident=oldisident

:endtry

:"

:/^marker/+1,$wq! test.out

ENDTEST



marker

~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l" Test for expression comparators.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 200 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let oldisident=&isident


[?25l:  [?12l[?25h:  set isident+=#


[?25l:  [?12l[?25h:  if 1 is#1


[?25l:    [?12l[?25h:    $put ='ok'


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    $put ='ng'


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  let &isident=oldisident


[?25l:  [?12l[?25h:endtry
[?25l" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'ok[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^marker/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1 line, 3 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_comparators = test61; then \
#	  if diff test.out test_comparators.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_comparators.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_erasebackword.failed test.ok test.out X* viminfo
cp test_erasebackword.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_erasebackword.in" 19 lines, 427 charactersTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G







:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for erasing backword[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 12 lines, 362 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G

o wwwこんにちわ世界ワールドvim ^W^[

o wwwこんにちわ世界ワールドvim ^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^W^[

:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h



[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25lド[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h/^test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 111 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_erasebackword = test61; then \
#	  if diff test.out test_erasebackword.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_erasebackword.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_eval.failed test.ok test.out X* viminfo
cp test_eval.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_eval.in" 247 lines, 6201 charactersTest for various eval features.   vim: set ft=vim :



Note: system clipboard is saved, changed and restored.



clipboard contents

something else



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:lang C

:fun AppendRegContents(reg)

  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:rreg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))

:endfun

:fun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)

  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, aa:type, a:cont, a:strcont, a:cont1, a:strcont1))

endfun

:command -nargs=? AR :call AppendRegContents(<q-args>)

:fun SetReg(...)

    call call('setreg', a:000)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for various eval features.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 233 lines, 6010 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun AppendRegContents(reg)
[?25l

:  [?12l[?25h  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg


(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))


[?25l:  [?12l[?25h:endfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hfun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)
[?25l

:  [?12l[?25h  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:re


g, a:type, a:cont, a:strcont, a:cont1, a:strcont1))


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[?12l[?25h[?25l:[?12l[?25hfun SetReg(...)
[?25l

:  [?12l[?25h    call call('setreg', a:000)


[?25l:  [?12l[?25h    call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2]))


[?25l:  [?12l[?25h    call AppendRegContents(a:1)


[?25l:  [?12l[?25h    if a:1 isnot# '='


[?25l:    [?12l[?25h        execute "silent normal! Go==\n==\e\"".a:1."P"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun ErrExe(str)
[?25l

:  [?12l[?25h    call append('$', 'Executing '.a:str)


[?25l:  [?12l[?25h    try


[?25l:    [?12l[?25h        execute a:str


[?25l:    [?12l[?25h    catch


[?25l:    [?12l[?25h        $put =v:exception


[?25l:    [?12l[?25h    endtry


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h$put ='{{{1 let tests'


[?25l:  [?12l[?25hlet @" = 'abc'


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\n"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\<C-m>"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @= = '"abc"'


[?25l:  [?12l[?25hAR =


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Basic setreg tests'


[?25l:  [?12l[?25hcall SetReg('a', 'abcA', 'c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcB', 'v')


[?25l:  [?12l[?25hcall SetReg('c', 'abcC', 'l')


[?25l:  [?12l[?25hcall SetReg('d', 'abcD', 'V')


[?25l:  [?12l[?25hcall SetReg('e', 'abcE', 'b')


[?25l:  [?12l[?25hcall SetReg('f', 'abcF', "\<C-v>")


[?25l:  [?12l[?25hcall SetReg('g', 'abcG', 'b10')


[?25l:  [?12l[?25hcall SetReg('h', 'abcH', "\<C-v>10")


[?25l:  [?12l[?25hcall SetReg('I', 'abcI')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending single lines with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc', 'c')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAl', 'l')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc2','c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc', 'ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb', 'ba')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc2','ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb2','b50a')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('C', 'abcCl', 'l')


[?25l:  [?12l[?25hcall SetReg('C', 'abcCc', 'c')


[?25l:  [?12l[?25hcall SetReg('D', 'abcDb', 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('E', 'abcEb', 'b')


[?25l:  [?12l[?25hcall SetReg('E', 'abcEl', 'l')


[?25l:  [?12l[?25hcall SetReg('F', 'abcFc', 'c')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending NL with setreg()'


[?25l:  [?12l[?25hcall setreg('a', 'abcA2', 'c')


[?25l:  [?12l[?25hcall setreg('b', 'abcB2', 'v')


[?25l:  [?12l[?25hcall setreg('c', 'abcC2', 'l')


[?25l:  [?12l[?25hcall setreg('d', 'abcD2', 'V')


[?25l:  [?12l[?25hcall setreg('e', 'abcE2', 'b')


[?25l:  [?12l[?25hcall setreg('f', 'abcF2', "\<C-v>")


[?25l:  [?12l[?25hcall setreg('g', 'abcG2', 'b10')


[?25l:  [?12l[?25hcall setreg('h', 'abcH2', "\<C-v>10")


[?25l:  [?12l[?25hcall setreg('I', 'abcI2')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', "\n")


[?25l:  [?12l[?25hcall SetReg('B', "\n", 'c')


[?25l:  [?12l[?25hcall SetReg('C', "\n")


[?25l:  [?12l[?25hcall SetReg('D', "\n", 'l')


[?25l:  [?12l[?25hcall SetReg('E', "\n")


[?25l:  [?12l[?25hcall SetReg('F', "\n", 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA3'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3'], 'l')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC3'], 'b')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD3'])


[?25l:  [?12l[?25hcall SetReg('e', [1, 2, 'abc', 3])


[?25l:  [?12l[?25hcall SetReg('f', [1, 2, 3])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ['abcA3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3l'], 'la')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3b'], 'lb')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD32'])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', ['abcA32'])


[?25l:  [?12l[?25hcall SetReg('B', ['abcB3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3l'], 'l')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD3b'], 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with NL with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ["\n", 'abcA3l2'], 'l')


[?25l:  [?12l[?25hcall SetReg('B', ["\n", 'abcB3c2'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ["\n", 'abcC3b2'], 'b')


[?25l:  [?12l[?25hcall SetReg('D', ["\n", 'abcD3b50'],'b50')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with NLs with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4


-4-2"])


[?25l:  [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na


bcB4c-4-2"], 'c')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na


bcC4l-4-2"], 'l')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na


bcD4b-4-2"], 'b')


[?25l:  [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4


b10-4\nabcE4b10-4-2"], 'b10')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Search and expressions'


[?25l:  [?12l[?25hcall SetReg('/', ['abc/'])


[?25l:  [?12l[?25hcall SetReg('/', ["abc/\n"])


[?25l:  [?12l[?25hcall SetReg('=', ['"abc/"'])


[?25l:  [?12l[?25hcall SetReg('=', ["\"abc/\n\""])


[?25l:  [?12l[?25h$put ='{{{1 System clipboard'


[?25l:  [?12l[?25hif has('clipboard')


[?25l:    [?12l[?25h" Save and restore system clipboard.


[?25l:    [?12l[?25h" If no connection to X-Server is possible, test should succeed.


[?25l:    [?12l[?25hlet _clipreg = ['*', getreg('*'), getregtype('*')]


[?25l:    [?12l[?25hlet _clipopt = &cb


[?25l:    [?12l[?25hlet &cb='unnamed'


[?25l:    [?12l[?25h5y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25htabdo :windo :echo "hi"


[?25l:    [?12l[?25h6y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25hlet &cb=_clipopt


[?25l:    [?12l[?25hcall call('setreg', _clipreg)


[?25l:    [?12l[?25helse


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard conte


nts']", "clipboard contents\n", "['clipboard contents']")


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "something else\n", "['something else']", 


"something else\n", "['something else']")


[?25l:    [?12l[?25hendif


[?25l:  [?12l[?25h$put ='{{{1 Errors'


[?25l:  [?12l[?25hcall ErrExe('call setreg()')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, 3, 4)')


[?25l:  [?12l[?25hcall ErrExe('call setreg([], 2)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, {})')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, [])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("/", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("=", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, ["", "", [], ""])')


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test()
[?25lhi*: type V; value: something else^@ (['something else']), expr: something else^@  (['something else'])

{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)

Vim(call):E730: using List as a String

Executing call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction SetReg
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction AppendRegContents
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction ErrExe
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hdelcommand AR
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name not starting with capital
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! g:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)8: Too many arguments for function: setreg[], 2)730: using List as a String1, {}1Dictionary as a String2, [])0List as a String"/", ["1", "2"])883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name includes a colon
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! b:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)Vim(function):E128: Function name must start with a capital or "s:": b:test()[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name folowed by #
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! test2() "#


[?25l:  [?12l[?25h:echo "test2"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)Vim(call):E730: using List as a String

Executing call setreg(1, {})Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! g:Foo(n)
[?25l

:  [?12l[?25h:  $put ='called Foo(' . a:n . ')'


[?25l:  [?12l[?25h:endfunction
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg[?12l[?25h[?25l

:[?12l[?25hlet b:my_func = function('Foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcall b:my_func(1)
[?25l

called Foo(1)[?12l[?25h[?25l

:[?12l[?25hecho g:Foo(2)
[?25l0

called Foo(2)[?12l[?25h[?25l

:[?12l[?25hecho Foo(3)
[?25l0

called Foo(3)[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[?12l[?25h[?25l:[?12l[?25hso test_eval_func.vim
[?25ls:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h: call append($, 'foobar')


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#

called Foo(123

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1func Bar exists: 1

Vim(call):E116: Invalid arguments for function append[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l

{{{1 getcurpos/setpos[?12l[?25h[?25l

/[?12l[?25h^012345678
[?25lsearch hit BOTTOM, continuing at TOP:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:

{{{1 let tests

": type v; value: abc (['abc']), expr: abc (['abc'])

": type V; value: abc^@ (['abc']), expr: abc^@ (['abc'])

": type V; value: abc^M^@ (['abc^M']), expr: abc^M^@ (['abc^M'])

=: type v; value: abc (['abc']), expr: "abc" (['"abc"'])

{{{1 Basic setreg tests

{{{2 setreg('a', 'abcA', 'c')

a: type v; value: abcA (['abcA']), expr: abcA (['abcA'])

search hit BOTTOM, continuing at TOP[?12l[?25h012345[?25l:[?12l[?25hlet sp = getcurpos()
[?25l[?12l[?25h
[?25l:[?12l[?25hcall setpos('.', sp)
[?25l[?12l[?25h[?25l:[?12l[?25h$put
[?25lExecuting call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

Vim(function):E128: Function name must start with a capital or "s:": b:test()

Vim(function):E128: Function name must start with a capital or "s:": test2() "#

called Foo(1)

called Foo(2)

called Foo(3)

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1

Vim(call):E116: Invalid arguments for function append

{{{1 getcurpos/setpos

6[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" substring and variable name
[?25l[?12l[?25h[?25l:[?12l[?25hlet str = 'abcdef'
[?25l[?12l[?25h[?25l:[?12l[?25hlet n = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[n:]
[?25l

def[?12l[?25h[?25l

:[?12l[?25h$put =str[:n]
[?25l

abcd[?12l[?25h[?25l

:[?12l[?25h$put =str[n:n]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet n
[?25l[?12l[?25h[?25l:[?12l[?25hlet nn = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[nn:]
[?25ldef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:nn]
[?25labcd[?12l[?25h[?25l:[?12l[?25h$put =str[nn:nn]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet nn
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:nn = 4
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:]
[?25lef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:b:nn]
[?25labcde[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:b:nn]
[?25l

e[?12l[?25h[?25l

:[?12l[?25hunlet b:nn
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 362 lines, 11279 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_eval = test61; then \
#	  if diff test.out test_eval.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_eval.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_fixeol.failed test.ok test.out X* viminfo
cp test_fixeol.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fixeol.in" 40 lines, 780 charactersTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol

:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol

:w! XXTestNoEol

:bwipe XXEol XXNoEol XXTestEol XXTestNoEol

:set fixeol[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'fixeol'vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 698 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Append "END" to each file so that we can see what the last written char was.

ggdGaEND^[:w >>XXEol

:w >>XXNoEol

:w >>XXTestEol

:w >>XXTestNoEol

:"

:" Concatenate the results

:e! test.out

a0^[:$r XXEol

:$r XXNoEol

Go1^[:$r XXTestEol

:$r XXTestNoEol

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?25l[?12l[?25h[?25l:[?12l[?25h" use Unix fileformat for consistency
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lwith eol[?12l[?25h[?25l:[?12l[?25hw! XXEol
[?25l"XXEol" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25henew!
[?25l[?12l[?25h[?25l:[?12l[?25hset noeol nofixeol
[?25l[?12l[?25h[?25lwithout eol[?12l[?25h[?25l:[?12l[?25hw! XXNoEol
[?25l"XXNoEol" [New File][Incomplete last line] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hset eol fixeol
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


2 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" 1 line, 9 characterswith eol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l

stays eol[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [New File] 2 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [Incomplete last line] 1 line, 11 charactersout eol

~                                                                               [?12l[?25h[?25l

stays without[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [New File][Incomplete last line] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fixeol
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25lTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXEol
[?25l"XXEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l0[?12l[?25h[?25l:[?12l[?25h$r XXEol
[?25l"XXEol" 2 lines, 13 characterswith eolEND[?12l[?25h[?25l:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" 1 line, 15 characterswithout eolEND[?12l[?25h[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" 3 lines, 23 characterswith eolstays eolEND[?12l[?25h[?25l:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" 2 lines, 29 characterswithout eolstays withoutEND[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_fixeol = test61; then \
#	  if diff test.out test_fixeol.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_fixeol.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_getcwd.failed test.ok test.out X* viminfo
cp test_getcwd.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_getcwd.in" 96 lines, 2374 charactersTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xtopdir directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a swapfile in Xtopdir prevents it from being cleaned up.

:set noswapfile

:"

:function! GetCwdInfo(win, tab)

: let tab_changed = 0

: let mod = ":t"

: if a:tab > 0 && a:tab != tabpagenr()

:   let tab_changed = 1

:   exec "tabnext " . a:tab

: endif

: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)

: if tab_changed[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 90 lines, 2273 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GetCwdInfo(win, tab)
[?25l

:  [?12l[?25h: let tab_changed = 0


[?25l:  [?12l[?25h: let mod = ":t"


[?25l:  [?12l[?25h: if a:tab > 0 && a:tab != tabpagenr()


[?25l:    [?12l[?25h:   let tab_changed = 1


[?25l:    [?12l[?25h:   exec "tabnext " . a:tab


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)


[?25l:  [?12l[?25h: if tab_changed


[?25l:    [?12l[?25h:   tabprevious


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: if a:win == 0 && a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir()


[?25l:    [?12l[?25h: elseif a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win)


[?25l:    [?12l[?25h: else


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win, a:tab), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win, a:tab)


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: return bufname . ' ' . dirname . ' ' . lflag


[?25l:  [?12l[?25h:endfunction
[?25l:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST

[?12l[?25h[?25l



:[?12l[?25h" On windows a stale "Xtopdir" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       test_getcwd.in                                                                  [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xtopdir')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir1')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir2')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir3')
[?25l[?12l[?25h[?25l:[?12l[?25hnew a
[?25l"a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l:[?12l[?25hnew b
[?25l"b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l:[?12l[?25hnew c
[?25l"c" [New File]~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lc                                                                                a                                                                               [?12l[?25h[?25l:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir1/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                            b                                                                               ab                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                                               b                                                                                [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir3/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lcb                                                                               b                                                            a                                                            /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25htabnew x
[?25l"x" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  x                                               X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hnew y
[?25l"y" [New File]2 y  Xy                                                                                x                                                                                [?12l[?25h[?25l:[?12l[?25hnew z
[?25l"z" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               z                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               y                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               x                                                                               [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lz                                                                                x                                                                               x  X[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25ly                                                                               x                                                                                y  X[?12l[?25h[?25l:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir2/b/v/v/s/v/t/X/y  X/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lzb /                Xz                                                                               yb                                                                               x                                                            [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir3/b/v/v/s/v/t/X/z  X/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in              [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[?12l[?25h[?25l:[?12l[?25hq
[?25l 4 [No Name]  3 z                                                               X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdirX/z  XXtopdir/cXtopdir/bXtopdir/a

[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_getcwd = test61; then \
#	  if diff test.out test_getcwd.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_getcwd.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_insertcount.failed test.ok test.out X* viminfo
cp test_insertcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_insertcount.in" 14 lines, 204 charactersTests for repeating insert and replace.



STARTTEST

:so small.vim

:/Second

4gro

:/^First/,$wq! test.out

:" get here when failed and in Insert mode

^[:.wq! test.out

ENDTEST



First line

Second line

Last line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for repeating insert and replace.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 111 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/Second
[?25l[?12l[?25h[?25looooecond line
ooo[?12l[?25h

Las[?25l:[?12l[?25h/^First/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 3 lines, 36 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_insertcount = test61; then \
#	  if diff test.out test_insertcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_insertcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listchars.failed test.ok test.out X* viminfo
cp test_listchars.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listchars.in" 54 lines, 705 charactersTests for 'listchars' display with 'list' and :list



STARTTEST

:so small.vim

:set ff=unix

:let g:lines = []

:function GetScreenCharsForLine(lnum)

:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))')), '')

:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"

:set listchars+=tab:>-,space:.,trail:<

:set list

:

/^start:/

:normal! jzt

GG

GG

GG

GG

GGH:

:set listchars-=trail:<[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'listchars' display with 'list' and :list[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 431 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTGG

GG

GG

GG

GG:

:put =g:lines

:'[,']w! test.out

ENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:lines = []
[?25l[?12l[?25h[?25l:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l

:  [?12l[?25h:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val


))'), '')


[?25l:  [?12l[?25h:endfunction
[?25l:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"[?12l[?25h[?25l

:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))


\<CR>"
[?25l:endfunction[?12l[?25h[?25l

:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset list
[?25l$.<expr>.GG.":call..\\<CR>"$

:set.$

:set.list$

:$$.jzt$

GG$

GG$

GG$

GG$

GGH:$

:set.$

GG$

GG$

GG$

GG$

GG:$

:put.$.$$

$[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:$[?12l[?25h[?25l

:[?12l[?25hnormal! jzt
[?25l>-------aa>-----$

..bb>---<<$

...cccc><$

dd........ee<<>-$

<$

$

$

STARTTEST$

:set.listchars+=trail:<$

:set.nolist$

:$

/^start:/$

:redir!.>>.test.out$

:+1,$list$

:redir.END$

:q!$

ENDTEST$

$

start:$

..fff>--<<$

>-------gg>-----$

.....h>-$

iii<<<<><<$[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset listchars-=trail:<
[?25l.....

.......>..[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hput =g:lines
[?25l10 more >-------aa>-----$$

..bb>---<<$$

...cccc><$$

dd........ee<<>-$$

<$$

>-------aa>-----$$

..bb>---..$$

...cccc>.$$

dd........ee..>-$$

.$$10 more lines[?12l[?25h[?25l:[?12l[?25h'[,']w! test.out
[?25l"test.out" [New File] 10 lines, 124 characters written[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 93 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:+1,$list$

:redir.END$

:q!$

ENDTEST$[?12l[?25h[?25l

$[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset listchars+=trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist
[?25l   >>  [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:[?12l[?25h[?25l

:[?12l[?25hredir! >> test.out
[?25l[?12l[?25h[?25l:[?12l[?25h+1,$list
[?25l..fff>--<<$


>-------gg>-----$


.....h>-$


iii<<<<><<$


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l>-------aa>-----$

..bb>---..$

...cccc>.$

dd........ee..>-$

.$STARTTEST:set listchars+=trail:<

:set nolist

:

/^start:/

:redir! >> test.out+1,$listredir END

:q!ENDTESTstart:  fff

        ggh

iii   [?12l[?25h[?25l

:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listchars = test61; then \
#	  if diff test.out test_listchars.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listchars.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr.failed test.ok test.out X* viminfo
cp test_listlbr.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr.in" 119 lines, 2868 charactersTest for linebreak and list option (non-utf8)



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |  endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width)

:let c=''

:for j in range(1,4)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu

:fu! DoRecordScreen()

:wincmd l

:$put =printf(\"\n%s\", g:test)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option (non-utf8)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 114 lines, 2792 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTabcd{ef

ghijklm

no}pqrs^[2k0f{^V^Vc%^[

:"

:let g:test ="Test 11: using block replace mode after wrapping"

:$put =g:test

:set linebreak wrap

Go^[150aa^[yypk147|^Vjr0

:"

:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$":set list listchars=space:_,trail:-,tab:>-,eol:$

:$put =g:test

:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |


endif
[?25labcd{ef[?12l[?25h[?25l

:[?12l[?25h10new|:vsp|:vert resize 20
[?25l       ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =linenorm! zt

:redraw!let line=ScreenChar(winwidth(0))

:call DoRecordScreen()%w! test.outqaENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,4)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 1: set         

+linebreak          

    abcdef          

+hijklmn            

+pqrstuvwxyz_1060ABCTest 1: set linebreak    abcdef          +hijklmn            +pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[?12l[?25h[?25l:[?12l[?25hset linebreak list listchars=
[?25l^Iabcdef hijklmn^I  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP      

              

Test 1: set

+linebreak 

    abcdef

+hijklmn  

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l^Iabcdef hijklmn^I  |

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOPTest 1: set linebreakabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines    abcdef                                                 +hijklmn                                                   +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                             ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l    abcdef          hijklmn            pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

           

Test 1: set

+linebreak

    abcdef

+hijklmn            

+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

[No Name] [+]        abcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines^Iabcdef hijklmn^I                                         +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Test 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou


ld break!"
[?25labcdef|^Iabcdef hijklmn^I[?12l[?25h[?25l:[?12l[?25hset nolist linebreak ts=8
[?25l    abcdef[?12l[?25h[?25l:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25l      

        

Test 3: set         linebreak nolist

    abcdef

+hijklmn   

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

1       

+aaaaaaaaaaaaaaaaaa [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l1|

+aaaaaaaaaaaaaaaaaa |||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     1aaaaaaaaaaaaaaaaaaTest 4: set linebreak with tab and 1 line as long as screen+: should break!1+aaaaaaaaaaaaaaaaaa~~4 more lines[?12l[?25h[?25l:[?12l[?25hlet line="_S_\t bla"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lTest 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    ~

~

_S_      bla[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l_S_      bla        

                    

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak with conceal and set list and tab displayed


by different char (line may not be truncated)"
[?25l_S_      bla|+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25labbbb[?12l[?25h[?25l:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25lSabb[?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 5: set         

+linebreak with     

+conceal and set    

+list and tab       

+displayed by       

+different char     

+(line may not be   

+truncated)         ~                                                          ~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  _S_      blaTest 5: set linebreak with conceal and set list and tab dis+played by different char (line may not be truncated)Sabbbbbb bla~~~4 more lines[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: this not"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25labbbbbb

~

~          

~              

Test 6: set     nebreak withvisual block mode

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE: this not    [?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE:             

+aaaaaaaaaaaaa      [?12l[?25h[?25l:[?12l[?25h1/^REMOVE:
[?25l[?12l[?25h[?25l[?12l[?25h[?25lR[?12l[?25h[?25lEMOVE: 

REMOVE:[?12l[?25h[?25lthis not        

aaaaaaaaaaaaa

~                   [?12l[?25h[?25l:[?12l[?25h$put
[?25l~                   

~                   

~                   

Test 6: set         

+linebreak with     

+visual block mode  

this not            

aaaaaaaaaaaaa       

~                   

                    REMOVE:             

REMOVE:[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lthis not            

aaaaaaaaaaaaa       

REMOVE:             

REMOVE:             

                    

                    

                    

                    

                    

                    Test 7: set

+linebreak with

+visual block mode

+and vbA

~                   

~                   [?12l[?25h[?25llong line:          [?12l[?25h[?25l foobar

+foobar foobar      @                   

@                           

             

       

       

           

               

                  

        

                    

                    +foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar[?12l[?25h+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar             

                    [?25lTARGET at

+end[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx at[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak sbr=
[?25lfoobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar TARGETx at 

end played by different char (line may not be truncated)[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set  

linebreak with

visual char mode

and changing block

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l1111-1111-1111-11-  

1111-1111-1111      [?12l[?25h[?25l[?12l[?25h[?25l111[?12l[?25h[?25l2222[?12l[?25h[?25l2222[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                [?12l[?25h[?25l1111-2222-1111-11-  

1111-2222-1111      

Test 9: using redo  

after block visual  

mode                

~                   

                    

                    

                    

                                        

aaa

aaa

a

~                   [?12l[?25h[?25l[?12l[?25h[?25la

a[?12l[?25h[?25l3 lines changedA

A

A[?12l[?25h[?25lA

AaA[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                

                    

AaA                 

AaA                 

A                   

~                   

                    

                    Test 10: using      

normal commands

after block-visual[?12l[?25h[?25l:[?12l[?25hset linebreak
[?25l[?12l[?25h[?25lAaA                 

AaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

                    

                    

                    abcd{ef

ghijklm

no}pqrs[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25lpqrs

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lAaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

~                   

~                   

                    Test 11: using      

block replace mode  

after wrapping[?12l[?25h[?25l:[?12l[?25hset linebreak wrap
[?25l[?12l[?25h[?25lA                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

Test 11: using      

block replace mode  

after wrapping      

                    [?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa        

~                   

~                   [?12l[?25h[?25l[?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l[?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa

~                   

~                   [?12l[?25h[?25l0

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaa0aaa

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$


"[?25laaaaaaaaaaaaaaaaaaaa|~[?12l[?25h[?25l:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l$[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         

~                   

~                   

~                   

                    

                    

                    

                    ~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25la_|

aaaaaaaaaaaaaaaaaaaa|

aa>-----a-$||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ~~_S_      blaTest 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)Sabbbbbb bla~~~[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines$                   

Test_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

a------------------ 

$                   Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a aaaaaaaaaaaaaaaaaaaaaaa12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a_          aaaaaaaaaaaaaaaaaaaaaa>-----a-$[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 62 lines, 2030 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr = test61; then \
#	  if diff test.out test_listlbr.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_search_mbyte.failed test.ok test.out X* viminfo
cp test_search_mbyte.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search_mbyte.in" 15 lines, 226 charactersTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for search('multi-byte char', 'bce')[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hsource small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hsource mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h/^Test bce:/+1
[?25l[?12l[?25h[?25l:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l15[?12l[?25h[?25l:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [New File] 5 lines, 27 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_search_mbyte = test61; then \
#	  if diff test.out test_search_mbyte.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_search_mbyte.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_utf8.failed test.ok test.out X* viminfo
cp test_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_utf8.in" 46 lines, 1245 charactersTests for Unicode manipulationsvim: set ft=vim :



STARTTEST

:so small.vim

:set encoding=utf-8

:"

:" Visual block Insert adjusts for multi-byte char

:new


:exe ":norm! gg0l\<C-V>jjIx\<Esc>"

:let r = getline(1, '$')

:"

:bwipeout!

:$put=r

:"

:" Test for built-in function strchars()


:$put=strchars(str)

:$put=strchars(str, 0)

:$put=strchars(str, 1)

:endfor

:"

:" Test for customlist completion[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for Unicode manipulationsvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 1151 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:return ['あ', 'い']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)

:return ['あたし', 'あたま', 'あたりめ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)

:return ['Nこ', 'Nん', 'Nぶ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']endfunctioncommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')"call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST test_utf8.in                                                                    [?12l[?25h[?25l:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25laaa

あああbbb[+][?12l[?25h[?25l:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25lxaa

xあああ

bxbb[?12l[?25h[?25l:[?12l[?25hlet r = getline(1, '$')
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:       return ['あ', 'い']

:endfunction:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it'):":function! CustomComplete2(lead, line, pos):       return ['あたし', 'あたま', 'あたりめ']:endfunction:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')"function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']

:endfunctionommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"call garbagecollect(1):/^start:/,$wq! test.out

ENDTEST

 [?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

axaa

xあああ

bxbb3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for built-in function strchars()
[?25l[?12l[?25h[?25l:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l

:  [?12l[?25h:^I$put=strchars(str)


[?25l:  [?12l[?25h:^I$put=strchars(str, 0)


[?25l:  [?12l[?25h:^I$put=strchars(str, 1)


[?25l:  [?12l[?25h:endfor
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST



start:axaaxあああbxbb11133322133

1111[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for customlist completion
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あ', 'い']


[?25l:  [?12l[?25h:endfunction
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test1 ...'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 ''Test1 '


Test1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あたし', 'あたま', 'あたりめ']


[?25l:  [?12l[?25h:endfunction
[?25l:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた''Test2 あた'


Test2 あた[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['Nこ', 'Nん', 'Nぶ']


[?25l:  [?12l[?25h:endfunction
[?25lENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test3 ...N'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N''Test3 N'


Test3 N[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 22 lines, 86 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_utf8 = test61; then \
#	  if diff test.out test_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_wordcount.failed test.ok test.out X* viminfo
cp test_wordcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_wordcount.in" 126 lines, 2815 charactersTest for wordcount() function



STARTTEST

:so small.vim

:so mbyte.vim

:set enc=utf8

:set selection=inclusive fileformat=unix fileformats=unix

:new

:fu DoRecordWin(...)

:wincmd k

:if exists("a:1")

:call cursor(a:1)

:endif

:let result=[]

:call add(result, g:test)

:call add(result, getline(1, '$'))

:call add(result, wordcount())

:wincmd j

:return result

:endfu

:fu PutInWindow(args)

:wincmd k

:%d _[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for wordcount() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 121 lines, 2753 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"


:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"

:call PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])

:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:
[?12l[?25h[?25l

:[?12l[?25hset selection=inclusive fileformat=unix fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])[2]=g:visual_statcall Log()"/^RESULT test/,$w! test.out

:qa!ENDTEST

RESULT test:

test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hfu DoRecordWin(...)
[?25l

:  [?12l[?25h:^Iwincmd k


[?25l:  [?12l[?25h:       if exists("a:1")


[?25l:    [?12l[?25h:           call cursor(a:1)


[?25l:    [?12l[?25h:       endif


[?25l:  [?12l[?25h:       let result=[]


[?25l:  [?12l[?25h:       call add(result, g:test)


[?25l:  [?12l[?25h:       call add(result, getline(1, '$'))


[?25l:  [?12l[?25h:       call add(result, wordcount())


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:       return result


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu PutInWindow(args)
[?25l

:  [?12l[?25h:       wincmd k


[?25l:  [?12l[?25h:       %d _


[?25l:  [?12l[?25h:       call append(1, a:args)


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu Log()
[?25l

:  [?12l[?25h:   $put ='----'


[?25l:  [?12l[?25h:   $put =remove(g:log,0)


[?25l:  [?12l[?25h:   $put =string(g:log)


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu! STL()
[?25l

:  [?12l[?25h:    if mode() =~? 'V'


[?25l:    [?12l[?25h:       let g:visual_stat=wordcount()


[?25l:    [?12l[?25h:    endif


[?25l:  [?12l[?25h:    return string(wordcount())


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin()
[?25l[No Name]                                                                        test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 1: empty window

[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00, 'cursor_bytes': 0}][+][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25lone two three[+][?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 2: some words, cursor at start

[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worrds': 0, 'bytes': 15, 'cursor_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 3: some words, cursor at end

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 4: some words, cursor at end, ve=all

[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 15}][?12l[?25h[?25l





:[?12l[?25hset ve=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25lone two threeone two three--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 5: several lines with words

[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__chars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25l[No Name] [+]                                                                   test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset bomb
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2 lines, 18 characters writtenXtesta         [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 6: one line with BOM set

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 18, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25hwincmd k
[?25lXtest                                                                           test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset nobomb
[?25l[+][?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written    [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh'])
[?25lÄne M¤ne Müh[+]--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 7: one line with multibyte words

[['', 'Äne M¤ne Müh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worrds': 3, 'bytes': 17, 'cursor_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25lund raus bist dü!--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 8: several lines with multibyte words

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'cursor_chars': 31, 'wwords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l 

Äne M¤ne Müh 

und raus bist dü! ds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[?12l[?25h[?25lÄne M¤ne Mühnd raus bist dü!3 lines yankedursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 9: visual mode, complete buffer

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l[?12l[?25h[?25lursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 10: visual mode (empty)

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h2
[?25l2,1,3}[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_2}[?12l[?25h[?25lÄne M¤ne Mühds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[?12l[?25h[?25l
Äne M¤ne Mühursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[?12l[?25hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]s                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 11: visual mode, single line

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^RESULT test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 34 lines, 1905 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_wordcount = test61; then \
#	  if diff test.out test_wordcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_wordcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test11.failed test.ok test.out X* viminfo
cp test11.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test11.in" 84 lines, 3366 charactersTests for autocommands:

- FileWritePrewriting a compressed file

- FileReadPostreading a compressed file

- BufNewFilereading a file template

- BufReadPredecompressing the file to be read

- FilterReadPresubstituting characters in the temp file

- FilterReadPostsubstituting characters after filtering

- FileReadPreset options for decompression

- FileReadPostdecompress the file



Note: This test is skipped if "gzip" is not available.

$GZIP is made empty, "-v" would cause trouble.

Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being

modified outside of Vim (noticed on Solaris).



STARTTEST

:so small.vim

:" drop out when there is no gzip program

:if !executable("gzip")

: e! test.ok

: w! test.out

: qa!

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for autocommands:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 48 lines, 2298 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w" write it, after filtering

:au!" remove all autocommands

:e" Edit test.out again

:set nobin ff&   " use the default fileformat for writing

:w

:qa!

ENDTEST



startstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" drop out when there is no gzip program
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("gzip")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/[?12l[?25h[?25l:[?12l[?25hlet $GZIP = ""
[?25l[?12l[?25h[?25l:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePre    *.gz   '[,']!gzip
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePost   *.gz   undo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered

"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written


10 more lines; before #1  0 seconds ago


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileReadPost    *.gz   '[,']!gzip -d
[?25l:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w                           " write it, after filtering

:au!             " remove all autocommandse" Edit test.out againset nobin ff&   " use the default fileformat for writing

:wqa!ENDTESTstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx45678910

end of testfile[?12l[?25h[?25l

:[?12l[?25h$r Xtestfile.gz                " Read and decompress the testfile
[?25l"Xtestfile.gz" [Incomplete last line] 1 line, 111 characters
[?12l[?25h[?25lstart of test.c

/*

 * Here is a new .c file

 */

end of test.c

start of testfile[?12l[?25h[?25l

:[?12l[?25h?startstart?,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 29 lines, 788 characters written[?12l[?25h[?25l:[?12l[?25hau BufNewFile      *.c    read Xtest.c
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25lsearch hit BOTTOM, continuing at TOP"Xtest.c" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25he! foo.c                       " Will load Xtest.c
[?25l"foo.c" [New File]

"Xtest.c" 3 lines, 32 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileAppendPre   *.out  '[,']s/new/NEW/
[?25l/*

 * Here is a new .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FileAppendPost  *.out  !cat Xtest.c >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 4 lines, 33 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hau! FileAppendPre
[?25l/*

 * Here is a NEW .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile.gz                " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'


[?12l[?25h[?25l"Xtestfile.gz""Xtestfile.gz" 11 lines, 357 characters:!gzip 'Xtestfile'


[?12l[?25h[?25lcaught FileChangedShell


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 11 lines, 357 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hset shelltemp                  " need temp files here
[?25lstart of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>") . "


.t")
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi


le>")) . ".t >" . shellescape(expand("<afile>"))
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !rm ' . shellescape(expand("<afile>")) .


'.t'
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPost  *.out  '[,']s/x/X/g
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out                    " Edit the output file
[?25l"test.out" 50 lines, 1242 charactersstarstart of testfile2  Abcdefghijklmnopqrstuvwxyz3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4  Abcdefghijklmnopqrstuvwxyz5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6  Abcdefghijklmnopqrstuvwxyz7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8  Abcdefghijklmnopqrstuvwxyz9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfilestart of test.c/* * Here is a new .c file */end of test.cstart of testfileline 2  Abcdefghijklmnopqrstuvwxyzline 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 4  Abcdefghijklmnopqrstuvwxyzline 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines


28 lines filtered


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h23,$s/\r$//                 " remove CR for when sed adds them
[?25lE486: Pattern not found: \r$

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>


"))
[?25lstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE 5  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[?12l[?25h[?25l

:[?12l[?25hau  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau! FileReadPost   *.gz   '[,']s/l/L/
[?25l[?12l[?25h[?25l:[?12l[?25h$r Xtestfile.gz             " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" 11 lines, 357 characters


11 substitutions on 11 lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw                           " write it, after filtering
[?25l"test.out"61 lines, 1599 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau!             " remove all autocommands
[?25lE216: No such group or event: " remove all autocommands


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he               " Edit test.out again
[?25l"test.out"61 lines, 1599 charactersstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"test.out" 61 lines, 1599 characters[?12l[?25h[?25l:[?12l[?25hset nobin ff&   " use the default fileformat for writing
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test11 = test61; then \
#	  if diff test.out test11.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test11.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test52.failed test.ok test.out X* viminfo
cp test52.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test52.in" 65 lines, 1645 charactersTests for reading and writing files with conversion for Win32.



STARTTEST

:so mbyte.vim

:" make this a dummy test for non-Win32 systems

:if !has("win32") | e! test.ok | wq! test.out | endif

:"

:" write tests:

:" combine three values for 'encoding' with three values for 'fileencoding'

:" also write files for read tests

/^1

:set encoding=utf-8

:.w! ++enc=utf-8 test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=utf-8 Xutf8

/^2

:set encoding=cp1251

:.w ++enc=utf-8 >>test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=cp1251 Xcp1251

/^3[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for reading and writing files with conversion for Win32.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 57 lines, 1333 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xcp1251

:.w ++enc=cp1251 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp1251 >>test.out

:"

:" read three 'fileencoding's with cp866 'encoding'

:set encoding=cp866 fencs=utf-8,cp1251

:e Xutf8

:.w ++enc=cp866 >>test.out

:e Xcp1251

:.w ++enc=cp866 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp866 >>test.out

:"

:qa!

ENDTEST






[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" 18 lines, 1374 characters


"test.out" [New File] 18 lines, 1374 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test52 = test61; then \
#	  if diff test.out test52.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test52.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test85.failed test.ok test.out X* viminfo
cp test85.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test85.in" 85 lines, 1868 charactersTest for Lua interface and luaeval() function



STARTTEST

:so small.vim

:so lua.vim

:set nocompatible viminfo+=nviminfo

:lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"

:lua h = vim.dict(); h.list = l

:call garbagecollect()

/^1

:" change buffer contents

:lua curbuf = vim.buffer()

:lua curline = vim.eval"line('.')"

:lua curbuf[curline] = "1 changed line 1"

:" scalar test

:let tmp_string = luaeval('"string"')

:let tmp_1000 = luaeval('1000')

:if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"

:let scalar_res = "OK"

:else

:let scalar_res = "FAILED"

:endif

:call append(search("^1"), "scalar test " . scalar_res)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Lua interface and luaeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 77 lines, 1775 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")

:lua d[4] = d[0]

:lua d[5] = d[1]

:lua d[6] = d[2]

:lua d[7] = d[3]

:lua d[3] = nil

:lua d[2] = nil

:lua d[1] = nil

:lua d[0] = nil

:lua d = nil

:$put =string(d)



:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso lua.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[?12l[?25h[?25l:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect()
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l:[?12l[?25h" change buffer contents
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf = vim.buffer()
[?25l[?12l[?25h[?25l:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25lchanged line 1
[?12l[?25h[?25l:[?12l[?25h" scalar test
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[?12l[?25h[?25l:[?12l[?25hif printf("%s%.0f", tmp_string, tmp_1000) == "string1000"
[?25l

:  [?12l[?25h:let scalar_res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let scalar_res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")[?12l[?25h[?25l





:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25lscalar test OK

2 line 2[?12l[?25h[?25l:[?12l[?25h" dictionary containing a list
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[?12l[?25h[?25l:[?12l[?25h/^2/put =tmp
[?25l

dictionary with list OK[?12l[?25h[?25l

:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l
[?25l[?12l[?25h[?25l:[?12l[?25hlet l2 = luaeval("h").list
[?25l[?12l[?25h[?25l:[?12l[?25hif l2[2] == l2
[?25l

:  [?12l[?25h:let res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")[?12l[?25h[?25l

:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l

circular test OK[?12l[?25h[?25l

:[?12l[?25hlet l = []
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.eval("l")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = l[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = l[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = l[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(l)
[?25l

[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][?12l[?25h[?25l

:[?12l[?25hlet d = {}
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = vim.eval("d")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[4] = d[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[5] = d[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[6] = d[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[7] = d[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(d)
[?25l

{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[?12l[?25h[?25l

:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 7L, 206C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test85 = test61; then \
#	  if diff test.out test85.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test85.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test86.failed test.ok test.out X* viminfo
cp test86.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test86.in" 1711 lines, 48481 charactersTests for various python features.     vim: set ft=vim :



NOTE: This will cause errors when run under valgrind.

This would require recompiling Python with:

  ./configure --without-pymalloc

See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:if !has('python') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py import vim

:py cb = vim.current.buffer

:let l = []

:py l=vim.bindeval('l')

:py f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py l.extend([1, "as'd", [1, 2, f, {'a': 1}]])

:$put =string(l)

:$put =string(l[-1])[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1700 lines, 48188 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" 1445 lines, 67439 characters


"test.out" [New File] 1445 lines, 67439 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test86 = test61; then \
#	  if diff test.out test86.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test86.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test87.failed test.ok test.out X* viminfo
cp test87.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test87.in" 1707 lines, 49069 charactersTests for various python features.     vim: set ft=vim :



STARTTEST

:so small.vim

:set noswapfile

:if !has('python3') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py3 import vim

:py3 cb = vim.current.buffer

:let l = []

:py3 l=vim.bindeval('l')

:py3 f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]

:$put =string(l)

:$put =string(l[-1])

:try

:  $put =string(l[-4])

:catch

:  $put =v:exception[:13]

:endtry

:" List assignment[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1701 lines, 48985 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h:py3 import vim


[?25l:  [?12l[?25h:py3 cb = vim.current.buffer


[?25l:  [?12l[?25h:let l = []


[?25l:  [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:  [?12l[?25h:py3 f=vim.bindeval('function("strlen")')


[?25l:  [?12l[?25h:" Extending List directly with different types


[?25l:  [?12l[?25h:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-4])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:13]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List assignment


[?25l:  [?12l[?25h:py3 l[0]=0


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:py3 l[-2]=f


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Extending Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:fun d.f()


[?25l:    [?12l[?25h:  return 1


[?25l:    [?12l[?25h:endfun


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hd=vim.bindeval('d')


[?25l:    [?12l[?25hd['1']='asd'


[?25l:    [?12l[?25hd.update()  # Must not do anything, including throwing errors


[?25l:    [?12l[?25hd.update(b=[1, 2, f])


[?25l:    [?12l[?25hd.update((('-1', {'a': 1}),))


[?25l:    [?12l[?25hd.update({'0': -1})


[?25l:    [?12l[?25hdk = d.keys()


[?25l:    [?12l[?25hdv = d.values()


[?25l:    [?12l[?25hdi = d.items()


[?25l:    [?12l[?25hdk.sort(key=repr)


[?25l:    [?12l[?25hdv.sort(key=repr)


[?25l:    [?12l[?25hdi.sort(key=repr)


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =py3eval('d[''f''](self={})')


[?25l:    [?12l[?25h:$put =py3eval('repr(dk)')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(dv)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(di)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:for [key, Val] in sort(items(d))


[?25l:      [?12l[?25h:  $put =string(key) . ' : ' . string(Val)


[?25l:      [?12l[?25h:  unlet key Val


[?25l:      [?12l[?25h:endfor


[?25l:    [?12l[?25h:py3 del dk


[?25l:    [?12l[?25h:py3 del di


[?25l:    [?12l[?25h:py3 del dv


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items with del


[?25l:    [?12l[?25h:py3 del l[2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:try


[?25l:      [?12l[?25h:   py3 del l[:3]


[?25l:      [?12l[?25h:   py3 del l[1:]


[?25l:      [?12l[?25h:catch


[?25l:      [?12l[?25h:   $put =v:exception


[?25l:      [?12l[?25h:endtry


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:py3 del d['-1']


[?25l:    [?12l[?25h:py3 del d['f']


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''b'')'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''1''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(''0'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(''1'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:$put =string(d)


[?25l:    [?12l[?25h:$put =py3eval('repr(d.popitem())')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.get(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[2:1]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:3]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:5]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:6]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[-1:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-3:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-4:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-5:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-6:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[::2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[3:0:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Slice assignment to a list


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['a']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[1:2]=['b']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:4]=['c']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[4:4]=['d']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-1:2]=['e']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-10:2]=['f']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:-10]=['g']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = []


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['h']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:6:2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:-2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Locked variables


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:lockvar! l


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hdef emsg(ei):


[?25l:    [?12l[?25h    return ei[0].__name__ + ':' + repr(ei[1].args)


[?25l:    [?12l[?25h


[?25l:    [?12l[?25htry:


[?25l:    [?12l[?25h    l[2]='i'


[?25l:    [?12l[?25hexcept vim.error:


[?25l:    [?12l[?25h    cb.append('l[2] threw vim.error: ' + emsg(sys.exc_info()))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:unlockvar! l


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Function calls


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25himport sys


[?25l:    [?12l[?25himport re


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hpy33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional


argument but (\d+) were given$')


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hdef ee(expr, g=globals(), l=locals()):


[?25l:    [?12l[?25h    cb = vim.current.buffer


[?25l:    [?12l[?25h    try:


[?25l:    [?12l[?25h        try:


[?25l:    [?12l[?25h            exec(expr, g, l)


[?25l:    [?12l[?25h        except Exception as e:


[?25l:    [?12l[?25h            if sys.version_info >= (3, 3) and e.__class__ is AttributeErro


r and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, AttributeError(s


tr(e)[str(e).rfind(" '") + 2:-1]))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is ImportError


and str(e).find('No module named \'') >= 0:


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, ImportError(str(


e).replace("'", '')))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is TypeError:


[?25l:    [?12l[?25h                m = py33_type_error_pattern.search(str(e))


[?25l:    [?12l[?25h                if m:


[?25l:    [?12l[?25h                    msg = '__call__() takes exactly {0} positional argumen


t ({1} given)'.format(m.group(1), m.group(2))


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, TypeError(ms


g))))


[?25l:    [?12l[?25h                else:


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, e)))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 5) and e.__class__ is ValueError 


and str(e) == 'embedded null byte':


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((TypeError, TypeError('expecte


d bytes with no null'))))


[?25l:    [?12l[?25h            else:


[?25l:    [?12l[?25h                msg = repr((e.__class__, e))


[?25l:    [?12l[?25h                # Some Python versions say can't, others cannot.


[?25l:    [?12l[?25h                if msg.find('can\'t') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('can\'t', 'cannot')


[?25l:    [?12l[?25h                # Some Python versions use single quote, some double quote


[?25l:    [?12l[?25h                if msg.find('"cannot ') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('"cannot ', '\'cannot ')


[?25l:    [?12l[?25h                if msg.find(' attributes"') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace(' attributes"', ' attributes\'')


[?25l:    [?12l[?25h                cb.append(expr + ':' + msg)


[?25l:    [?12l[?25h        else:


[?25l:    [?12l[?25h            cb.append(expr + ':NOT FAILED')


[?25l:    [?12l[?25h    except Exception as e:


[?25l:    [?12l[?25h        cb.append(expr + '::' + repr((e.__class__, e)))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:fun New(...)


[?25l:      [?12l[?25h:   return ['NewStart']+a:000+['NewEnd']


[?25l:      [?12l[?25h:endfun


[?25l:      [?12l[?25h:fun DictNew(...) dict


[?25l:[?12l[?25h:   return ['DictNewStart']+a:000+['DictNewEnd', self]


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:let l=[function('New'), function('DictNew')]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l+=[l[0].name]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 ee('l[1](1, 2, 3)')


[?25l:[?12l[?25h:py3 f=l[0]


[?25l:[?12l[?25h:delfunction New


[?25l:[?12l[?25h:py3 ee('f(1, 2, 3)')


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let l=[0.0]


[?25l:[?12l[?25h:   py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:   py3 l.extend([0.0])


[?25l:[?12l[?25h:   $put =string(l)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='[0.0, 0.0]'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:let messages=[]


[?25l:[?12l[?25h:delfunction DictNew


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25hd=vim.bindeval('{}')


[?25l:[?12l[?25hm=vim.bindeval('messages')


[?25l:[?12l[?25hdef em(expr, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        if sys.version_info >= (3, 5) and e.__class__ is ValueError an


d str(e) == 'embedded null byte':


[?25l:[?12l[?25h            m.extend([TypeError.__name__])


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            m.extend([e.__class__.__name__])


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d["abc1"]')


[?25l:[?12l[?25hem('d["abc1"]="\\0"')


[?25l:[?12l[?25hem('d["abc1"]=vim')


[?25l:[?12l[?25hem('d[""]=1')


[?25l:[?12l[?25hem('d["a\\0b"]=1')


[?25l:[?12l[?25hem('d[b"a\\0b"]=1')


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d.pop("abc1")')


[?25l:[?12l[?25hem('d.popitem()')


[?25l:[?12l[?25hdel em


[?25l:[?12l[?25hdel m


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =messages


[?25l:[?12l[?25h:unlet messages


[?25l:[?12l[?25h:" locked and scope attributes


[?25l:[?12l[?25h:let d={} | let dl={} | lockvar dl


[?25l:[?12l[?25h:for s in split("d dl v: g:")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e


val(name.".".v:val)'), ';')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! let d.abc2=1


[?25l:[?12l[?25h:silent! let dl.abc3=1


[?25l:[?12l[?25h:py3 d.locked=True


[?25l:[?12l[?25h:py3 dl.locked=False


[?25l:[?12l[?25h:silent! let d.def=1


[?25l:[?12l[?25h:silent! let dl.def=1


[?25l:[?12l[?25h:put ='d:'.string(d)


[?25l:[?12l[?25h:put ='dl:'.string(dl)


[?25l:[?12l[?25h:unlet d dl


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:let l=[] | let ll=[] | lockvar ll


[?25l:[?12l[?25h:for s in split("l ll")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : locked:'.py3eval(name.'.locked')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! call extend(l, [0])


[?25l:[?12l[?25h:silent! call extend(ll, [0])


[?25l:[?12l[?25h:py3 l.locked=True


[?25l:[?12l[?25h:py3 ll.locked=False


[?25l:[?12l[?25h:silent! call extend(l, [1])


[?25l:[?12l[?25h:silent! call extend(ll, [1])


[?25l:[?12l[?25h:put ='l:'.string(l)


[?25l:[?12l[?25h:put ='ll:'.string(ll)


[?25l:[?12l[?25h:unlet l ll


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" py3eval()


[?25l:[?12l[?25h:let l=py3eval('[0, 1, 2]')


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')


[?25l:[?12l[?25h:$put =sort(items(d))


[?25l:[?12l[?25h:let v:errmsg = ''


[?25l:[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let f=py3eval('0.0')


[?25l:[?12l[?25h:   $put =string(f)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='0.0'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:" Invalid values:


[?25l:[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']


[?25l:[?12l[?25h:   try


[?25l:[?12l[?25h:      let v=py3eval(e)


[?25l:[?12l[?25h:   catch


[?25l:[?12l[?25h:      let toput=e.":\t".v:exception[:13]


[?25l:[?12l[?25h:      $put =toput


[?25l:[?12l[?25h:   endtry


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" threading


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport threading


[?25l:[?12l[?25himport time


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass T(threading.Thread):


[?25l:[?12l[?25h    def __init__(self):


[?25l:[?12l[?25h        threading.Thread.__init__(self)


[?25l:[?12l[?25h        self.t = 0


[?25l:[?12l[?25h        self.running = True


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def run(self):


[?25l:[?12l[?25h        while self.running:


[?25l:[?12l[?25h            self.t += 1


[?25l:[?12l[?25h            time.sleep(0.1)


[?25l:[?12l[?25h


[?25l:[?12l[?25ht = T()


[?25l:[?12l[?25hdel T


[?25l:[?12l[?25ht.start()


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:sleep 1


[?25l:[?12l[?25h:py3 t.running = False


[?25l:[?12l[?25h:py3 t.join()


[?25l:[?12l[?25h:" Check if the background thread is working.  Count should be 10, but


on a


[?25l:[?12l[?25h:" busy system (AppVeyor) it can be much lower.


[?25l:[?12l[?25h:py3 l[0] = t.t > 4


[?25l:[?12l[?25h:py3 del time


[?25l:[?12l[?25h:py3 del threading


[?25l:[?12l[?25h:py3 del t


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" settrace


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef traceit(frame, event, arg):


[?25l:[?12l[?25h    global l


[?25l:[?12l[?25h    if event == "line":


[?25l:[?12l[?25h        l += [frame.f_lineno]


[?25l:[?12l[?25h    return traceit


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef trace_main():


[?25l:[?12l[?25h    for i in range(5):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:py3 sys.settrace(traceit)


[?25l:[?12l[?25h:py3 trace_main()


[?25l:[?12l[?25h:py3 sys.settrace(None)


[?25l:[?12l[?25h:py3 del traceit


[?25l:[?12l[?25h:py3 del trace_main


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Slice


[?25l:[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')


[?25l:[?12l[?25h:py3 l = ll[:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-4:-2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[0:6]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-10:10]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:-1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[::2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 del l


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Vars


[?25l:[?12l[?25h:let g:foo = 'bac'


[?25l:[?12l[?25h:let w:abc3 = 'def'


[?25l:[?12l[?25h:let b:baz = 'bar'


[?25l:[?12l[?25h:let t:bar = 'jkl'


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  throw "Abc"


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  put =py3eval('vim.vvars[''exception'']')


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:put =py3eval('vim.vars[''foo'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Options


[?25l:[?12l[?25h:" paste:          boolean, global


[?25l:[?12l[?25h:" previewheight   number,  global


[?25l:[?12l[?25h:" operatorfunc:   string,  global


[?25l:[?12l[?25h:" number:         boolean, window-local


[?25l:[?12l[?25h:" numberwidth:    number,  window-local


[?25l:[?12l[?25h:" colorcolumn:    string,  window-local


[?25l:[?12l[?25h:" statusline:     string,  window-local/global


[?25l:[?12l[?25h:" autoindent:     boolean, buffer-local


[?25l:[?12l[?25h:" shiftwidth:     number,  buffer-local


[?25l:[?12l[?25h:" omnifunc:       string,  buffer-local


[?25l:[?12l[?25h:" preserveindent: boolean, buffer-local/global


[?25l:[?12l[?25h:" path:           string,  buffer-local/global


[?25l:[?12l[?25h:let g:bufs=[bufnr('%')]


[?25l:[?12l[?25h:new


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd j


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd l


[?25l:[?12l[?25h:fun RecVars(opt)


[?25l:[?12l[?25h:  let gval =string(eval('&g:'.a:opt))


[?25l:[?12l[?25h:  let wvals=join(map(range(1, 4),  'v:val.":".string(getwinvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  put ='  G: '.gval


[?25l:[?12l[?25h:  put ='  W: '.wvals


[?25l:[?12l[?25h:  put ='  B: '.wvals


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef e(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('return ' + repr(e.__class__.__name__))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef ev(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        return eval(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('let exc=' + repr(e.__class__.__name__))


[?25l:[?12l[?25h        return 0


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:fun E(s)


[?25l:[?12l[?25h:   python3 e(vim.eval('a:s'))


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun Ev(s)


[?25l:[?12l[?25h:   let r=py3eval('ev(vim.eval("a:s"))')


[?25l:[?12l[?25h:   if exists('exc')


[?25l:[?12l[?25h:       throw exc


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   return r


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:py3 gopts1=vim.options


[?25l:[?12l[?25h:py3 wopts1=vim.windows[2].options


[?25l:[?12l[?25h:py3 wopts2=vim.windows[0].options


[?25l:[?12l[?25h:py3 wopts3=vim.windows[1].options


[?25l:[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options


[?25l:[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options


[?25l:[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options


[?25l:[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts


2)')


[?25l:[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts


2)')


[?25l:[?12l[?25h:py3 gset=set(iter(gopts1))


[?25l:[?12l[?25h:py3 wset=set(iter(wopts1))


[?25l:[?12l[?25h:py3 bset=set(iter(bopts1))


[?25l:[?12l[?25h:set path=.,..,,


[?25l:[?12l[?25h:let lst=[]


[?25l:[?12l[?25h:let lst+=[['paste',          1,     0,     1,     2,      1,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['previewheight',  5,     1,     6,     'a',    0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['operatorfunc',   'A',   'B',   'C',   2,      0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['number',         0,     1,     1,     0,      1,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['numberwidth',    2,     3,     5,     -100,   0,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc4',  0,  


 0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['statusline',     '1',   '2',   '4',   0,      0,   


1,      1    ]]


[?25l:[?12l[?25h:let lst+=[['autoindent',     0,     1,     1,     2,      1,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['shiftwidth',     0,     2,     1,     3,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['preserveindent', 0,     1,     1,     2,      1,   


1,      2    ]]


[?25l:[?12l[?25h:let lst+=[['path',           '.,,', ',,',  '.',   0,      0,   


1,      2    ]]


[?25l:[?12l[?25h:for       [oname,            oval1, oval2, oval3, invval, bool,


global, local] in lst


[?25l:[?12l[?25h:   py3 oname=vim.eval('oname')


[?25l:[?12l[?25h:   py3 oval1=vim.bindeval('oval1')


[?25l:[?12l[?25h:   py3 oval2=vim.bindeval('oval2')


[?25l:[?12l[?25h:   py3 oval3=vim.bindeval('oval3')


[?25l:[?12l[?25h:   if invval is 0 || invval is 1


[?25l:[?12l[?25h:       py3 invval=bool(vim.bindeval('invval'))


[?25l:[?12l[?25h:   else


[?25l:[?12l[?25h:       py3 invval=vim.bindeval('invval')


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   if bool


[?25l:[?12l[?25h:       py3 oval1=bool(oval1)


[?25l:[?12l[?25h:       py3 oval2=bool(oval2)


[?25l:[?12l[?25h:       py3 oval3=bool(oval3)


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   put ='>>> '.oname


[?25l:[?12l[?25h:   $put ='  g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona


me in wset').'/'.py3eval('oname in bset')


[?25l:[?12l[?25h:   $put ='  g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev


al('oname in wopts1').'/'.py3eval('oname in bopts1')


[?25l:[?12l[?25h:   for v in ['gopts1', 'wopts1', 'bopts1']


[?25l:[?12l[?25h:       try


[?25l:[?12l[?25h:           put ='  p/'.v.': '.Ev('repr('.v.'['''.oname.''


'])')


[?25l:[?12l[?25h:       catch


[?25l:[?12l[?25h:           put ='  p/'.v.'! '.v:exception


[?25l:[?12l[?25h:       endtry


[?25l:[?12l[?25h:       let r=E(v.'['''.oname.''']=invval')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  inv: '.string(invval).'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:       for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[


:-2].'3'])


[?25l:[?12l[?25h:           let val=substitute(vv, '^.opts', 'oval', '')


[?25l:[?12l[?25h:           let r=E(vv.'['''.oname.''']='.val)


[?25l:[?12l[?25h:           if r isnot 0


[?25l:[?12l[?25h:               put ='  '.vv.'! '.r


[?25l:[?12l[?25h:           endif


[?25l:[?12l[?25h:       endfor


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:   for v in ['wopts3', 'bopts3']


[?25l:[?12l[?25h:       let r=E('del '.v.'["'.oname.'"]')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  del '.v.'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:delfunction RecVars


[?25l:[?12l[?25h:delfunction E


[?25l:[?12l[?25h:delfunction Ev


[?25l:[?12l[?25h:py3 del ev


[?25l:[?12l[?25h:py3 del e


[?25l:[?12l[?25h:only


[?25l:[?12l[?25h:for buf in g:bufs[1:]


[?25l:[?12l[?25h:   execute 'bwipeout!' buf


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:py3 del gopts1


[?25l:[?12l[?25h:py3 del wopts1


[?25l:[?12l[?25h:py3 del wopts2


[?25l:[?12l[?25h:py3 del wopts3


[?25l:[?12l[?25h:py3 del bopts1


[?25l:[?12l[?25h:py3 del bopts2


[?25l:[?12l[?25h:py3 del bopts3


[?25l:[?12l[?25h:py3 del oval1


[?25l:[?12l[?25h:py3 del oval2


[?25l:[?12l[?25h:py3 del oval3


[?25l:[?12l[?25h:py3 del oname


[?25l:[?12l[?25h:py3 del invval


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test buffer object


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:put ='First line'


[?25l:[?12l[?25h:put ='Second line'


[?25l:[?12l[?25h:put ='Third line'


[?25l:[?12l[?25h:1 delete _


[?25l:[?12l[?25h:py3 b=vim.current.buffer


[?25l:[?12l[?25h:wincmd w


[?25l:[?12l[?25h:mark a


[?25l:[?12l[?25h:augroup BUFS


[?25l:[?12l[?25h:   autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a


buf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:   autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab


uf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:augroup END


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Tests BufferAppend and BufferItem


[?25l:[?12l[?25hcb.append(b[0])


[?25l:[?12l[?25h# Tests BufferSlice and BufferAssSlice


[?25l:[?12l[?25hcb.append('abc5') # Will be overwritten


[?25l:[?12l[?25hcb[-1:] = b[:-2]


[?25l:[?12l[?25h# Test BufferLength and BufferAssSlice


[?25l:[?12l[?25hcb.append('def') # Will not be overwritten


[?25l:[?12l[?25hcb[len(cb):] = b[:]


[?25l:[?12l[?25h# Test BufferAssItem and BufferMark


[?25l:[?12l[?25hcb.append('ghi') # Will be overwritten


[?25l:[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))


[?25l:[?12l[?25h# Test BufferRepr


[?25l:[?12l[?25hcb.append(repr(cb) + repr(b))


[?25l:[?12l[?25h# Modify foreign buffer


[?25l:[?12l[?25hb.append('foo')


[?25l:[?12l[?25hb[0]='bar'


[?25l:[?12l[?25hb[0:0]=['baz']


[?25l:[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe


r)

[?25l:[?12l[?25h# Test assigning to name property


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hold_name = cb.name


[?25l:[?12l[?25hcb.name = 'foo'


[?25l:[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hb.name = 'bar'


[?25l:[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hcb.name = old_name


[?25l:[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel old_name


[?25l:[?12l[?25h# Test CheckBuffer


[?25l:[?12l[?25hfor _b in vim.buffers:


[?25l:[?12l[?25h    if _b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(_b.number))


[?25l:[?12l[?25hdel _b


[?25l:[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))


)

[?25l:[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")


'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr)


[?25l:[?12l[?25h    except vim.error:


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        # Usually a SEGV here


[?25l:[?12l[?25h        # Should not happen in any case


[?25l:[?12l[?25h        cb.append('No exception for ' + expr)


[?25l:[?12l[?25hvim.command('cd .')


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.buffers object


[?25l:[?12l[?25h:set hidden


[?25l:[?12l[?25h:edit a


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit b


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit c


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Check GCing iterator that was not fully exhausted


[?25l:[?12l[?25hi = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# and also check creating more than one iterator at a time


[?25l:[?12l[?25hi2 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i2:' + str(next(i2)))


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# The following should trigger GC and not cause any problems


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hdel i2


[?25l:[?12l[?25hi3 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i3:' + str(next(i3)))


[?25l:[?12l[?25hdel i3


[?25l:[?12l[?25h


[?25l:[?12l[?25hprevnum = 0


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    # Check buffer order


[?25l:[?12l[?25h    if prevnum >= b.number:


[?25l:[?12l[?25h        cb.append('!!! Buffer numbers not in strictly ascending 


order')


[?25l:[?12l[?25h    # Check indexing: vim.buffers[number].number == number


[?25l:[?12l[?25h    cb.append(str(b.number) + ':' + repr(vim.buffers[b.number]) 


+ '=' + repr(b))


[?25l:[?12l[?25h    prevnum = b.number


[?25l:[?12l[?25hdel prevnum


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append(str(len(vim.buffers)))


[?25l:[?12l[?25h


[?25l:[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Test wiping out buffer with existing iterator


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept vim.error:


[?25l:[?12l[?25h    pass


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h    cb.append('!!!! No vim.error')


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept StopIteration:


[?25l:[?12l[?25h    cb.append('StopIteration')


[?25l:[?12l[?25hdel i4


[?25l:[?12l[?25hdel bnums


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object


s

[?25l:[?12l[?25h:tabnew 0


[?25l:[?12l[?25h:tabnew 1


[?25l:[?12l[?25h:vnew a.1


[?25l:[?12l[?25h:tabnew 2


[?25l:[?12l[?25h:vnew a.2


[?25l:[?12l[?25h:vnew b.2


[?25l:[?12l[?25h:vnew c.2


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))


[?25l:[?12l[?25hcb.append('Current tab pages:')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef W(w):


[?25l:[?12l[?25h    if '(unknown)' in repr(w):


[?25l:[?12l[?25h        return '<window object (unknown)>'


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef Cursor(w, start=len(cb)):


[?25l:[?12l[?25h    if w.buffer is cb:


[?25l:[?12l[?25h        return repr((start - w.cursor[0], w.cursor[1]))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w.cursor)


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor t in vim.tabpages:


[?25l:[?12l[?25h    cb.append('  ' + repr(t) + '(' + str(t.number) + ')' + ': ' 


+ str(len(t.windows)) + ' windows, current is ' + W(t.window))


[?25l:[?12l[?25h    cb.append('  Windows:')


[?25l:[?12l[?25h    for w in t.windows:


[?25l:[?12l[?25h        cb.append('    ' + W(w) + '(' + str(w.number) + ')' + ':


displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))


[?25l:[?12l[?25h        # Other values depend on the size of the terminal, so th


ey are checked partly:


[?25l:[?12l[?25h        for attr in ('height', 'row', 'width', 'col'):


[?25l:[?12l[?25h            try:


[?25l:[?12l[?25h                aval = getattr(w, attr)


[?25l:[?12l[?25h                if type(aval) is not int:


[?25l:[?12l[?25h                    raise TypeError


[?25l:[?12l[?25h                if aval < 0:


[?25l:[?12l[?25h                    raise ValueError


[?25l:[?12l[?25h            except Exception as e:


[?25l:[?12l[?25h                cb.append('!!!!!! Error while getting attribute 


' + attr + ': ' + e.__class__.__name__)


[?25l:[?12l[?25h        del aval


[?25l:[?12l[?25h        del attr


[?25l:[?12l[?25h        w.cursor = (len(w.buffer), 0)


[?25l:[?12l[?25hdel W


[?25l:[?12l[?25hdel Cursor


[?25l:[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi


m.windows)))


[?25l:[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):


[?25l:[?12l[?25h    cb.append('!!!!!! Windows differ')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.current


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef H(o):


[?25l:[?12l[?25h    return repr(o)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +


H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +


H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c


urrent.tabpage.window.buffer))


[?25l:[?12l[?25hdel H


[?25l:[?12l[?25h# Assigning: fails


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    vim.current.window = vim.tabpages[0].window


[?25l:[?12l[?25hexcept ValueError:


[?25l:[?12l[?25h    cb.append('ValueError at assigning foreign tab window')


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        setattr(vim.current, attr, None)


[?25l:[?12l[?25h    except TypeError:


[?25l:[?12l[?25h        cb.append('Type error at assigning None to vim.current.'


+ attr)


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Assigning: success


[?25l:[?12l[?25hvim.current.tabpage = vim.tabpages[-2]


[?25l:[?12l[?25hvim.current.buffer = cb


[?25l:[?12l[?25hvim.current.window = vim.windows[0]


[?25l:[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))


[?25l:[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))


[?25l:[?12l[?25hws = list(vim.windows)


[?25l:[?12l[?25hts = list(vim.tabpages)


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    if b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(b.number))


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))


[?25l:[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))


[?25l:[?12l[?25hdel w


[?25l:[?12l[?25hdel t


[?25l:[?12l[?25hdel ts


[?25l:[?12l[?25hdel ws


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:tabonly!


[?25l:[?12l[?25h:only!


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test types


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor expr, attr in (


[?25l:[?12l[?25h    ('vim.vars',                         'Dictionary'),


[?25l:[?12l[?25h    ('vim.options',                      'Options'),


[?25l:[?12l[?25h    ('vim.bindeval("{}")',               'Dictionary'),


[?25l:[?12l[?25h    ('vim.bindeval("[]")',               'List'),


[?25l:[?12l[?25h    ('vim.bindeval("function(\'tr\')")', 'Function'),


[?25l:[?12l[?25h    ('vim.current.buffer',               'Buffer'),


[?25l:[?12l[?25h    ('vim.current.range',                'Range'),


[?25l:[?12l[?25h    ('vim.current.window',               'Window'),


[?25l:[?12l[?25h    ('vim.current.tabpage',              'TabPage'),


[?25l:[?12l[?25h):


[?25l:[?12l[?25h    cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is


getattr(vim, attr)))


[?25l:[?12l[?25hdel expr


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test __dir__() method


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor name, o in (


[?25l:[?12l[?25h        ('current',    vim.current),


[?25l:[?12l[?25h        ('buffer',     vim.current.buffer),


[?25l:[?12l[?25h        ('window',     vim.current.window),


[?25l:[?12l[?25h        ('tabpage',    vim.current.tabpage),


[?25l:[?12l[?25h        ('range',      vim.current.range),


[?25l:[?12l[?25h        ('dictionary', vim.bindeval('{}')),


[?25l:[?12l[?25h        ('list',       vim.bindeval('[]')),


[?25l:[?12l[?25h        ('function',   vim.bindeval('function("tr")')),


[?25l:[?12l[?25h        ('output',     sys.stdout),


[?25l:[?12l[?25h    ):


[?25l:[?12l[?25h    cb.append(name + ':' + ','.join(dir(o)))


[?25l:[?12l[?25hdel name


[?25l:[?12l[?25hdel o


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.*.__new__


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List()'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={})'))


[?25l:[?12l[?25h:$put ='auto_rebind'


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')


)

[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au


to_rebind=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={}, auto_rebind=False)'))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.Function


[?25l:[?12l[?25h:function Args(...)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:function SelfArgs(...) dict


[?25l:[?12l[?25h:   return [a:000, self]


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:" The following four lines should not crash


[?25l:[?12l[?25h:let Pt = function('tr', [[]], {'l': []})


[?25l:[?12l[?25h:py3 Pt = vim.bindeval('Pt')


[?25l:[?12l[?25h:unlet Pt


[?25l:[?12l[?25h:py3 del Pt


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):


[?25l:[?12l[?25h    line = out_prefix + ': '


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        ret = func(*args, **kwargs)


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        line += '!exception: ' + emsg(sys.exc_info())


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        line += '!result: ' + str(vim.Function('string')(ret


), 'utf-8')


[?25l:[?12l[?25h    cb.append(line)


[?25l:[?12l[?25ha = vim.Function('Args')


[?25l:[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])


[?25l:[?12l[?25hpa2 = vim.Function('Args', args=[])


[?25l:[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe


lfPA3': 'abcSelfPA3Val'})


[?25l:[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va


l'})


[?25l:[?12l[?25hcb.append('a: ' + repr(a))


[?25l:[?12l[?25hcb.append('pa1: ' + repr(pa1))


[?25l:[?12l[?25hcb.append('pa2: ' + repr(pa2))


[?25l:[?12l[?25hcb.append('pa3: ' + repr(pa3))


[?25l:[?12l[?25hcb.append('pa4: ' + repr(pa4))


[?25l:[?12l[?25hsa = vim.Function('SelfArgs')


[?25l:[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])


[?25l:[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])


[?25l:[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={


'abcSelfPSA3': 'abcSelfPSA3Val'})


[?25l:[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel


fPSA4Val'})


[?25l:[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel


fPSA5Val'}, auto_rebind=0)


[?25l:[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={


'abcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())


[?25l:[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r


ebind=[])


[?25l:[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)


[?25l:[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel


fPSA9Val'}, auto_rebind=True)


[?25l:[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={


'abcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)


[?25l:[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r


ebind={'abcARPSAB': 'abcARPSABVal'})


[?25l:[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])


[?25l:[?12l[?25hcb.append('sa: ' + repr(sa))


[?25l:[?12l[?25hcb.append('psa1: ' + repr(psa1))


[?25l:[?12l[?25hcb.append('psa2: ' + repr(psa2))


[?25l:[?12l[?25hcb.append('psa3: ' + repr(psa3))


[?25l:[?12l[?25hcb.append('psa4: ' + repr(psa4))


[?25l:[?12l[?25hcb.append('psa5: ' + repr(psa5))


[?25l:[?12l[?25hcb.append('psa6: ' + repr(psa6))


[?25l:[?12l[?25hcb.append('psa7: ' + repr(psa7))


[?25l:[?12l[?25hcb.append('psa8: ' + repr(psa8))


[?25l:[?12l[?25hcb.append('psa9: ' + repr(psa9))


[?25l:[?12l[?25hcb.append('psaA: ' + repr(psaA))


[?25l:[?12l[?25hcb.append('psaB: ' + repr(psaB))


[?25l:[?12l[?25hcb.append('psaC: ' + repr(psaC))


[?25l:[?12l[?25h


[?25l:[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr


gsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})


[?25l:[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]


[?25l:[?12l[?25hpsar.self['rec'] = psar


[?25l:[?12l[?25hpsar.self['self'] = psar.self


[?25l:[?12l[?25hpsar.self['args'] = psar.args


[?25l:[?12l[?25h


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    cb.append('psar: ' + repr(psar))


[?25l:[?12l[?25hexcept Exception:


[?25l:[?12l[?25h    cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i


nfo()))


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put ='s(a): '.string(py3eval('a'))


[?25l:[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))


[?25l:[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))


[?25l:[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))


[?25l:[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))


[?25l:[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))


[?25l:[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))


[?25l:[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))


[?25l:[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))


[?25l:[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))


[?25l:[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))


[?25l:[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))


[?25l:[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))


[?25l:[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))


[?25l:[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))


[?25l:[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))


[?25l:[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))


[?25l:[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps


a6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']


[?25l:[?12l[?25h:   let d = {'f': py3eval(v)}


[?25l:[?12l[?25h:   $put ='d.'.v.'(): '.string(d.f())


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a()', a, )


[?25l:[?12l[?25h:py3 ecall('pa1()', pa1, )


[?25l:[?12l[?25h:py3 ecall('pa2()', pa2, )


[?25l:[?12l[?25h:py3 ecall('pa3()', pa3, )


[?25l:[?12l[?25h:py3 ecall('pa4()', pa4, )


[?25l:[?12l[?25h:py3 ecall('sa()', sa, )


[?25l:[?12l[?25h:py3 ecall('psa1()', psa1, )


[?25l:[?12l[?25h:py3 ecall('psa2()', psa2, )


[?25l:[?12l[?25h:py3 ecall('psa3()', psa3, )


[?25l:[?12l[?25h:py3 ecall('psa4()', psa4, )


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)


[?25l:[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':


1})


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef s(v):


[?25l:[?12l[?25h    if v is None:


[?25l:[?12l[?25h        return repr(v)


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return str(vim.Function('string')(v), 'utf-8')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.args: ' + s(a.args))


[?25l:[?12l[?25hcb.append('pa1.args: ' + s(pa1.args))


[?25l:[?12l[?25hcb.append('pa2.args: ' + s(pa2.args))


[?25l:[?12l[?25hcb.append('pa3.args: ' + s(pa3.args))


[?25l:[?12l[?25hcb.append('pa4.args: ' + s(pa4.args))


[?25l:[?12l[?25hcb.append('sa.args: ' + s(sa.args))


[?25l:[?12l[?25hcb.append('psa1.args: ' + s(psa1.args))


[?25l:[?12l[?25hcb.append('psa2.args: ' + s(psa2.args))


[?25l:[?12l[?25hcb.append('psa3.args: ' + s(psa3.args))


[?25l:[?12l[?25hcb.append('psa4.args: ' + s(psa4.args))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.self: ' + s(a.self))


[?25l:[?12l[?25hcb.append('pa1.self: ' + s(pa1.self))


[?25l:[?12l[?25hcb.append('pa2.self: ' + s(pa2.self))


[?25l:[?12l[?25hcb.append('pa3.self: ' + s(pa3.self))


[?25l:[?12l[?25hcb.append('pa4.self: ' + s(pa4.self))


[?25l:[?12l[?25hcb.append('sa.self: ' + s(sa.self))


[?25l:[?12l[?25hcb.append('psa1.self: ' + s(psa1.self))


[?25l:[?12l[?25hcb.append('psa2.self: ' + s(psa2.self))


[?25l:[?12l[?25hcb.append('psa3.self: ' + s(psa3.self))


[?25l:[?12l[?25hcb.append('psa4.self: ' + s(psa4.self))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.name: ' + s(a.name))


[?25l:[?12l[?25hcb.append('pa1.name: ' + s(pa1.name))


[?25l:[?12l[?25hcb.append('pa2.name: ' + s(pa2.name))


[?25l:[?12l[?25hcb.append('pa3.name: ' + s(pa3.name))


[?25l:[?12l[?25hcb.append('pa4.name: ' + s(pa4.name))


[?25l:[?12l[?25hcb.append('sa.name: ' + s(sa.name))


[?25l:[?12l[?25hcb.append('psa1.name: ' + s(psa1.name))


[?25l:[?12l[?25hcb.append('psa2.name: ' + s(psa2.name))


[?25l:[?12l[?25hcb.append('psa3.name: ' + s(psa3.name))


[?25l:[?12l[?25hcb.append('psa4.name: ' + s(psa4.name))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.auto_rebind: ' + s(a.auto_rebind))


[?25l:[?12l[?25hcb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind))


[?25l:[?12l[?25hcb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind))


[?25l:[?12l[?25hcb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind))


[?25l:[?12l[?25hcb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind))


[?25l:[?12l[?25hcb.append('sa.auto_rebind: ' + s(sa.auto_rebind))


[?25l:[?12l[?25hcb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind))


[?25l:[?12l[?25hcb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind))


[?25l:[?12l[?25hcb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind))


[?25l:[?12l[?25hcb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind))


[?25l:[?12l[?25hcb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind))


[?25l:[?12l[?25hcb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind))


[?25l:[?12l[?25hcb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind))


[?25l:[?12l[?25hcb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind))


[?25l:[?12l[?25hcb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind))


[?25l:[?12l[?25hcb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind))


[?25l:[?12l[?25hcb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind))


[?25l:[?12l[?25hcb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel s


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel a


[?25l:[?12l[?25hdel pa1


[?25l:[?12l[?25hdel pa2


[?25l:[?12l[?25hdel pa3


[?25l:[?12l[?25hdel pa4


[?25l:[?12l[?25hdel sa


[?25l:[?12l[?25hdel psa1


[?25l:[?12l[?25hdel psa2


[?25l:[?12l[?25hdel psa3


[?25l:[?12l[?25hdel psa4


[?25l:[?12l[?25hdel psa5


[?25l:[?12l[?25hdel psa6


[?25l:[?12l[?25hdel psa7


[?25l:[?12l[?25hdel psa8


[?25l:[?12l[?25hdel psa9


[?25l:[?12l[?25hdel psaA


[?25l:[?12l[?25hdel psaB


[?25l:[?12l[?25hdel psaC


[?25l:[?12l[?25hdel psar


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel ecall


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test stdout/stderr


[?25l:[?12l[?25h:redir => messages


[?25l:[?12l[?25h:py3 sys.stdout.write('abc8') ; sys.stdout.write('def')


[?25l:[?12l[?25h:py3 sys.stderr.write('abc9') ; sys.stderr.write('def')


[?25l:[?12l[?25h:py3 sys.stdout.writelines(iter('abcA'))


[?25l:[?12l[?25h:py3 sys.stderr.writelines(iter('abcB'))


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:$put =string(substitute(messages, '\d\+', '', 'g'))


[?25l:[?12l[?25h:" Test subclassing


[?25l:[?12l[?25h:fun Put(...)


[?25l:[?12l[?25h:   $put =string(a:000)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hclass DupDict(vim.Dictionary):


[?25l:[?12l[?25h    def __setitem__(self, key, value):


[?25l:[?12l[?25h        super(DupDict, self).__setitem__(key, value)


[?25l:[?12l[?25h        super(DupDict, self).__setitem__('dup_' + key, val


ue)


[?25l:[?12l[?25hdd = DupDict()


[?25l:[?12l[?25hdd['a'] = 'b'


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupList(vim.List):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        return [super(DupList, self).__getitem__(idx)] * 2


[?25l:[?12l[?25h


[?25l:[?12l[?25hdl = DupList()


[?25l:[?12l[?25hdl2 = DupList(iter('abcC'))


[?25l:[?12l[?25hdl.extend(dl2[0])


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupFun(vim.Function):


[?25l:[?12l[?25h    def __call__(self, arg):


[?25l:[?12l[?25h        return super(DupFun, self).__call__(arg, arg)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdf = DupFun('Put')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =string(sort(keys(py3eval('dd'))))


[?25l:[?12l[?25h:$put =string(py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dl2'))


[?25l:[?12l[?25h:$put =string(py3eval('df(2)'))


[?25l:[?12l[?25h:$put =string(py3eval('dl') is# py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dd') is# py3eval('dd'))


[?25l:[?12l[?25h:$put =string(py3eval('df'))


[?25l:[?12l[?25h:delfunction Put


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel DupDict


[?25l:[?12l[?25hdel DupList


[?25l:[?12l[?25hdel DupFun


[?25l:[?12l[?25hdel dd


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel dl2


[?25l:[?12l[?25hdel df


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test chdir


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hfnamemodify = vim.Function('fnamemodify')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hos.chdir('..')


[?25l:[?12l[?25hpath = fnamemodify('.', ':p:h:t')


[?25l:[?12l[?25hif path != b'src':


[?25l:[?12l[?25h  # Running tests from a shadow directory, so move up anot


her level


[?25l:[?12l[?25h  # This will result in @% looking like shadow/testdir/tes


t87.in, hence the


[?25l:[?12l[?25h  # slicing to remove the leading path and path separator


[?25l:[?12l[?25h  os.chdir('..')


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.s


ep, '/'))


[?25l:[?12l[?25h  os.chdir(path)


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%').replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel path


[?25l:[?12l[?25hos.chdir('testdir')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hdel fnamemodify


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test errors


[?25l:[?12l[?25h:fun F() dict


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun D()


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hd = vim.Dictionary()


[?25l:[?12l[?25hned = vim.Dictionary(foo='bar', baz='abcD')


[?25l:[?12l[?25hdl = vim.Dictionary(a=1)


[?25l:[?12l[?25hdl.locked = True


[?25l:[?12l[?25hl = vim.List()


[?25l:[?12l[?25hll = vim.List('abcE')


[?25l:[?12l[?25hll.locked = True


[?25l:[?12l[?25hnel = vim.List('abcO')


[?25l:[?12l[?25hf = vim.Function('string')


[?25l:[?12l[?25hfd = vim.Function('F')


[?25l:[?12l[?25hfdel = vim.Function('D')


[?25l:[?12l[?25hvim.command('delfunction D')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef subexpr_test(expr, name, subexprs):


[?25l:[?12l[?25h    cb.append('>>> Testing %s using %s' % (name, expr)


)

[?25l:[?12l[?25h    for subexpr in subexprs:


[?25l:[?12l[?25h        ee(expr % subexpr)


[?25l:[?12l[?25h    cb.append('<<< Finished')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef stringtochars_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, 'StringToChars', (


[?25l:[?12l[?25h        '1',       # Fail type checks


[?25l:[?12l[?25h        'b"\\0"',  # Fail PyString_AsStringAndSize(obj


ect, , NULL) check


[?25l:[?12l[?25h        '"\\0"',   # Fail PyString_AsStringAndSize(byt


es, , NULL) check


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass Mapping(object):


[?25l:[?12l[?25h    def __init__(self, d):


[?25l:[?12l[?25h        self.d = d


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __getitem__(self, key):


[?25l:[?12l[?25h        return self.d[key]


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return self.d.keys()


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def items(self):


[?25l:[?12l[?25h        return self.d.items()


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompyobject_test(expr, recurse=True):


[?25l:[?12l[?25h    # pydict_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % '{%s : 1}')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % '{"abcF" : %s}


', False)


[?25l:[?12l[?25h    # pymap_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % 'Mapping({%s : 1})')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % 'Mapping({"abc


G" : %s})', False)


[?25l:[?12l[?25h    # pyseq_to_tv


[?25l:[?12l[?25h    iter_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyObject', (


[?25l:[?12l[?25h        'None',                 # Not conversible


[?25l:[?12l[?25h        '{b"": 1}',             # Empty key not allowe


d

[?25l:[?12l[?25h        '{"": 1}',              # Same, but with unico


de object


[?25l:[?12l[?25h        'FailingMapping()',     #


[?25l:[?12l[?25h        'FailingMappingKey()',  #


[?25l:[?12l[?25h        'FailingNumber()',      #


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompymapping_test(expr):


[?25l:[?12l[?25h    convertfrompyobject_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyMapping', 


(

[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef iter_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, '*Iter*', (


[?25l:[?12l[?25h        'FailingIter()',


[?25l:[?12l[?25h        'FailingIterNext()',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef number_test(expr, natural=False, unsigned=False):


[?25l:[?12l[?25h    if natural:


[?25l:[?12l[?25h        unsigned = True


[?25l:[?12l[?25h    return subexpr_test(expr, 'NumberToLong', (


[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h        'None',


[?25l:[?12l[?25h    ) + (('-1',) if unsigned else ())


[?25l:[?12l[?25h    + (('0',) if natural else ()))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingTrue(object):


[?25l:[?12l[?25h    def __bool__(self):


[?25l:[?12l[?25h        raise NotImplementedError('bool')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIter(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        raise NotImplementedError('iter')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNext(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        raise NotImplementedError('next')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNextN(object):


[?25l:[?12l[?25h    def __init__(self, n):


[?25l:[?12l[?25h        self.n = n


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        if self.n:


[?25l:[?12l[?25h            self.n -= 1


[?25l:[?12l[?25h            return 1


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            raise NotImplementedError('next N')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMappingKey(object):


[?25l:[?12l[?25h    def __getitem__(self, item):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mappingkey'


)

[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return list("abcH")


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMapping(object):


[?25l:[?12l[?25h    def __getitem__(self):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mapping')


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        raise NotImplementedError('keys')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingList(list):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        if i == 2:


[?25l:[?12l[?25h            raise NotImplementedError('getitem:list')


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            return super(FailingList, self).__getitem_


_(idx)


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass NoArgsCall(object):


[?25l:[?12l[?25h    def __call__(self):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingCall(object):


[?25l:[?12l[?25h    def __call__(self, path):


[?25l:[?12l[?25h        raise NotImplementedError('call')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingNumber(object):


[?25l:[?12l[?25h    def __int__(self):


[?25l:[?12l[?25h        raise NotImplementedError('int')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append("> Output")


[?25l:[?12l[?25hcb.append(">> OutputSetattr")


[?25l:[?12l[?25hee('del sys.stdout.softspace')


[?25l:[?12l[?25hnumber_test('sys.stdout.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hnumber_test('sys.stderr.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hee('assert sys.stdout.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stdout.seekable()==False')


[?25l:[?12l[?25hee('sys.stdout.close()')


[?25l:[?12l[?25hee('sys.stdout.flush()')


[?25l:[?12l[?25hee('assert sys.stderr.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stderr.seekable()==False')


[?25l:[?12l[?25hee('sys.stderr.close()')


[?25l:[?12l[?25hee('sys.stderr.flush()')


[?25l:[?12l[?25hee('sys.stdout.attr = None')


[?25l:[?12l[?25hcb.append(">> OutputWrite")


[?25l:[?12l[?25hee('assert sys.stdout.writable()==True')


[?25l:[?12l[?25hee('assert sys.stdout.readable()==False')


[?25l:[?12l[?25hee('assert sys.stderr.writable()==True')


[?25l:[?12l[?25hee('assert sys.stderr.readable()==False')


[?25l:[?12l[?25hee('assert sys.stdout.closed()==False')


[?25l:[?12l[?25hee('assert sys.stderr.closed()==False')


[?25l:[?12l[?25hee('assert sys.stdout.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stderr.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stdout.encoding==sys.stderr.encoding')


[?25l:[?12l[?25hee('sys.stdout.write(None)')


[?25l:[?12l[?25hcb.append(">> OutputWriteLines")


[?25l:[?12l[?25hee('sys.stdout.writelines(None)')


[?25l:[?12l[?25hee('sys.stdout.writelines([1])')


[?25l:[?12l[?25hiter_test('sys.stdout.writelines(%s)')


[?25l:[?12l[?25hcb.append("> VimCommand")


[?25l:[?12l[?25hstringtochars_test('vim.command(%s)')


[?25l:[?12l[?25hee('vim.command("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimToPython")


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEval")


[?25l:[?12l[?25hstringtochars_test('vim.eval(%s)')


[?25l:[?12l[?25hee('vim.eval("", FailingTrue())')


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEvalPy")


[?25l:[?12l[?25hstringtochars_test('vim.bindeval(%s)')


[?25l:[?12l[?25hee('vim.eval("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimStrwidth")


[?25l:[?12l[?25hstringtochars_test('vim.strwidth(%s)')


[?25l:[?12l[?25hcb.append("> VimForeachRTP")


[?25l:[?12l[?25hee('vim.foreach_rtp(None)')


[?25l:[?12l[?25hee('vim.foreach_rtp(NoArgsCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(FailingCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(int, 2)')


[?25l:[?12l[?25hcb.append('> import')


[?25l:[?12l[?25hold_rtp = vim.options['rtp']


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace('\\', '\\\\')


.replace(',', '\\,')


[?25l:[?12l[?25hee('import xxx_no_such_module_xxx')


[?25l:[?12l[?25hee('import failing_import')


[?25l:[?12l[?25hee('import failing')


[?25l:[?12l[?25hvim.options['rtp'] = old_rtp


[?25l:[?12l[?25hdel old_rtp


[?25l:[?12l[?25hcb.append("> Options")


[?25l:[?12l[?25hcb.append(">> OptionsItem")


[?25l:[?12l[?25hee('vim.options["abcQ"]')


[?25l:[?12l[?25hee('vim.options[""]')


[?25l:[?12l[?25hstringtochars_test('vim.options[%s]')


[?25l:[?12l[?25hcb.append(">> OptionsContains")


[?25l:[?12l[?25hstringtochars_test('%s in vim.options')


[?25l:[?12l[?25hcb.append("> Dictionary")


[?25l:[?12l[?25hcb.append(">> DictionaryConstructor")


[?25l:[?12l[?25hee('vim.Dictionary("abcI")')


[?25l:[?12l[?25h##! Not checked: py_dict_alloc failure


[?25l:[?12l[?25hcb.append(">> DictionarySetattr")


[?25l:[?12l[?25hee('del d.locked')


[?25l:[?12l[?25hee('d.locked = FailingTrue()')


[?25l:[?12l[?25hee('vim.vvars.locked = False')


[?25l:[?12l[?25hee('d.scope = True')


[?25l:[?12l[?25hee('d.xxx = True')


[?25l:[?12l[?25hcb.append(">> _DictionaryItem")


[?25l:[?12l[?25hee('d.get("a", 2, 3)')


[?25l:[?12l[?25hstringtochars_test('d.get(%s)')


[?25l:[?12l[?25hee('d.pop("a")')


[?25l:[?12l[?25hee('dl.pop("a")')


[?25l:[?12l[?25hcb.append(">> DictionaryContains")


[?25l:[?12l[?25hee('"" in d')


[?25l:[?12l[?25hee('0 in d')


[?25l:[?12l[?25hcb.append(">> DictionaryIterNext")


[?25l:[?12l[?25hee('for i in ned: ned["a"] = 1')


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hcb.append(">> DictionaryAssItem")


[?25l:[?12l[?25hee('dl["b"] = 1')


[?25l:[?12l[?25hstringtochars_test('d[%s] = 1')


[?25l:[?12l[?25hconvertfrompyobject_test('d["a"] = %s')


[?25l:[?12l[?25hcb.append(">> DictionaryUpdate")


[?25l:[?12l[?25hcb.append(">>> kwargs")


[?25l:[?12l[?25hcb.append(">>> iter")


[?25l:[?12l[?25hee('d.update(FailingMapping())')


[?25l:[?12l[?25hee('d.update([FailingIterNext()])')


[?25l:[?12l[?25hee('d.update([FailingIterNextN(1)])')


[?25l:[?12l[?25hiter_test('d.update(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update(%s)')


[?25l:[?12l[?25hstringtochars_test('d.update(((%s, 0),))')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update((("a", %s),))')


[?25l:[?12l[?25hcb.append(">> DictionaryPopItem")


[?25l:[?12l[?25hee('d.popitem(1, 2)')


[?25l:[?12l[?25hcb.append(">> DictionaryHasKey")


[?25l:[?12l[?25hee('d.has_key()')


[?25l:[?12l[?25hcb.append("> List")


[?25l:[?12l[?25hcb.append(">> ListConstructor")


[?25l:[?12l[?25hee('vim.List(1, 2)')


[?25l:[?12l[?25hee('vim.List(a=1)')


[?25l:[?12l[?25hiter_test('vim.List(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('vim.List([%s])')


[?25l:[?12l[?25hcb.append(">> ListItem")


[?25l:[?12l[?25hee('l[1000]')


[?25l:[?12l[?25hcb.append(">> ListAssItem")


[?25l:[?12l[?25hee('ll[1] = 2')


[?25l:[?12l[?25hee('l[1000] = 3')


[?25l:[?12l[?25hcb.append(">> ListAssSlice")


[?25l:[?12l[?25hee('ll[1:100] = "abcJ"')


[?25l:[?12l[?25hiter_test('l[:] = %s')


[?25l:[?12l[?25hee('nel[1:10:2]  = "abcK"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:10:2]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:1:-1]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[:] = FailingIterNextN(2)')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hconvertfrompyobject_test('l[:] = [%s]')


[?25l:[?12l[?25hcb.append(">> ListConcatInPlace")


[?25l:[?12l[?25hiter_test('l.extend(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('l.extend([%s])')


[?25l:[?12l[?25hcb.append(">> ListSetattr")


[?25l:[?12l[?25hee('del l.locked')


[?25l:[?12l[?25hee('l.locked = FailingTrue()')


[?25l:[?12l[?25hee('l.xxx = True')


[?25l:[?12l[?25hcb.append("> Function")


[?25l:[?12l[?25hcb.append(">> FunctionConstructor")


[?25l:[?12l[?25hcb.append(">>> FunctionConstructor")


[?25l:[?12l[?25hee('vim.Function("123")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx#non#existent#function#xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx2", arg


s=[])')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx3", sel


f={})')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx4", arg


s=[], self={})')


[?25l:[?12l[?25hcb.append(">>> FunctionNew")


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf")')


[?25l:[?12l[?25hee('vim.Function("tr", args=427423)')


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf2", args="abcF


uncArgs2")')


[?25l:[?12l[?25hee('vim.Function(self="abcFuncSelf2", args="abcFuncArg


s2")')


[?25l:[?12l[?25hee('vim.Function("tr", "", self="abcFuncSelf2", args="


abcFuncArgs2")')


[?25l:[?12l[?25hee('vim.Function("tr", "")')


[?25l:[?12l[?25hcb.append(">> FunctionCall")


[?25l:[?12l[?25hconvertfrompyobject_test('f(%s)')


[?25l:[?12l[?25hconvertfrompymapping_test('fd(self=%s)')


[?25l:[?12l[?25hcb.append("> TabPage")


[?25l:[?12l[?25hcb.append(">> TabPageAttr")


[?25l:[?12l[?25hee('vim.current.tabpage.xxx')


[?25l:[?12l[?25hcb.append("> TabList")


[?25l:[?12l[?25hcb.append(">> TabListItem")


[?25l:[?12l[?25hee('vim.tabpages[1000]')


[?25l:[?12l[?25hcb.append("> Window")


[?25l:[?12l[?25hcb.append(">> WindowAttr")


[?25l:[?12l[?25hee('vim.current.window.xxx')


[?25l:[?12l[?25hcb.append(">> WindowSetattr")


[?25l:[?12l[?25hee('vim.current.window.buffer = 0')


[?25l:[?12l[?25hee('vim.current.window.cursor = (100000000, 100000000)


')

[?25l:[?12l[?25hee('vim.current.window.cursor = True')


[?25l:[?12l[?25hnumber_test('vim.current.window.height = %s', unsigned


=True)


[?25l:[?12l[?25hnumber_test('vim.current.window.width = %s', unsigned=


True)


[?25l:[?12l[?25hee('vim.current.window.xxxxxx = True')


[?25l:[?12l[?25hcb.append("> WinList")


[?25l:[?12l[?25hcb.append(">> WinListItem")


[?25l:[?12l[?25hee('vim.windows[1000]')


[?25l:[?12l[?25hcb.append("> Buffer")


[?25l:[?12l[?25hcb.append(">> StringToLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = "\\na"')


[?25l:[?12l[?25hee('vim.current.buffer[0] = b"\\na"')


[?25l:[?12l[?25hcb.append(">> SetBufferLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = True')


[?25l:[?12l[?25hcb.append(">> SetBufferLineList (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[:] = True')


[?25l:[?12l[?25hee('vim.current.buffer[:] = ["\\na", "bc"]')


[?25l:[?12l[?25hcb.append(">> InsertBufferLines (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer.append(None)')


[?25l:[?12l[?25hee('vim.current.buffer.append(["\\na", "bc"])')


[?25l:[?12l[?25hee('vim.current.buffer.append("\\nbc")')


[?25l:[?12l[?25hcb.append(">> RBItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000]')


[?25l:[?12l[?25hcb.append(">> RBAsItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000] = ""')


[?25l:[?12l[?25hcb.append(">> BufferAttr")


[?25l:[?12l[?25hee('vim.current.buffer.xxx')


[?25l:[?12l[?25hcb.append(">> BufferSetattr")


[?25l:[?12l[?25hee('vim.current.buffer.name = True')


[?25l:[?12l[?25hee('vim.current.buffer.xxx = True')


[?25l:[?12l[?25hcb.append(">> BufferMark")


[?25l:[?12l[?25hee('vim.current.buffer.mark(0)')


[?25l:[?12l[?25hee('vim.current.buffer.mark("abcM")')


[?25l:[?12l[?25hee('vim.current.buffer.mark("!")')


[?25l:[?12l[?25hcb.append(">> BufferRange")


[?25l:[?12l[?25hee('vim.current.buffer.range(1, 2, 3)')


[?25l:[?12l[?25hcb.append("> BufMap")


[?25l:[?12l[?25hcb.append(">> BufMapItem")


[?25l:[?12l[?25hee('vim.buffers[100000000]')


[?25l:[?12l[?25hnumber_test('vim.buffers[%s]', natural=True)


[?25l:[?12l[?25hcb.append("> Current")


[?25l:[?12l[?25hcb.append(">> CurrentGetattr")


[?25l:[?12l[?25hee('vim.current.xxx')


[?25l:[?12l[?25hcb.append(">> CurrentSetattr")


[?25l:[?12l[?25hee('vim.current.line = True')


[?25l:[?12l[?25hee('vim.current.buffer = True')


[?25l:[?12l[?25hee('vim.current.window = True')


[?25l:[?12l[?25hee('vim.current.tabpage = True')


[?25l:[?12l[?25hee('vim.current.xxx = True')


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ned


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdel ll


[?25l:[?12l[?25hdel nel


[?25l:[?12l[?25hdel f


[?25l:[?12l[?25hdel fd


[?25l:[?12l[?25hdel fdel


[?25l:[?12l[?25hdel subexpr_test


[?25l:[?12l[?25hdel stringtochars_test


[?25l:[?12l[?25hdel Mapping


[?25l:[?12l[?25hdel convertfrompyobject_test


[?25l:[?12l[?25hdel convertfrompymapping_test


[?25l:[?12l[?25hdel iter_test


[?25l:[?12l[?25hdel number_test


[?25l:[?12l[?25hdel FailingTrue


[?25l:[?12l[?25hdel FailingIter


[?25l:[?12l[?25hdel FailingIterNext


[?25l:[?12l[?25hdel FailingIterNextN


[?25l:[?12l[?25hdel FailingMapping


[?25l:[?12l[?25hdel FailingMappingKey


[?25l:[?12l[?25hdel FailingList


[?25l:[?12l[?25hdel NoArgsCall


[?25l:[?12l[?25hdel FailingCall


[?25l:[?12l[?25hdel FailingNumber


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction F


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test import


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hsys.path.insert(0, os.path.join(os.getcwd(), 'python_b


efore'))


[?25l:[?12l[?25hsys.path.append(os.path.join(os.getcwd(), 'python_afte


r'))


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace(',', '\\,').r


eplace('\\', '\\\\')


[?25l:[?12l[?25hl = []


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    l.append(os.path.relpath(path))


[?25l:[?12l[?25hvim.foreach_rtp(callback)


[?25l:[?12l[?25hcb.append(repr(l))


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    return os.path.relpath(path)


[?25l:[?12l[?25hcb.append(repr(vim.foreach_rtp(callback)))


[?25l:[?12l[?25hdel callback


[?25l:[?12l[?25hfrom module import dir as d


[?25l:[?12l[?25hfrom modulex import ddir


[?25l:[?12l[?25hcb.append(d + ',' + ddir)


[?25l:[?12l[?25himport before


[?25l:[?12l[?25hcb.append(before.dir)


[?25l:[?12l[?25himport after


[?25l:[?12l[?25hcb.append(after.dir)


[?25l:[?12l[?25himport topmodule as tm


[?25l:[?12l[?25himport topmodule.submodule as tms


[?25l:[?12l[?25himport topmodule.submodule.subsubmodule.subsubsubmodul


e as tmsss


[?25l:[?12l[?25hcb.append(tm.__file__.replace(os.path.sep, '/')[-len('


modulex/topmodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tms.__file__.replace(os.path.sep, '/')[-len(


'modulex/topmodule/submodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tmsss.__file__.replace(os.path.sep, '/')[-le


n('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):])


[?25l:[?12l[?25hdel before


[?25l:[?12l[?25hdel after


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ddir


[?25l:[?12l[?25hdel tm


[?25l:[?12l[?25hdel tms


[?25l:[?12l[?25hdel tmsss


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test exceptions


[?25l:[?12l[?25h:fun Exe(e)


[?25l:[?12l[?25h:   execute a:e


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hExe = vim.bindeval('function("Exe")')


[?25l:[?12l[?25hee('vim.command("throw \'abcN\'")')


[?25l:[?12l[?25hee('Exe("throw \'def\'")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')"


)')


[?25l:[?12l[?25hee('vim.eval("xxx_unknown_function_xxx()")')


[?25l:[?12l[?25hee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx


\')")')


[?25l:[?12l[?25hdel Exe


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction Exe


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Regression: interrupting vim.command propagates t


o next vim.command


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef test_keyboard_interrupt():


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('while 1 | endwhile')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('Caught KeyboardInterrupt')


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('!!!!!!!! No exception')


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('$ put =\'Running :put\'')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught KeyboardInterrupt


')

[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('No exception')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:debuggreedy


[?25l:[?12l[?25h:call inputsave()


[?25l:[?12l[?25h:call feedkeys("s\ns\ns\ns\nq\n")


[?25l:[?12l[?25h:redir => output


[?25l:[?12l[?25h:debug silent! py3 test_keyboard_interrupt()


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:0 debuggreedy


[?25l:[?12l[?25h:call inputrestore()


[?25l:[?12l[?25h:silent $put =output


[?25l:[?12l[?25h:unlet output


[?25l:[?12l[?25h:py3 del test_keyboard_interrupt


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Cleanup


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel cb


[?25l:[?12l[?25hdel ee


[?25l:[?12l[?25hdel emsg


[?25l:[?12l[?25hdel sys


[?25l:[?12l[?25hdel os


[?25l:[?12l[?25hdel vim


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfun RunTest()
[?25l

:  [?12l[?25h:let checkrefs = !empty($PYTHONDUMPREFS)


[?25l:  [?12l[?25h:let start = getline(1, '$')


[?25l:  [?12l[?25h:for i in range(checkrefs ? 10 : 1)


[?25l:    [?12l[?25h:   if i != 0


[?25l:      [?12l[?25h:       %d _


[?25l:      [?12l[?25h:       call setline(1, start)


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:   call Test()


[?25l:    [?12l[?25h:   if i == 0


[?25l:      [?12l[?25h:       let result = getline(1, '$')


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:if checkrefs


[?25l:    [?12l[?25h:   %d _


[?25l:    [?12l[?25h:   call setline(1, result)


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall RunTest()
[?25l8 more lin

3 more lines[?12l[?25h


[?25l"a" [New File]


"b" [New File]


"c" [New File]


"0" [New File]


"1" [New File]


"a.1" [New File]


"2" [New File]


"a.2" [New File]


"b.2" [New File]


"c.2" [New File]


Already only one window


abc8def


Error detected while processing function RunTest[8]..Test:


line 1106:


abc9def


abcA


line 1108:


abcB


8 more lines


Entering Debug mode.  Type "cont" to continue.


function RunTest[8]..Test


line 1650: py3 test_keyboard_interrupt()


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>q
['.']

'.'

3,xx

before

after

pythonx/topmodule/__init__.py

pythonx/topmodule/submodule/__init__.py

pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py

vim.command("throw 'abcN'"):(<class 'vim.error'>, error('abcN',))

Exe("throw 'def'"):(<class 'vim.error'>, error('def',))

vim.eval("Exe('throw ''ghi''')"):(<class 'vim.error'>, error('ghi',))

vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkll',))

vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vimm:E492: Not an editor command: xxx_non_existent_command_xxx',))

vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unnknown function: xxx_unknown_function_xxx',))

vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error(('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))

Caught KeyboardInterrupt

Running :put

No exception



"test87.in" [Modified][Not edited] line 3151 of 3151 --100%-- col 1[?12l[?25h[?25l:[?12l[?25hdelfunction RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1445 lines, 77744 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test87 = test61; then \
#	  if diff test.out test87.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test87.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test12.failed test.ok test.out X* viminfo
cp test12.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test12.in" 52 lines, 1199 charactersTests for 'directory' option.

- ".", in same dir as file

- "./dir", in directory relative to file

- "dir", in directory relative to current dir



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set dir=.,~

:/start of testfile/,/end of testfile/w! Xtest1

:" do an ls of the current dir to find the swap file (should not be there)

:if has("unix")

:  !ls .X*.swp >test.out

:else

:  r !ls X*.swp >test.out

:endif

:!echo first line >>test.out

:e Xtest1

:if has("unix")

:" Do an ls of the current dir to find the swap file, remove the leading dot

:" to make the result the same for all systems.

:  r!ls .X*.swp

:  s/\.*X/X/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'directory' option.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 965 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:!mkdir Xtest2

:set dir=./Xtest2,.,~

:e Xtest1

:!ls X*.swp >>test.out

:!echo under under >>test.out

:!ls Xtest2 >>test.out

:!echo under Xtest1.swp >>test.out

:!mkdir Xtest.je

:/start of testfile/,/end of testfile/w! Xtest2/Xtest3

:set dir=Xtest.je,~

:e Xtest2/Xtest3

:swap

:!ls Xtest2 >>test.out

:!echo under Xtest3 >>test.out

:!ls Xtest.je >>test.out

:!echo under Xtest3.swp >>test.out

:qa!

ENDTEST



start of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset dir=.,~
[?25l[?12l[?25h[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:  !ls .X*.swp >test.out


[?25l:!ls .X*.swp >test.out[?1l>[?12l[?25h[?1049l

ls: cannot access '.X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25helse


[?25l:  [?12l[?25h:  r !ls X*.swp >test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25h!echo first line >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70Cstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:" Do an ls of the current dir to find the swap file, remove the leading dot


[?25l:  [?12l[?25h:" to make the result the same for all systems.


[?25l:  [?12l[?25h:  r!ls .X*.swp


[?25l:  [?12l[?25h:  s/\.*X/X/


[?25l:  [?12l[?25h:  .w >>test.out
[?25l"test.out" 1L, 11C appended


:  [?12l[?25h:  undo


[?25l1 line less; before #1  0 seconds ago


:  [?12l[?25h:else


[?25l:  [?12l[?25h:  !ls X*.swp >>test.out


[?25l:  [?12l[?25h:endif
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest2
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hset dir=./Xtest2,.,~
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25h!ls X*.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l

ls: cannot access 'X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under under >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest.je
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25lsearch hit BOTTOM, continuing at TOP"Xtest2/Xtest3" [New] 4L, 70C writtenstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest2/Xtest3" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25hset dir=Xtest.je,~
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[?12l[?25h[?25l:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[?12l[?25h[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest.je >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test12 = test61; then \
#	  if diff test.out test12.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test12.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test25.failed test.ok test.out X* viminfo
cp test25.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test25.in" 31 lines, 840 charactersTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 540 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ln -s . test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25htags line
[?25lhis only works for Unix, because of the symbolic link.STARTTEST

:so small.vim

:set hidden" Create a link from test25.dir to the current directory.

:!rm -f test25.dirln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line:r !pwdd$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.testG^] x:.w! test.out:!rm -f test25.dir tags.test

:qa!ENDTESTtags line:
[?12l[?25h[?25l:[?12l[?25hr !pwd
[?25l[?12l[?25h[?25lSTARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST



tags line:

/<<PKGBUILDDIR>>/src/vim-gtk3/testdir
[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25htest
[?25l

SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test25.dir/t@                                                                               

SECTION_OFF     /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test25.dir/ttest25.in/^#define  SECTION_OFF  3$/[?12l[?25h[?25l



:[?12l[?25h.w! tags.test
[?25l"tags.test" [New File] 1 line, 113 characters written[?12l[?25h[?25l:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[?12l[?25h[?25l:[?12l[?25h" symbolic link.  When wrong, this will give the ATTENTION message.  The next
[?25l[?12l[?25h[?25l:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[?12l[?25h[?25l:[?12l[?25hset tags=tags.test
[?25l[?12l[?25h[?25l/*tx.c*/

#define  SECTION_OFF  3

#define  NUM_SECTIONS 3



SECTION_OFF[?12l[?25h#[?25lefine  SECTION_OFF  3[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 23 characters written[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir tags.test
[?25l[?1l>[?12l[?25h[?1049l

[No write since last change]



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test25 = test61; then \
#	  if diff test.out test25.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test25.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test49.failed test.ok test.out X* viminfo
cp test49.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test49.in" 32 lines, 705 charactersThis is a test of the script language.



If after adding a new test, the test output doesn't appear properly in

test49.failed, try to add one or more "G"s at the line ending in "test.out"



STARTTEST

:so small.vim

:se nocp nomore viminfo+=nviminfo

:lang mess C

:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy

:redir => funclist

:silent func

:redir END

:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of the script language.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 23 lines, 475 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endfor

:for v in keys(g:)

:  silent! exe "unlet " . v

:endfor

:unlet v

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hso test49.vim
[?25lError detected while processing function F:


line    5:


E583: multiple :else:     else^I^I


Error detected while processing function G:


line    5:


E584: :elseif after :else:     elseif 1^I^I" aborts function


Error detected while processing function H:


line    7:


E583: multiple :else:     else^I^I


Error detected while processing function I:


line    7:


E584: :elseif after :else:     elseif 1^I^I" aborts function


*** Test  16: OK (8722)


Error detected while processing function F:


line   18:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   34:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   47:


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/test49.vim:


line  784:


E171: Missing :endif: endwhile 


*** Test  17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"/tmp/vtkUFLr/0" [New] 53L, 1582C written14L, 358C appended26L, 824C appended34L, 986C appended


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/1[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/1" 16L, 304C appended17L, 326C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/2[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/2"' -c 'breakad


dfile 8 /tmp/vtkUFLr/1' -S /tmp/vtkUFLr/1[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/2" 3L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/3[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/3" 6L, 127C appended7L, 149C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/4[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/4"' -c 'breakad


dfile 4 /tmp/vtkUFLr/3' -S /tmp/vtkUFLr/3[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/4" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/5[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/5" 21L, 486C appended22L, 508C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/6[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/6"' -c 'breakad


dfunc 7 F' -S /tmp/vtkUFLr/5[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/6" 3L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/7[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/7" 13L, 364C appended14L, 386C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/8[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/8"' -c 'breakad


dfunc 3 G' -S /tmp/vtkUFLr/7[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/8" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/9[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/9" 12L, 201C appended13L, 223C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/10[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/10"' -S /tmp/vtkUF


Lr/9[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/11[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/11" 12L, 205C appended13L, 227C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/12[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/12"' -S /tmp/vtkUF


Lr/11[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/13[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/13" 6L, 122C appended7L, 144C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/14[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/14"' -S /tmp/vtkUF


Lr/13[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/15[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/15" 8L, 176C appended9L, 198C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/16[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/16"' -S /tmp/vtkUF


Lr/15[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/17[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/17" 10L, 215C appended11L, 237C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/18[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/18"' -S /tmp/vtkUF


Lr/17[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/19[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/19" 7L, 149C appended8L, 171C8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/20[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/20"' -S /tmp/vtkUF


Lr/19[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/21[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/21" 9L, 135C appended10L, 157C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/22[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/22"' -S /tmp/vtkUF


Lr/21[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/23[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/23" 10L, 155C appended11L, 177C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/24[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/24"' -S /tmp/vtkUF


Lr/23[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/25[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/25" 12L, 204C appended13L, 226C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/26[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/26"' -S /tmp/vtkUF


Lr/25[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/27[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/27" 12L, 214C appended13L, 236C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/28[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/28"' -S /tmp/vtkUF


Lr/27[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/29[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/29" 12L, 211C appended13L, 233C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/30[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/30"' -S /tmp/vtkUF


Lr/29[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/31[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/31" 14L, 263C appended15L, 285C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/32[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/32"' -S /tmp/vtkUF


Lr/31[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/33[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/33" 14L, 277C appended15L, 299C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/34[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/34"' -S /tmp/vtkUF


Lr/33[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/35" 58L, 1022C appended59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/36[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/36"' -S /tmp/vtkUF


Lr/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/37[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/37" 23L, 418C appended24L, 440C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/38[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/38"' -S /tmp/vtkUF


Lr/37[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/39[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/39" 23L, 437C appended24L, 459C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/40[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/40"' -c 'breaka


dd func 2 Interrupt' -S /tmp/vtkUFLr/39[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/40" 1L, 3C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/41[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/41" 21L, 386C appended22L, 408C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/42[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/42"' -S /tmp/vtkUF


Lr/41[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/43[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/43" 25L, 432C appended26L, 454C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/44[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/44"' -S /tmp/vtkUF


Lr/43[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/45" 16L, 392C appended17L, 414C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/46[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/46"' -S /tmp/vtkUF


Lr/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  24: OK (41)


*** Test  25: OK (260177811)


*** Test  26: OK (1681500476)


*** Test  27: OK (1996459)


   function F()


1      try


2Xpath 1" X: 1


3try


4Xpath 2" X: 2


5return


6Xpath 4" X: 0


7finally


8Xpath 8" X: 8


9endtry


10Xpath 16" X: 0


11     finally


12Xpath 32" X: 32


13     endtry


14     Xpath 64" X: 0


   endfunction"/tmp/vtkUFLr/47"[noeol] 17L, 552C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vtkUFLr/47" 14L, 502C written
"test49.in" 32L, 705C

   function G()

1      try

2Xpath 128" X: 128

3return

4Xpath 256" X: 0

5      finally

6Xpath 512" X: 512

7call F()

8Xpath 1024" X: 1024

9      endtry

10     Xpath 2048" X: 0

   endfunction"/tmp/vtkUFLr/48"[noeol] 13L, 406C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vtkUFLr/48" 10L, 378C written
"test49.in" 32L, 705C

   function H()

1      try

2Xpath 4096" X: 4096

3call G()

4Xpath 8192" X: 8192

5      finally

6Xpath 16384" X: 16384

7return

8Xpath 32768" X: 0

9      endtry


10     Xpath 65536" X: 0


   endfunction"/tmp/vtkUFLr/49"[noeol] 13L, 409C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vtkUFLr/49" 10L, 381C written
"test49.in" 32L, 705C

*** Test  28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/50[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/50" 39L, 721C appended40L, 743C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vtkUFLr/51[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/51"' -S /tmp/vtkUFLr/50[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880Ctest49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/52[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/52" 23L, 509C appended24L, 531C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/53[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/53"' -S /tmp/vtkUF


Lr/52[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/54[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/54" 60L, 1101C appended61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/55[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv


iminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/55"' -


c'breakadd func 3 F' -c 'breakadd file 19 /tmp/vtkUFLr/54' -c 'breakadd file 31


/tmp/vtkUFLr/54' -S /tmp/vtkUFLr/54[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/55" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/56[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/56" 60L, 1122C appended61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/57[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/57"' -S /tmp/vtkUF


Lr/56[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  31: OK (190905173)


*** Test  32: OK (354833067)


*** Test  33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/58" 63L, 1288C appended64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/59[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUF


Lr/59"' -c 'breakadd func 16 C' -S /tmp/vtkUFLr/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/59" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/60" 63L, 1285C appended64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/61[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUF


Lr/61"' -c 'breakadd func 16 B' -S /tmp/vtkUFLr/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/61" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/62" 66L, 1430C appended67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/63[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/


63"' -c 'breakadd func 16 R' -S /tmp/vtkUFLr/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/63" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/64" 73L, 1488C appended74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/65[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/65"' -c 'breakadd


func 16 F' -S /tmp/vtkUFLr/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/65" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/66[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/66" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/67[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUF


Lr/67"' -c 'breakadd func 16 E' -S /tmp/vtkUFLr/66[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/67" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/68[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/68" 83L, 1538C appended84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/69[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -


c'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi


mResult = "/tmp/vtkUFLr/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S


/tmp/vtkUFLr/68[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/70[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/70" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/71[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUF


Lr/71"' -c 'breakadd func 16 T' -S /tmp/vtkUFLr/70[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/71" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  40: OK (357908480)


*** Test  41: OK (3076095)


*** Test  42: OK (1505155949)


*** Test  43: OK (1157763329)


*** Test  44: OK (1031761407)


*** Test  45: OK (1157763329)


*** Test  46: OK (739407)


*** Test  47: OK (371213935)


*** Test  48: OK (756255461)


*** Test  49: OK (179000669)


   function C()


1      try


2Xpath 1" X: 1


3throw "arrgh"


4Xpath 2" X: 0


5      catch /arrgh/


6Xpath 4" X: 4


7      endtry


8      Xpath 8" X: 8


   endfunction"/tmp/vtkUFLr/72"[noeol] 11L, 334C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vtkUFLr/72" 8L, 295C written
"test49.in" 32L, 705C

   function T1()

1      XloopNEXT

2      try

3Xloop 1" X: 16 + 16*16

4throw "arrgh"

5Xloop 2" X: 0

6      finally


7Xloop 4" X: 64 + 64*16


8      endtry


9      Xloop 8" X: 0


   endfunction"/tmp/vtkUFLr/73"[noeol] 12L, 364C

9 substitutions on 9 lines

Pattern not found: ^\s*$
"/tmp/vtkUFLr/73" 9L, 323C written
"test49.in" 32L, 705C

   function T2()

1      try

2Xpath 4096" X: 4096

3call T1()

4Xpath 8192" X: 0

5      finally

6Xpath 16384" X: 16384

7      endtry


8      Xpath 32768" X: 0


   endfunction"/tmp/vtkUFLr/74"[noeol] 11L, 332C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vtkUFLr/74" 8L, 305C written
"test49.in" 32L, 705C

*** Test  50: OK (363550045)

*** Test  51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/76[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/76" 2L, 41C appended3L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vtkUFLr/77[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/77"' -S /tmp/vtkUFLr/76[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/77" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/75" 8L, 182C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/78[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/78" 7L, 115C appended8L, 137C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/79[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/79"' -S /tmp/vtkUFLr/78[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/79" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/75" 8L, 181C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/80[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/80" 12L, 180C appended13L, 202C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/81[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/81"' -S /tmp/vtkUFLr/80[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/81" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/75" 10L, 209C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/82[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/82" 8L, 139C appended9L, 161C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/83[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/83"' -S /tmp/vtkUFLr/82[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/83" 2L, 11C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/75" 10L, 217C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/84[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/84" 5L, 87C appended6L, 109C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/85[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!


>/tmp/vtkUFLr/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =


1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/85"' -c 'breakadd file 4 /tmp/vtkUFLr


/84' -S /tmp/vtkUFLr/84[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/85" 1L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/75" [noeol] 9L, 202C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/86[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/86" 7L, 189C appended8L, 211C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/87[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/87"' -S /tmp/vtkUFLr/86[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/87" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/75" 9L, 252C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/88[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/88" 7L, 199C appended8L, 221C8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/89[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/89"' -S /tmp/vtkUFLr/88[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/89" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/75" 9L, 214C
"test49.in" 32L, 705C


*** Test  52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/91[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/91" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/92[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/92"' -S /tmp/vtkUFLr/91[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/92" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/93[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/93" 3L, 39C appended4L, 61C


3 substitutions on 3 lines
"/tmp/vtkUFLr/93" 4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/94[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/94"' -S /tmp/vtkUFLr/93[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/94" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/95[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/95" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vtkUFLr/95" 5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/96[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/96"' -S /tmp/vtkUFLr/95[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/96" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/97[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/97" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vtkUFLr/97" 4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/98[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/98"' -S /tmp/vtkUFLr/97[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/98" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/99[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/99" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vtkUFLr/99" 6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/100[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/100"' -S /tmp/vtkUFLr/99[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/100" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/101[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/101" 1L, 9C appended2L, 31C2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/102[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/102"' -S /tmp/vtkUFLr/101[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/102" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 153C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/103[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/103" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vtkUFLr/103"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/104[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/104"' -S /tmp/vtkUFLr/103[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/104" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/105[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/105" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vtkUFLr/105"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/106[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/106"' -S /tmp/vtkUFLr/105[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/106" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/107[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/107" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vtkUFLr/107"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/108[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/108"' -S /tmp/vtkUFLr/107[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/108" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/109[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/109" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vtkUFLr/109"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/110[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/110"' -S /tmp/vtkUFLr/109[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/110" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/111[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/111" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/112[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/112"' -S /tmp/vtkUFLr/111[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/112" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/113[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/113" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vtkUFLr/113"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/114[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/114"' -S /tmp/vtkUFLr/113[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/114" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/115[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/115" 4L, 46C appended5L, 68C


4 substitutions on 4 lines
"/tmp/vtkUFLr/115"5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/116[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/116"' -S /tmp/vtkUFLr/115[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/116" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/117[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/117" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vtkUFLr/117"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/118[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/118"' -S /tmp/vtkUFLr/117[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/118" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/119[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/119" 5L, 66C appended6L, 88C


5 substitutions on 5 lines
"/tmp/vtkUFLr/119"6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/120[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/120"' -S /tmp/vtkUFLr/119[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/120" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/121[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/121" 4L, 37C appended5L, 59C


4 substitutions on 4 lines
"/tmp/vtkUFLr/121"5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/122[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/122"' -S /tmp/vtkUFLr/121[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/122" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 150C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/123[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/123" 4L, 41C appended5L, 63C


4 substitutions on 4 lines
"/tmp/vtkUFLr/123"5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/124[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vtkUFLr/124"' -S /tmp/vtkUFLr/123[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/124" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/90" 6L, 159C
"test49.in" 32L, 705C


*** Test  53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/126[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/126" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/127[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/127"' -S /tmp/vtkUFLr/126[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/127" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 164C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/128[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/128" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vtkUFLr/128"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/129[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/129"' -S /tmp/vtkUFLr/128[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/129" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/130[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/130" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vtkUFLr/130"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/131[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/131"' -S /tmp/vtkUFLr/130[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/131" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/132[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/132" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vtkUFLr/132"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/133[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/133"' -S /tmp/vtkUFLr/132[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/133" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/134[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/134" 4L, 53C appended5L, 75C


4 substitutions on 4 lines
"/tmp/vtkUFLr/134"5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/135[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/135"' -S /tmp/vtkUFLr/134[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/135" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/136[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/136" 5L, 62C appended6L, 84C


5 substitutions on 5 lines
"/tmp/vtkUFLr/136"6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/137[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/137"' -S /tmp/vtkUFLr/136[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/137" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/138[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/138" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vtkUFLr/138"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/139[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/139"' -S /tmp/vtkUFLr/138[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/139" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/140[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/140" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vtkUFLr/140"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/141[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/141"' -S /tmp/vtkUFLr/140[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/141" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/142[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/142" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vtkUFLr/142"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/143[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/143"' -S /tmp/vtkUFLr/142[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/143" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 167C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/144[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/144" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vtkUFLr/144"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/145[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/145"' -S /tmp/vtkUFLr/144[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/145" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/146[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/146" 7L, 95C appended8L, 117C


7 substitutions on 7 lines
"/tmp/vtkUFLr/146"8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/147[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/147"' -S /tmp/vtkUFLr/146[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/147" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/125" 6L, 167C
"test49.in" 32L, 705C


*** Test  54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/149[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/149" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/150[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/150"' -S /tmp/vtkUFLr/149[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/150" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 172C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/151[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/151" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vtkUFLr/151"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/152[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/152"' -S /tmp/vtkUFLr/151[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/152" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/153[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/153" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vtkUFLr/153"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/154[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/154"' -S /tmp/vtkUFLr/153[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/154" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/155[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/155" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vtkUFLr/155"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/156[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/156"' -S /tmp/vtkUFLr/155[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/156" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/157[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/157" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vtkUFLr/157"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/158[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/158"' -S /tmp/vtkUFLr/157[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/158" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/159[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/159" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/160[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/160"' -S /tmp/vtkUFLr/159[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/160" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 166C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/161[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/161" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vtkUFLr/161"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/162[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/162"' -S /tmp/vtkUFLr/161[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/162" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/163[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/163" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vtkUFLr/163"5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/164[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/164"' -S /tmp/vtkUFLr/163[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/164" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/165[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/165" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vtkUFLr/165"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/166[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/166"' -S /tmp/vtkUFLr/165[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/166" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/167[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/167" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vtkUFLr/167"6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/168[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/168"' -S /tmp/vtkUFLr/167[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/168" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/148" 6L, 170C
"test49.in" 32L, 705C


*** Test  55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/170[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/170" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/171[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/171"' -S /tmp/vtkUFLr/170[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/171" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/172[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/172" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vtkUFLr/172"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/173[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/173"' -S /tmp/vtkUFLr/172[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/173" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/174[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/174" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vtkUFLr/174"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/175[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/175"' -S /tmp/vtkUFLr/174[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/175" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/176[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/176" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vtkUFLr/176"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/177[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/177"' -S /tmp/vtkUFLr/176[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/177" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/178[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/178" 3L, 35C appended4L, 57C


3 substitutions on 3 lines
"/tmp/vtkUFLr/178"4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/179[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/179"' -S /tmp/vtkUFLr/178[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/179" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/180[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/180" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vtkUFLr/180"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/181[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/181"' -S /tmp/vtkUFLr/180[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/181" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/182[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/182" 4L, 47C appended5L, 69C


4 substitutions on 4 lines
"/tmp/vtkUFLr/182"5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/183[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/183"' -S /tmp/vtkUFLr/182[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/183" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/184[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/184" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vtkUFLr/184"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/185[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/185"' -S /tmp/vtkUFLr/184[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/185" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/186[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/186" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vtkUFLr/186"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/187[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vtkUFLr/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vtkUFLr/187"' -S /tmp/vtkUFLr/186[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/187" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vtkUFLr/169" 6L, 155C
"test49.in" 32L, 705C


*** Test  56: OK (511)


   function FuncException()


1      let g:exception = v:exception


   endfunction"/tmp/vtkUFLr/188" [noeol] 4L, 80C

Pattern not found: ^\s*$
"/tmp/vtkUFLr/188"1L, 36C written
"test49.in" 32L, 705C

   function FuncThrowpoint()


1      let g:throwpoint = v:throwpoint


   endfunction"/tmp/vtkUFLr/189" [noeol] 4L, 83C

Pattern not found: ^\s*$
"/tmp/vtkUFLr/189"1L, 38C written
"test49.in" 32L, 705C

   function T(arg, line)


1      if a:line == 2


2throw a:arg" in line 2


3      elseif a:line == 4


4throw a:arg" in line 4


5      elseif a:line == 6


6throw a:arg" in line 6


7      elseif a:line == 8


8throw a:arg" in line 8


9      endif


   endfunction"/tmp/vtkUFLr/190"[noeol] 12L, 341C

9 substitutions on 9 lines

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vtkUFLr/190"9L, 292C written
"test49.in" 32L, 705C

   function G(arg, line)

1      call T(a:arg, a:line)

   endfunction"/tmp/vtkUFLr/191"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vtkUFLr/191"1L, 30C written
"test49.in" 32L, 705C

   function F(arg, line)

1      call G(a:arg, a:line)

   endfunction"/tmp/vtkUFLr/192"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vtkUFLr/192"1L, 30C written
"test49.in" 32L, 705C

*** Test  57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/193" 87L, 1700C appended88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/194[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/194"' -c 'break


add func 4 T' -S /tmp/vtkUFLr/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/194" 8L, 36C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/195" 293L, 5789C appended294L, 5811C


3 substitutions on 3 lines
"/tmp/vtkUFLr/195"294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/196[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/196"' -c 'br


eakadd file 115 /tmp/vtkUFLr/195' -c 'breakadd file 225 /tmp/vtkUFLr/195' -S /tm


p/vtkUFLr/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  59: OK (2038431743)
"/n/o/n/w/r/i/t/a/b/l/e/_/f/i/l/e"
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/197" 33L, 765C appended34L, 787C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/198[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/198"' -c 'break


add file 7 /tmp/vtkUFLr/197' -S /tmp/vtkUFLr/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/198" 3L, 27C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/199" 115L, 2272C appended116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/200[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/


200"' -c 'breakadd file 8 /tmp/vtkUFLr/199' -c 'breakadd file 36 /tmp/vtkUFLr/19


9' -c 'breakadd file 40 /tmp/vtkUFLr/199' -c 'breakadd file 69 /tmp/vtkUFLr/199'


-c 'breakadd file 95 /tmp/vtkUFLr/199' -c 'breakadd file 97 /tmp/vtkUFLr/199' -


S/tmp/vtkUFLr/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  61: OK (374889517)


   function F()


1      while 1


2      " Missing :endwhile


   endfunction"/tmp/vtkUFLr/201"[noeol] 5L, 73C

Pattern not found: ^\s*$
"/tmp/vtkUFLr/201"2L, 40C written
"test49.in" 32L, 705C

*** Test  62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/test49.vim:


line 5500:


"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing


*** Test  63: OK (236978127)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/202" 149L, 2828C appended150L, 2850C


6 substitutions on 6 lines
"/tmp/vtkUFLr/202"150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/203[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/203"' -c 'break


add file 63 /tmp/vtkUFLr/202' -S /tmp/vtkUFLr/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/203" 16L, 97C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  64: OK (1499645335)


*** Test  65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/204[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/204" 78L, 1520C appended79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/205[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/205"' -c 'break


add func 8 F' -S /tmp/vtkUFLr/204[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/205" 6L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  66: OK (5464)


*** Test  67: OK (212514423)


*** Test  68: OK (212514423)


*** Test  69: OK (8995471)


*** Test  70: OK (69544277)


*** Test  71: OK (34886997)


*** Test  72: OK (1789569365)


   function F0()


   endfunction


   function F1()


   endfunction


*** Test  73: OK (9032615)
"/tmp/vtkUFLr/206" [New File]
"test49.in" 32L, 705C
"/tmp/vtkUFLr/207" [New File]
"test49.in" 32L, 705C


*** Test  74: OK (224907669)


*** Test  75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/208[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/208" 253L, 6369C appended254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/209[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|


set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp


/vtkUFLr/209"' -c 'breakadd func 2 INT' -S /tmp/vtkUFLr/208[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/209" 28L, 167C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  76: OK (1610087935)


Error detected while processing function ERR:


line    2:


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


*** Test  77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/210[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/210" 161L, 4543C appended162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/211[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/211"' -S /tmp/vtkU


FLr/210[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  78: OK (134217728)


Error detected while processing function NEXT:


line    1:


E121: Undefined variable: novar


E15: Invalid expression: novar | Xloop 1


E121: Undefined variable: novar


E488: Trailing characters


E108: No such variable: "novar"


E488: Trailing characters


E121: Undefined variable: novar


E15: Invalid expression: novar


E475: Invalid argument: {novar} | Xloop 1


E121: Undefined variable: novar


E15: Invalid expression:  novar


E475: Invalid argument: { novar} | Xloop 1


*** Test  79: OK (70288929)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/test49.vim:


line 7985:


E584: :elseif after :else: elseif 1 ||| 2


line 7995:


E584: :elseif after :else: elseif 1 ||| 2


line 8003:


E582: :elseif without :if: elseif 1 ||| 2


line 8011:


E582: :elseif without :if:     elseif 1 ||| 2


*** Test  80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/212[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/212" 15L, 272C appended16L, 294C16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/213[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/213"' -S /tmp/vtkU


FLr/212[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/214[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/214" 12L, 227C appended13L, 249C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/215[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/215"' -c 'break


add file 8 /tmp/vtkUFLr/214' -S /tmp/vtkUFLr/214[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/215" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/216[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/216" 20L, 417C appended21L, 439C21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/217[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/217"' -S /tmp/vtkU


FLr/216[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/218[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/218" 24L, 480C appended25L, 502C25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/219[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/219"' -S /tmp/vtkU


FLr/218[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/220[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/220" 17L, 390C appended18L, 412C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/221[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/221"' -c 'break


add file 7 /tmp/vtkUFLr/220' -S /tmp/vtkUFLr/220[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/221" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/222[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/222" 21L, 444C appended22L, 466C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/223[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/223"' -c 'break


add func 6 I' -S /tmp/vtkUFLr/222[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/223" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/224[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/224" 17L, 307C appended18L, 329C18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/225[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/225"' -S /tmp/vtkU


FLr/224[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/226[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/226" 14L, 266C appended15L, 288C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/227[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/227"' -c 'break


add file 8 /tmp/vtkUFLr/226' -S /tmp/vtkUFLr/226[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/227" 3L, 13C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/228" 154L, 3580C appended155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/229[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/229"' -c 'br


eakadd func 1 INT' -S /tmp/vtkUFLr/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/229" 18L, 118C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  84: OK (934782101)


TMP
"/tmp/vtkUFLr/230" [noeol] 2L, 6C/  
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"


"/tmp/vtkUFLr/232" 1L, 1C
"test49.in" 32L, 705C


:!echo XYZ >/tmp/vtkUFLr/233[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/234" [New File]
"test49.in" 32L, 705C


*** Test  85: OK (198689)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/test49.vim:


line 8769:


E123: Undefined function: F


Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1


line 8772:


E926: Current location list was changed


line 8773:


E193: :endfunction not inside a function


Error detected while processing function ExecAsScript[2]..MakeScript:


line    3:


E123: Undefined function: F
"/tmp/vtkUFLr/235" c[noeol] 4L, 109C


search hit BOTTOM, continuing at TOP
line   10:

E486: Pattern not found: .*F(.*)


search hit BOTTOM, continuing at TOP
line   11:

E486: Pattern not found: ^\d*\s*endfunction\>


4 substitutions on 4 lines
"/tmp/vtkUFLr/235"3L, 109C written
"Make_all.mak" 207L, 3846C


Error detected while processing /tmp/vtkUFLr/235:


line    1:


E492: Not an editor command: Error detected while processing function ExecAsScr


ipt[2]..MakeScript:


line    2:


E492: Not an editor command: line    3:


line    3:


E492: Not an editor command: E123: Undefined function: F


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/test49.vim:


line 8779:


E130: Unknown function: F


*** Test  86: OK (0)


5

*** Test  87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vtkUFLr/0' >/tmp/vtkUFLr/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vtkUFLr/236" 151L, 3929C appended152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vtkUFLr/237[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi


nfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vtkUFLr/237"' -c


'breakadd func 5 ThrowOnInterrupt' -S /tmp/vtkUFLr/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vtkUFLr/237" 16L, 281C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<Y6ECvf/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9009L, 206880C
"Make_all.mak" 207L, 3846C


*** Test  88: OK (50443995)


Press ENTER or type command to continue:[?12l[?25h" Go back to this file and append the results from register r.
[?25l#

# Common Makefile, defines the list of tests to run.

#



NO_PLUGIN = -U NONE --noplugin --not-a-term



# The first script creates small.vim.

SCRIPTS_FIRST = \test1.out



# Tests that run on all systems.

SCRIPTS_ALL = \test3.out \test4.out \test5.out \test7.out \test8.out \test9.out \test14.out \test15.out \test19.out \test20.out \test22.out \[?12l[?25h[?25l:[?12l[?25hbuf test49.in
[?25l"test49.in" 32L, 705C:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:":" make valgrind happy

:redir => funclis:silent func:redir END:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif:endfor:for v in keys(g:):  silent! exe "unlet " . v

:endfor:unlet v:qa!ENDTESTResults of test49.vim:[?12l[?25h

[?25l

83 more lines

*** Test  16: OK (8722)83 more lines[?12l[?25h[?25l:[?12l[?25h/^Results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 84L, 2484C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" make valgrind happy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => funclist
[?25l[?12l[?25h[?25l:[?12l[?25hsilent func
[?25l[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hfor line in split(funclist, "\n")
[?25l

:  [?12l[?25h:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')


[?25l:  [?12l[?25h:  if name != ''


[?25l:    [?12l[?25h:    exe "delfunc " . name


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy[?12l[?25h[?25l

:[?12l[?25hfor v in keys(g:)
[?25l

:  [?12l[?25h:  silent! exe "unlet " . v


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in[?12l[?25h[?25l

:[?12l[?25hunlet v
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test49 = test61; then \
#	  if diff test.out test49.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test49.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test97.failed test.ok test.out X* viminfo
cp test97.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test97.in" 23 lines, 484 charactersTest whether glob()/globpath() return correct results with certain escaped

characters.



STARTTEST

:so small.vim

:" make sure glob() doesn't use the shell

:set shell=doesnotexist

:" consistent sorting of file names

:set nofileignorecase

:e! test.out

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:w! Xxx{

:w! Xxx\$

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:"

:$put =string(globpath('sautest/autoload', '*.vim'))

:$put =string(globpath('sautest/autoload', '*.vim', 0, 1))

:w

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest whether glob()/globpath() return correct results with certain escaped[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 377 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[?12l[?25h[?25l:[?12l[?25hset shell=doesnotexist
[?25l[?12l[?25h[?25l:[?12l[?25h" consistent sorting of file names
[?25l[?12l[?25h[?25l:[?12l[?25hset nofileignorecase
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25l[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xxx{
[?25l

Cannot execute shell doesnotexist




E79: Cannot expand wildcards


"Xxx{" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25lXxx{

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25lXxx$[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l'sautest/autoload/Test104.vimsautest/autoload/footest.vim'[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test97 = test61; then \
#	  if diff test.out test97.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test97.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr_utf8.failed test.ok test.out X* viminfo
cp test_listlbr_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr_utf8.in" 134 lines, 4027 charactersTest for linebreak and list option in utf-8 mode



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!  test.out | qa! | endif

:so mbyte.vim

:set encoding=utf8

:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width, lines)

:let c=''

:for j in range(1,a:lines)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option in utf-8 mode[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 129 lines, 3948 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!


test.out | qa! | endif
[?25l:set list nolinebreak cc=3[?12l[?25h[?25l

:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text
[?12l[?25h[?25l

:[?12l[?25hif &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
[?25l[?12l[?25h[?25l:[?12l[?25h10new|:vsp|:vert resize 20
[?25l                    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  call DoRecordScreen()" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")else   call append('$', "Screen attributes are the same!")

:endif%w! test.out

:qaENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz 1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width, lines)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,a:lines)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[?12l[?25h[?25l:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo


l:\ub6"
[?25l▕———abcdef|▕———␣ˑ¶[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef|

+hijklmn▕———|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines¶                   

Test 1: set         

+linebreak + set    

+list + fancy       

+listchars¶         

▕———abcdefˑˑˑˑˑˑˑˑˑˑ
@                   Test 1: set linebreak + set list + fancy listchars▕———abcdef          +hijklmn▕———        +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶    [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[?12l[?25h[?25l:[?12l[?25hset list nolinebreak
[?25lhijklmn▕—pqrstuvwxyz␣1060ABCDEFGHIJKLMNOPˑ¶    

¶                

Test 1: set linebrea

+k + set list + fancy listchars¶   

▕———abcdefˑˑˑˑˑˑˑˑˑˑ¶          

+hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef hijklmn▕—|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|

¶|

Test 1: set linebrea|

+k + set list + fanc|

+y listchars¶|

▕———abcdefˑˑˑˑˑˑˑˑˑˑ|

+¶|

+hijklmn▕———ˑˑˑˑˑˑˑˑ|
@                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOPTest 1: set linebreak + set list + fancy listchars▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            +hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines▕———abcdef                                                 +hijklmn▕———                                               +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l▕———▕—¶                  

+pqrstuvwxyz␣1060ABC

+¶+DEFGHIJKLMNOPˑ¶ˑˑˑˑ¶                 

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ

+¶                  

▕———*mask = nil;¶~ [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l▕———*mask = nil;¶   

~                   

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l      
    [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l*mask = nil;    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 3: set         

+linebreak nolist   

    *mask = nil;    

~                   

~                   

~                   +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ¶                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       *mask = nil;Test 3: set linebreak nolist*mask = nil;~~~4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['#define ABCDE^I^I1','#define ABCDEF^I^I1','#define ABCDEFG^I^I


1','#define ABCDEFGH^I1', '#define MSG_MODE_FILE^I^I^I1','#define MSG_MODE_CONSO


LE^I^I2','#define MSG_MODE_FILE_AND_CONSOLE^I3','#define MSG_MODE_FILE_THEN_CONS


OLE^I4']
[?25l*mask = nil;    ||

Test 3: set|+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l#define             

+ABCDE      1       [?12l[?25h[?25l:[?12l[?25hvert resize 40
[?25l                    |                    |linebreak nolist|

    *mask = nil;                        |

~                    |                    |                    |

#define ABCDE1 |ABCDEF      1 |

#define ABCDEFG     1 |                    +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+][?12l[?25h[?25l:[?12l[?25h$-7
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l#define ABCDE       1                   

#define ABCDEF      1                   

#define ABCDEFG     1                   

                                        

                                        

                                        

                                        

                                        

                                        

                                        #define ABCDEFGH    1

#define MSG_MODE_FILE1

#define MSG_MODE_CONSOLE2

#define MSG_MODE_FILE_AND_CONSOLE   3

#define MSG_MODE_FILE_THEN_CONSOLE  4

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l>-->--->->--->>--->--->-->--->--->--->--->-->-[?12l[?25h[?25l:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25lAB>CDEF>->CDEFG>->CDEFGH>->_FILE>------->_CONSOLE>------->_FILE_AND_CONSOLE>------->_FILE_THEN_CONSOLE>-------AB[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l#define ABCDE>-->---1|

#define >CDEF>-->---1|

#define >CDEFG>->---1|

#define >CDEFGH>----1|

#define >_FILE>--------->--->---1|

#define >_CONSOLE>---------->---2|

#define >_FILE_AND_CONSOLE>---------3   |

#define >_FILE_THEN_CONSOLE>--------4   |||~                                       

~                                       

[No Name] [+]                            +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l>CDE>-7 more lines                                        

Test 4: set linebreak list listchars    
@                                       #define >CDEFG>->---1+ #define >CDEFGH>----1+#define >_FILE>--------->--->---1+ #define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+ABCDE>
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['bbeeeeee^I^I;^Isome text']
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l[?12l[?25h[?25l:[?12l[?25h$
[?25l@                                       

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        Test 4: set linebreak list listchars    

+and concealing

#define >CDE>-->---1

#define >CDEF>-->---1

#define >CDEFG>->---1

#define >CDEFGH>----1

#define >_FILE>--------->--->---1

#define >_CONSOLE>---------->---2

#define >_FILE_AND_CONSOLE>---------3

bbeeeeee>--->---;>--some text[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25lbbeeeeee>--->---;>--some text           

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l>;>some text      [?12l[?25h[?25l:[?12l[?25hsyn clear
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match meaning    /;\s*\zs.*/
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match hasword    /^\x\{8}/    contains=word
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match word       /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match beginword  /\<\x\x/     contained conceal
[?25leeeeee>--[?12l[?25h[?25l:[?12l[?25hsyn match endword    /\x\{6}\>/   contained
[?25l[?12l[?25h[?25l:[?12l[?25hhi meaning   guibg=blue
[?25lsome text[?12l[?25h[?25l:[?12l[?25hhi beginword guibg=green
[?25l[?12l[?25h[?25l:[?12l[?25hhi endword   guibg=red
[?25leeeeee[?12l[?25h[?25l:[?12l[?25hredraw!
[?25leeeeee>--->-;>some text||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

[No Name] [+]                            #define >CDEFG>->---1+#define >CDEFGH>----1+#define >_FILE>--------->--->---1+#define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l                                        

Test 5: set linebreak list listchars and

eeeeee>--->-;>some text                 #define >_CONSOLE>---------->---2      +                                      #define >_FILE_AND_CONSOLE>---------3  +                                                                                                                                                                                                                                                                                bbeeeeee    ; some textTest 5: set linebreak list listchars an+d concealing part2eeeeee>--->-;>some text                + [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 6: Screenattributes for comment    [?12l[?25h[?25l:[?12l[?25hcall append('$', ' /*^I^I and some more */')
[?25l /*>>- and some more */                 [?12l[?25h[?25l:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail


:\u02d1,eol:\ub6"
[?25leeeeee▕———————▕——————;▕—————some text¶|

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ¶▕———▕—————— and some more */¶#define >_CONSOLE>---------->---2         ;      some text[?12l[?25h[?25l:[?12l[?25hsyntax on
[?25lbbeeeeee▕some text5>some text6for

 /* and some more */#define >_CONSOLE>---------->---2       #define >_FILE_AND_CONSOLE>---------3   bbeeeeeesome text5>some text                 [?12l[?25h[?25l:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l▕—————▕——————▕—————ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ▕———▕——————[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n


"[?25lbbeeeeee▕—————▕——————;▕—————some text¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt0
[?25l /*▕———▕—————— and some more */¶        

~                                       

~                                       

~                                       

~                                       

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['107']
[?12l[?25h[?25l:let attr += ['107']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25lScreenAttributes for test6:¶            [?12l[?25h[?25l:[?12l[?25hif attr[0] != attr[1] && attr[1] != attr[3] && attr[3] != attr[5]
[?25l

:  [?12l[?25h:   call append('$', "Attribut 0 and 1 and 3 and 5 are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Not all attributes are different")


[?25l:  [?12l[?25h:endif
[?25l/*▕———▕—————— and some more */¶|

ScreenAttributes for test6:¶|

Attribut 0 and 1 and 3 and 5 are differe||
~                                       #define >_CONSOLE>---------->---2      + #define >_FILE_AND_CONSOLE>---------3  + [?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select


ion=exclusive and multibyte char"
[?25l/*▕———▕—————— and some more */¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set linebreak with visual block [?12l[?25h[?25llong line:ˑ¶                            [?12l[?25h[?25l¶                                

¶                            

¶                                       

¶                                      

oobar foobar foobar foobar foobarˑ¶[?12l[?25h[?25l
foobar foobar TARGET¶               [?12l[?25h[?25lÃ' at end¶[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx' at end¶[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=[]
[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l /*▕———▕—————— and some more */¶ScreenAttributes for test6:¶Attribut 0 and 1 and 3 and 5 are differe

Test 8: set linebreak with visual block

long line: foobar foobar foobar foobar f

¶                                       [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25hset list nolinebreak cc=3
[?25l*

Scr

Att

Tesn 

a b

a b[?12l[?25h[?25l:[?12l[?25hsign define foo text=^+
[?25l[?12l[?25h[?25l:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l   /*▕———▕—————— and some more */¶  ScreenAttributes for test6:¶  Attribut 0 and 1 and 3 and 5 are diff

  Test 8: set linebreak with visual bloc

  long line: foobar foobar foobar foobar

  ¶ 

+a b c¶  a b c¶  

  ~~  #define >_CONSOLE>-->---2  +     #define >_FILE_AND_CONSOLE>--3  +     bbeeeeee  ;      some text    Test 5: set linebreak list listchars   +and concealing part2  eeeeee>--->-;>some text  +[?12l[?25h[?25l:[?12l[?25hnorm! 2kztj
[?25l  ¶                                     

+a b c¶                                

  a b c¶                                

  ~                                     

  ~                                     

                                        

                                        

                                        

                                        

                                          

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     [?12l[?25h[?25l:[?12l[?25hlet line1=line('.')
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['92']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hlet line2=line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=attr
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['92']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l  ¶ |

+a b c¶|

  a b c¶||||||||  

  

  

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     

[No Name] [+]                              #define >_CONSOLE>---------->---2      +     #define >_FILE_AND_CONSOLE>---------3  +     bbeeeeee;      some text    Test 5: set linebreak list listchars  +and concealing part2  eeeeee>--->-;>some text  +[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l3 more lines¶                                     Test 9: a multibyte sign and colorcolu  ¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ+a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ  a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑa b cTest 9: a multibyte sign and colorcolumn  ¶                     ++a b c¶                                 a b c¶               [?12l[?25h[?25l:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[?12l[?25h[?25l:[?12l[?25hif attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]
[?25l

:  [?12l[?25h:   call append('$', "Screen attributes are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Screen attributes are the same!")


[?25l:  [?12l[?25h:endif
[?25l  ¶ |

+a b c¶|

  a b c¶|

  ¶ |Screen attributes are the same!¶        a b c    Test 9: a multibyte sign and colorcol  +umn[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 57 lines, 1882 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr_utf8 = test61; then \
#	  if diff test.out test_listlbr_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test54.failed test.ok test.out X* viminfo
cp test54.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test54.in" 22 lines, 658 charactersSome tests for buffer-local autocommands



STARTTEST

:so small.vim

:e xx

:if has("vms")

: !del test.out.*

: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.oout

:else

: !rm -f test.out

: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out

:endif

:e somefile" here, autocommand for xx shall write test.out

:" but autocommand shall not apply to buffer named <buffer>:bwipe xx" here, autocommand shall be auto-deleted

:e xx" nothing shall be written

:e somefile" nothing shall be written

:qa!

ENDTEST



start of test file xx

end of test file xx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSome tests for buffer-local autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 15 lines, 555 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25he xx
[?25l"xx" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !del test.out.*


[?25l:  [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te


st.out


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !rm -f test.out


[?25l:!rm -f test.out[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25he somefile           " here, autocommand for xx shall write test.out 
[?25l:!echo buffer-local autommand in xx>> test.out


[?12l[?25h[?25l"somefile" [New File]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h                     " but autocommand shall not apply to buffer named <buffer


>[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe xx             " here, autocommand shall be auto-deleted
[?25l[?12l[?25h[?25l:[?12l[?25he xx                 " nothing shall be written
[?25l"xx" [New File][?12l[?25h[?25l:[?12l[?25he somefile           " nothing shall be written
[?25l"somefile" [New File][?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test54 = test61; then \
#	  if diff test.out test54.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test54.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test17.failed test.ok test.out X* viminfo
cp test17.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test17.in" 135 lines, 2431 charactersTests for:

- "gf" on ${VAR},

- ":checkpath!" with various 'include' settings.



STARTTEST

:so small.vim

:if has("ebcdic")

: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}

:else

: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}

:endif

:"

:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 564 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out

:w! test.out

gf

:set ff=unix

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:endif
[?25l:"

:if has("unix")

:let $CDIR = "."

/CDIR[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:let $CDIR = "."


[?25l:  [?12l[?25h/CDIR


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:if has("amiga")


[?25l:    [?12l[?25h:let $TDIR = "/testdir"


[?25l:    [?12l[?25h:else


[?25l:    [?12l[?25h:let $TDIR = "."


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h/TDIR


[?25l:  [?12l[?25h:endif
[?25l:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif

:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat': > nmake -f Make_dos.mak test17.outw! test.outgf:set ff=unix

:w! test.out

:brewindENDTEST${CDIR}/test17a.in[?12l[?25h[?25l

:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[?12l[?25h[?25l:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[?12l[?25h[?25l:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[?12l[?25h[?25l:[?12l[?25h"  > nmake -f Make_dos.mak test17.out
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 135 lines, 2431 characters written[?12l[?25h[?25l

"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/./test17a.in" 3 lines, 88


characters


Press ENTER or type command to continue[?12l[?25h[?25lThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 3 lines, 88 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out:w! test.outgf:set ff=unix:w! test.out:brewindENDTEST        ${CDIR}/test17a.in        $TDIR/test17a.inSTARTTEST:" check for 'include' without \zs or \ze:lang C:call delete("./Xbase.a"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":e! Xdir1/dir2/foo.ai#include   "bar.a"^[:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 23 lines, 396 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.a

i#include"foo.a"^[:

:w

:e Xbase.a

:set path=Xdir1/dir2

i#include    <foo.a>^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and \ze

:call delete("./Xbase.b")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*/\zs[^/]\+\ze'

:function! DotsToSlashes()

:  return substitute(v:fname, '\.', '/', 'g') . '.b'

:endfunction[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.a")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l#include   "bar.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][?12l[?25h[?25l#include      "baz.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][?12l[?25h[?25l#include"foo.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l#include    <foo.a>[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.a


Xdir1/dir2/foo.a -->


  Xdir1/dir2/bar.a


  Xdir1/dir2/bar.a -->


    Xdir1/dir2/baz.a


    Xdir1/dir2/baz.a -->


      "foo.a"  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l#include    <foo.a>

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi#include            "foo.a"^[:

:w:e Xbase.a:set path=Xdir1/dir2i#include    <foo.a>^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and \ze:call delete("./Xbase.b"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*/\zs[^/]\+\ze':function! DotsToSlashes():  return substitute(v:fname, '\.', '/', 'g') . '.b':endfunction:let &includeexpr='DotsToSlashes()'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 27 lines, 532 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.b")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h[?25l:[?12l[?25hfunction! DotsToSlashes()
[?25l

:  [?12l[?25h:  return substitute(v:fname, '\.', '/', 'g') . '.b'


[?25l:  [?12l[?25h:endfunction
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:[?12l[?25h[?25l:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   /bar/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][?12l[?25h[?25l%inc      /baz/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][?12l[?25h[?25l%inc/foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    /foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.b


Xdir1/dir2/foo.b -->


  Xdir1/dir2/bar.b


  Xdir1/dir2/bar.b -->


    Xdir1/dir2/baz.b


    Xdir1/dir2/baz.b -->


      foo  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    /foo/

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi%inc            /foo/^[:

:w:e Xbase.b:set path=Xdir1/dir2i%inc    /foo/^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and no \ze:call delete("./Xbase.c"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze':function! StripNewlineChar():  if v:fname =~ '\n$':    return v:fname[:-2]:  endif[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 39 lines, 745 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.c")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hfunction! StripNewlineChar()
[?25l

:  [?12l[?25h:  if v:fname =~ '\n$'


[?25l:    [?12l[?25h:    return v:fname[:-2]


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  return v:fname


[?25l:  [?12l[?25h:endfunction
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c[?12l[?25h[?25l

:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   bar.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][?12l[?25h[?25l%inc      baz.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    FALSE.c foo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.c


Xdir1/dir2/foo.c -->


  Xdir1/dir2/bar.c


  Xdir1/dir2/bar.c -->


    Xdir1/dir2/baz.c


    Xdir1/dir2/baz.c -->


      foo.c  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    FALSE.c foo.c

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:w:e Xdir1/dir2/baz.ci%inc            foo.c^[::w:e Xdir1/dir2/FALSE.ci%inc            foo.c^[::w:e Xbase.c:set path=Xdir1/dir2i%inc    FALSE.c foo.c^[::w:redir! >>test.out:checkpath!:redir END:brewind:" change "\" to "/" for Windows and fix 'fileformat':e test.out:%s#\\#/#g:set ff&:w:qENDTEST[?12l[?25h[?25l:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[?12l[?25h[?25l:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 charactersThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!--- Included files in path ---

Xdir1/dir2/foo.a

Xdir1/dir2/foo.a -->

  Xdir1/dir2/bar.a  Xdir1/dir2/bar.a -->    Xdir1/dir2/baz.a

    Xdir1/dir2/baz.a -->

      "foo.a"  (Already listed)--- Included files in path ---Xdir1/dir2/foo.b

Xdir1/dir2/foo.b -->

  Xdir1/dir2/bar.b

  Xdir1/dir2/bar.b -->

    Xdir1/dir2/baz.b

    Xdir1/dir2/baz.b -->foo  (Already listed)[?12l[?25h[?25l:[?12l[?25h%s#\\#/#g
[?25lE486: Pattern not found: \\[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[?12l[?25h[?25l:[?12l[?25hq
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test17 = test61; then \
#	  if diff test.out test17.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test17.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test30.failed test.ok test.out X* viminfo
cp test30.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available.



STARTTEST

:so small.vim

:" first write three test files, one in each format

:set fileformat=unix

:set fileformats=

:/^unix/;/eof/-1w! XXUnix

:/^dos/;/eof/-1w! XXDos

:set bin noeol

:$w! XXMac

Gonoeol^[

:$w! XXEol

:set nobin eol

:enew!

:bwipe XXUnix XXDos XXMac

:" create mixed format files

:if has("vms")

: !copy XXUnix,XXDos XXUxDs.

: !copy XXUnix,XXMac XXUxMac.

: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for a lot of variations of the 'fileformats' option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 221 lines, 3592 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72

Go8^[:$r XXtt81

:$r XXtt82

Go9^[:$r XXtt91

:$r XXtt92

:$r XXtt93

Go10^[:$r XXUnix

:set nobinary ff&

:w

:qa!

ENDTEST



unix

unix

eof



dos^M

dos^M

eof



mac^Mmac^M[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" first write three test files, one in each format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=
[?25l[?12l[?25h[?25l:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25hset bin noeol
[?25l[?12l[?25h[?25l:[?12l[?25h$w! XXMac
[?25l"XXMac" [New File][Incomplete last line] 1 line, 8 characters written[?12l[?25h[?25l

noeol[?12l[?25h[?25l

:[?12l[?25h$w! XXEol
[?25l"XXEol" [New File][Incomplete last line] 1 line, 5 characters written[?12l[?25h[?25l:[?12l[?25hset nobin eol
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[?12l[?25h[?25l:[?12l[?25h" create mixed format files
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !copy XXUnix,XXDos XXUxDs.


[?25l:  [?12l[?25h: !copy XXUnix,XXMac XXUxMac.


[?25l:  [?12l[?25h: !copy XXDos,XXMac  XXDosMac.


[?25l:  [?12l[?25h: !copy XXMac,XXEol  XXMacEol.


[?25l:  [?12l[?25h: !copy XXUnix,XXDos,XXMac XXUxDsMc.


[?25l:  [?12l[?25h:elseif has("win32")


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos XXUxDs


[?25l:  [?12l[?25h: !copy /b XXUnix+XXMac XXUxMac


[?25l:  [?12l[?25h: !copy /b XXDos+XXMac XXDosMac


[?25l:  [?12l[?25h: !copy /b XXMac+XXEol XXMacEol


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos+XXMac XXUxDsMc


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !cat XXUnix XXDos >XXUxDs


[?25l:!cat XXUnix XXDos >XXUxDs[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXMac >XXUxMac


[?25l:!cat XXUnix XXMac >XXUxMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXDos XXMac >XXDosMac


[?25l:!cat XXDos XXMac >XXDosMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXMac XXEol >XXMacEol


[?25l:!cat XXMac XXEol >XXMacEol[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXDos XXMac >XXUxDsMc


[?25l:!cat XXUnix XXDos XXMac >XXUxDsMc[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25hendif
[?25l:[?12l[?25h"
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUnix
[?25l"XXUnix" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" 2 lines, 10 charactersdos^M

dos^M[?12l[?25h[?25l:[?12l[?25hw! XXtt01
[?25l"XXtt01" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line] 1 line, 8 charactersmacmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt02
[?25l"XXtt02" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=dos
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdos^Mdos^Meofmac^Mmac^M[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [CR missing][dos format] 2 lines, 10 charactersunixunix~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt11
[?25l"XXtt11" [New File][dos format] 2 lines, 12 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [dos format] 2 lines, 10 charactersdosdos[?12l[?25h[?25l:[?12l[?25hw! XXtt12
[?25l"XXtt12" [New File][dos format] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line][dos format] 1 line, 8 charactersmac^Mmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt13
[?25l"XXtt13" [New File][dos format] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=mac
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdosdoseofmac^Jmac[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [Incomplete last line][mac format] 1 line, 10 charactersunix^Junix^J

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt21
[?25l"XXtt21" [New File][mac format] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [Incomplete last line][mac format] 3 lines, 10 charactersdos^Jdos^J[?12l[?25h[?25l:[?12l[?25hw! XXtt22
[?25l"XXtt22" [New File][mac format] 3 lines, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [mac format] 2 lines, 8 charactersmac

mac~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt23
[?25l"XXtt23" [New File][mac format] 2 lines, 8 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l^Jdos

^Jeof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt31
[?25l"XXtt31" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt32
[?25l"XXtt32" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [mac format] 4 lines, 28 charactersunix^Junix^Jdos^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt33
[?25l"XXtt33" [New File][mac format] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters^Jdoseof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt41
[?25l"XXtt41" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt42
[?25l"XXtt42" [New File] 3 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [Incomplete last line][dos format] 3 lines, 18 charactersdodos

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt43
[?25l"XXtt43" [New File][dos format] 3 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" 4 lines, 20 charactersunixunix

dos^Mdos^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt51
[?25l"XXtt51" [New File] 4 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt52
[?25l"XXtt52" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [mac format] 4 lines, 18 charactersdo^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt53
[?25l"XXtt53" [New File][mac format] 4 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt54
[?25l"XXtt54" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [CR missing][dos format] 4 lines, 20 charactersunixunix

dosdos

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt61
[?25l"XXtt61" [New File][dos format] 4 lines, 22 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line][CR missing][dos format] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:dos[?12l[?25h[?25l:[?12l[?25hw! XXtt62
[?25l"XXtt62" [New File][dos format] 4 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt63
[?25l"XXtt63" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [Incomplete last line][mac format] 3 lines, 13 charactersmacmac

noeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt64
[?25l"XXtt64" [New File][mac format] 4 lines, 26 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt71
[?25l"XXtt71" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,dos,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt72
[?25l"XXtt72" [New File] 2 lines, 24 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,dos,unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt81
[?25l"XXtt81" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line][mac format] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lmac,dos,unix:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt82
[?25l"XXtt82" [New File][mac format] 2 lines, 23 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h" try with 'binary' set
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt91
[?25l"XXtt91" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt92
[?25l"XXtt92" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt93
[?25l"XXtt93" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix nobin
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXtt01
[?25l"XXtt01" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt02
[?25l"XXtt02" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt11
[?25l"XXtt11" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt12
[?25l"XXtt12" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt13
[?25l"XXtt13" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt21
[?25l"XXtt21" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt22
[?25l"XXtt22" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt23
[?25l"XXtt23" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt31
[?25l"XXtt31" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt32
[?25l"XXtt32" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt33
[?25l"XXtt33" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt41
[?25l"XXtt41" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt42
[?25l"XXtt42" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt43
[?25l"XXtt43" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt51
[?25l"XXtt51" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt52
[?25l"XXtt52" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt53
[?25l"XXtt53" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt54
[?25l"XXtt54" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt61
[?25l"XXtt61" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt62
[?25l"XXtt62" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt63
[?25l"XXtt63" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt64
[?25l"XXtt64" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt71
[?25l"XXtt71" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt72
[?25l"XXtt72" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt81
[?25l"XXtt81" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt82
[?25l"XXtt82" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt91
[?25l"XXtt91" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt92
[?25l"XXtt92" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt93
[?25l"XXtt93" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results.
[?25l[?12l[?25h[?25l:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[?12l[?25h[?25l:[?12l[?25h" Add a newline at the end.
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25h$r XXtt01
[?25l"XXtt01" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt02
[?25l"XXtt02" 2 lines, 13 charactersmac^Mmac^MEND[?12l[?25h

[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXtt11
[?25l"XXtt11" 3 lines, 16 charactersunix^Munix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt12
[?25l"XXtt12" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt13
[?25l"XXtt13" 2 lines, 14 charactersmac^Mmac^M^MEND[?12l[?25h

[?25l

2[?12l[?25h[?25l:[?12l[?25h$r XXtt21
[?25l"XXtt21" 3 lines, 15 charactersunixunix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt22
[?25l"XXtt22" 3 lines, 15 charactersdos^Mdos^M^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt23
[?25l"XXtt23" 1 line, 12 characters

mac^Mmac^MEND[?12l[?25h[?25l

3[?12l[?25h[?25l

:[?12l[?25h$r XXtt31
[?25l"XXtt31" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt32
[?25l"XXtt32" 6 lines, 36 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt33
[?25l"XXtt33" 5 lines, 32 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

4[?12l[?25h[?25l

:[?12l[?25h$r XXtt41
[?25l"XXtt41" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt42
[?25l"XXtt42" 4 lines, 23 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt43
[?25l"XXtt43" 4 lines, 24 charactersunix

mac^Mmac^M

END

dos^M[?12l[?25h[?25ldos^M

mac^Mmac^M^M

END
[?12l[?25h[?25l

5[?12l[?25h[?25l

:[?12l[?25h$r XXtt51
[?25l"XXtt51" 5 lines, 24 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt52
[?25l"XXtt52" 6 lines, 33 charactersunix

dos^M

dos^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt53
[?25l"XXtt53" 3 lines, 22 charactersunix

dos^M

dos^M

mac^Mmac^M

END

dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt54
[?25l"XXtt54" 3 lines, 24 charactersdos^M

mac^Mmac^MEND

unix,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

6[?12l[?25h[?25l

:[?12l[?25h$r XXtt61
[?25l"XXtt61" 5 lines, 26 characters

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt62
[?25l"XXtt62" 5 lines, 39 charactersunix^M

dos^M

dos^M

END

dos,mac:dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt63
[?25l"XXtt63" 6 lines, 36 charactersunix^M

unix^M

mac^Mmac^M^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt64
[?25l"XXtt64" 1 line, 30 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

dos,mac:mac^Mmac^Mmac^Mnoeol^MEND[?12l[?25h[?25l

7[?12l[?25h[?25l

:[?12l[?25h$r XXtt71
[?25l"XXtt71" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt72
[?25l"XXtt72" 3 lines, 28 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix,dos,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

8[?12l[?25h[?25l

:[?12l[?25h$r XXtt81
[?25l"XXtt81" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt82
[?25l"XXtt82" 1 line, 27 charactersunix

dos^M

dos^M

mac^Mmac^M

END

mac,dos,unix:mac^Mnoeol^MEND[?12l[?25h[?25l

9[?12l[?25h[?25l

:[?12l[?25h$r XXtt91
[?25l"XXtt91" 5 lines, 32 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt92
[?25l"XXtt92" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt93
[?25l"XXtt93" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

10[?12l[?25h[?25l

:[?12l[?25h$r XXUnix
[?25l"XXUnix" 2 lines, 10 characters

unix[?12l[?25h[?25l

:[?12l[?25hset nobinary ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test30 = test61; then \
#	  if diff test.out test30.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test30.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test32.failed test.ok test.out X* viminfo
cp test32.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test32.in" 60 lines, 1391 charactersTest for insert expansion



:se cpt=.,w

* add-expands (word from next line) from other window

* add-expands (current buffer first)

* Local expansion, ends in an empty line (unless it becomes a global expansion)

* starts Local and switches to global add-expansion

:se cpt=.,w,i

* i-add-expands and switches to local

* add-expands lines (it would end in an empty line if it didn't ignored it self):se cpt=kXtestfile

* checks k-expansion, and file expansion (use Xtest11 instead of test11,

* because TEST11.OUT may match first on DOS)

:se cpt=w

* checks make_cyclic in other window

:se cpt=u nohid

* checks unloaded buffer expansion

* checks adding mode abortion

:se cpt=t,d

* tag expansion, define add-expansion interrupted

* t-expansion



STARTTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for insert expansion[?12l[?25h[?25l/^STARTTEST
[?12l[?25h[?25l

:so small.vim[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 533 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTO^N^[IX^[A^X^F^N^[

:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use

:" CTRL-X CTRL-F again to verify this doesn't cause trouble.

OX^X^F^H^H^H^H^H^H^H^H^X^F^[ddk

:se cpt=w

OST^N^P^P^P^P^[

:se cpt=u nohid

^WoOEN^N

unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[

:wq! test.out

ENDTEST



start of testfile

run1

run2

end of testfile



test11  36Gepeto/Tag/

asd     test11file      36G

Makefileto      run[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [New] 3L, 57C written[?12l[?25h[?25l:[?12l[?25hse cot=
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[:wq! test.out

ENDTESTstart of testfile

run1run2test32.in                                                                       [?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 4match in file test32.in^-- Keyword completion (^N^P) match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Adding Keyword completion (^N^P) Word from other line#include "Xtestfile"

run1 run2[+][?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h[?25l3[?12l[?25h

[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) match 1 of 115-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) Word from other line-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4 match 3 of 4 match 4 of 4 Back at original-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) match 1 of 2match in file test32.ine-- Adding Keyword completion (^N^P) Word from other linerun3 run3



run1 run2[?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h

[?25l:[?12l[?25hse cpt=.,w,i
[?25l[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 3.-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...
Scanning: test32.ine-- Whole line completion (^L^N^P) match 1 of 57INSERT --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 57Addinge Whole line completion (^L^N^P) -- Searching...
Scanning: test32.ine-- Adding Whole line completion (^L^N^P) The only match Back at original The only matchMakefileto      run3

Makefileto      run3

Makefileto      run3[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=kXtestfile
[?25l[?12l[?25h[?25l:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C writtenXtest11.one+   [?12l[?25h[?25l:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning dictionary: Xtestfile-match in file Xtestfile-- Keyword completion (^N^P) match 1 of 9test11[+]I[?12l[?25h [?25l-- Keyword completion (^N^P) match 1 of 9-- INSERT --[?12l[?25h[?25l-- INSERT --Xtest11
[?12l[?25h[?25l-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 2. match 2 of 2.two[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[?12l[?25h[?25l:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 4.INSERTa -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 443.
Make_all.mak

run1 run2d[?12l[?25h [?25l-- INSERT --[?12l[?25h[?25l
run1 run2~                                                                               [?12l[?25h

[?25l:[?12l[?25hse cpt=w
[?25l[?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match
STARTTEST

run1 run2[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=u nohid
[?25l[?12l[?25h[?25l



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 3-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only matchENDTEST

unless[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...match 1 of 3.INSERTm --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 3Definition completion (^D^N^P)^ U-- Searching...Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...
Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) Word from other lineINSERT --f-- Keyword completion (^N^P) -- Searching...
Scanning tags.pincluded file: Xtestfile
-- Keyword completion (^N^P) The only matchtest11file      36Gepeto/Tag/ asd

asd[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h

ru[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New] 15L, 175C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test32 = test61; then \
#	  if diff test.out test32.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test32.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test58.failed test.ok test.out X* viminfo
cp test58.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2591 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :STARTTESTso small.vim

:"Don't want to depend on the locale from the environment

:set enc=latin1e!"Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spelliasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[?12l[?25h[?25l:[?12l[?25hset maxmem=512 spell
[?25lvim



STARTTESTlatin1maxmem

iasdaff/.dic

:func TestOne(aff, dicspellfilea:affa:dicspldic and .aff

  exea:aff . 'affstarta:aff . 'affend/-1w! Xtest.aff

  exea:dic . 'dicstarta:dic . 'dicend/-1w! Xtest.dic

  mkspell! Xtest Xtest[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25lChange "asdTests" to:


 1 "Acid tests"


 2 "Attests"


 3 "Ass Tests"


 4 "As Tests"


 5 "Sad Tests"


 6 "Ads Tests"


 7 "As tests"


 8 "As detests"


 9 "Add Tests"


10 "Aid Tests"


11 "Ash Tests"


12 "Ad Tests"


13 "And Tests"


14 "Ask Tests"


15 "Asp Tests"


16 "USD Tests"


17 "Astutest"


18 "Autotests"


19 "Sadists"


20 "Asst Tests"


21 "Assad Tests"


22 "SSD Tests"


Type number and <Enter> or click with mouse (empty cancels): [?12l[?25h[?25l:[?12l[?25h"
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.latin1.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 46 lines, 754 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']th['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 151 lines, 3412 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.latin1.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.latin1.add
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment[?12l[?25h[?25l/[?12l[?25h^test2:
[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 44 lines, 447 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 98 nodes; 88 (89%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 505 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"








2affend



2good: puts


badendaddstar

/regions=usgbnz

elequ/2/3

addendtest2:test elekwint test elekwent asdf[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 29 nodes; 23 (79%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 115 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 105 nodes; 86 (81%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 87 nodes; 68 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 22 lines, 223 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend




bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



Test NOSLITSUGS



8affstart

SET ISO8859-1



NOSPLITSUGS

8affend



8dicstart[?12l[?25h[?25l:[?12l[?25h" NOSLITSUGS
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" 3 lines, 27 characters written


"Xtest.dic" 4 lines, 20 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 8 of 26 nodes; 18 (69%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 90 bytes


4 lines yanked


4 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" Numbers
[?25lNOSPLITSUGS

8affend



8dicstart

1234

foo

bar

faabar

8dicend



8good: foo bar faabar

bad: foobar barfooTest Numbers9affstart9affend9dicstart

1234

foo[?12l[?25h[?25l:[?12l[?25hcall TestOne('9', '9')
[?25lError detected while processing function TestOne:


line    5:


E493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff


"Xtest.dic" 3 lines, 13 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 2 of 15 nodes; 13 (86%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 65 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1# ile: Xtest.latin1.spl

Comment


input[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1

# file: Xtest.latin1.spl

Comment

deol


input[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 289 lines, 3844 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test58 = test61; then \
#	  if diff test.out test58.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test58.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test59.failed test.ok test.out X* viminfo
cp test59.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 106 lines, 2520 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment.  The .aff and .dic
[?25l[?12l[?25h[?25l:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :STARTTESTso small.vimso mbyte.vimDon't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.enc=latin1e!

:set enc=utf-8:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25hset enc=utf-8
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset fenc=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.utf-8.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 48 lines, 768 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']the['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 153 lines, 3426 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.utf-8.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"[?12l[?25h[?25l/[?12l[?25h^test2:
[?25ltomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !![?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 46 lines, 461 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 102 nodes; 92 (90%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 525 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25laddstart

/regions=usgbnz

elequint/2

elekwint/3

addend



1good: wrong OK puts. Test the end

bad:  inputs comment ok Ok. test déôl end the

badend



2good: puts

bad: inputs comment ok Ok end the. test déôl

badendTest rules for compounding.3affstart

SET ISO8859-1COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 31 nodes; 25 (80%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 125 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 107 nodes; 88 (82%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 26 lines, 338 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 91 nodes; 72 (79%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaébar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaé bar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 270 lines, 3685 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test59 = test61; then \
#	  if diff test.out test59.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test59.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test72.failed test.ok test.out X* viminfo
cp test72.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test72.in" 146 lines, 2110 charactersTests for undo file.

Since this script is sourced we need to explicitly break changes up in

undo-able pieces.  Do that by setting 'undolevels'.



STARTTEST

:so small.vim

:"

:" Test 'undofile': first a simple one-line change.

:set nocompatible viminfo+=nviminfo visualbell

:set ul=100 undofile nomore

:e! Xtestfile

ggdGithis is one line^[:set ul=100

:s/one/ONE/

:set ul=100

:w

:bwipe!

:e Xtestfile

u:.w! test.out

:"

:" Test 'undofile', change in original file fails check

:set noundofile

:e! Xtestfile

:s/line/Line/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for undo file.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 135 lines, 1913 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar

:.w >>test.out

u:.w >>test.out

u:.w >>test.out

u:.w >>test.out

:"

:" Rename the undo file so that it gets cleaned up.

:if has("vms")

: call rename("_un_Xtestfile", "Xtestundo")

:else

: call rename(".Xtestfile.un~", "Xtestundo")

:endif

:qa!

ENDTEST



1111 -----

2222 -----



123456789[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset ul=100 undofile nomore
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --this is one line[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hs/one/ONE/
[?25lONE
[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 change; before #2  0 seconds agoone
[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 1L, 17CONE
[?12l[?25h[?25l:[?12l[?25hs/line/Line/
[?25lL
[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE Line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" TODO: this beeps
[?25l[?12l[?25h[?5h[?5l[?25lAlready at oldest change[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 17C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --one

twothreefourfivesixseveneightnineten[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17Conetwonineten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 more line; before #7  1 seconds agoeight[?12l[?25h[?25l1 more line; before #6  1 seconds agoseven[?12l[?25h[?25l1 more line; before #5  1 seconds agosix[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 7L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile ul=0
[?25l[?12l[?25h[?25l-- INSERT --six
u[?12l[?25hs[?25l[?12l[?25h[?25l1 line less; before #8  0 seconds ago

~                                                                               [?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cnine

ten~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile ul=100
[?25l[?12l[?25h[?25l1 more line; before #7  1 seconds agoeight[?12l[?25h[?25l1 more line; before #6  1 seconds agoseven[?12l[?25h[?25l1 more line; before #5  1 seconds agosix[?12l[?25h[?25l1 more line; before #4  1 seconds agofive[?12l[?25h[?25l1 more line; before #3  1 seconds agofour[?12l[?25h[?25l1 more line; before #2  1 seconds agothree[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 10L, 49C appended[?12l[?25h[?25l:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cninten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile cm=zip
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l-- INSERT --monday

tuesdaywednesdaythursdayfriday[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25lmonday

friday

~                                                                               [?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [crypted] 2L, 14Cmonday

friday

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [crypted] 2L, 14C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l1 more line; before #11  0 seconds agothursday[?12l[?25h[?25l1 more line; before #10  0 seconds agowednesday[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 4L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][crypted] 1L, 14C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25ljan

feb

bar apr[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [blowfish] 4L, 20Cjan

feb

bar apr

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #15  0 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #14  0 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #13  0 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][blowfish] 1L, 20C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lEnter encryption key: [?12l[?25h*******


[?25lEnter same key again: [?12l[?25h*******


[?25ljan

feb[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Enter encryption key: [?12l[?25h*******


[?25l"Xtestfile" [blowfish2] 4L, 20Cjan

feb

bar ap

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish2] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #19  0 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #18  0 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #17  0 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: call rename("_un_Xtestfile", "Xtestundo")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: call rename(".Xtestfile.un~", "Xtestundo")


[?25l:  [?12l[?25h:endif
[?25ljan

feb

mar

apr[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test72 = test61; then \
#	  if diff test.out test72.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test72.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test78.failed test.ok test.out X* viminfo
cp test78.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test78.in" 46 lines, 1464 charactersInserts 10000 lines with text to fill the swap file with two levels of pointer

blocks.  Then recovers from the swap file and checks all text is restored.



We need about 10000 lines of 100 characters to get two levels of pointer

blocks.



STARTTEST

:so small.vim

:set nocp fileformat=unix undolevels=-1 viminfo+=nviminfo

:e! Xtest

ggdG

:let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01223456789abcdefghijklmnoparstuvwxyz0123456789"

:let i = 1

:let linecount = 10000

:while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile

:preserve

:" get the name of the swap file

:redir => swapname

:swapname

:redir END

:let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][::cntrl:]]*$', '\1', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 10000 lines with text to fill the swap file with two levels of pointer[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1208 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set nobin

:new

:only!

:bwipe! Xtest

:call rename('Xswap', swapname)

:recover Xtest

:call delete(swapname)

:new

:call append(0, 'recovery start')

:wincmd w

:let linedollar = line('$')

:if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected "" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linnecount = linedollar | endif

:let i = 1

:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile

:q!

:call append(line('$'), 'recovery end')

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01


23456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet linecount = 10000
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899991    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899992    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899993    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899994    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899995    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899996    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899997    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899998    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789[?12l[?25h[?25l:[?12l[?25hpreserve
[?25lFile preserved[?12l[?25h[?25l:[?12l[?25h" get the name of the swap file
[?25l[?12l[?25h[?25l:[?12l[?25hredir => swapname
[?25l[?12l[?25h[?25l:[?12l[?25hswapname
[?25l.Xtest.swp[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][


:cntrl:]]*$', '\1', '')
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899a[?12l[?25h[?25l

:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hexe 'sp ' . swapname

999899a

999999a

1000099a~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw! Xswap
[?25l"Xswap" [New][noeol] 611L, 1224704C written[?12l[?25h[?25l:[?12l[?25hecho swapname
[?25l.Xtest.sw[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25hnew

10000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789



~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe! Xtest
[?25l[?12l[?25h[?25l:[?12l[?25hcall rename('Xswap', swapname)
[?25l[?12l[?25h[?25l:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"


Original file "/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtest"


"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtest" [New File]Recovery completed. You should check if everything is OK.


(You might want to write out this file under another name


and run diff with the original file to check for changes)


You may want to delete the .swp file now.






Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall delete(swapname)
[?25l1abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

2abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

3abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

4abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

5       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567896       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567897       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567898       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678911      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678912      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@                                                                               [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       199a

299a

399a

4 99a

5 99a

Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hcall append(0, 'recovery start')
[?25lrecovery start[+][?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name] [+]                                                                    Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hlet linedollar = line('$')
[?25l[?12l[?25h[?25l:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected 


" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li


necount = linedollar | endif
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen


d(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hq!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'recovery end')
[?25lrecovery end[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New] 3L, 29C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test78 = test61; then \
#	  if diff test.out test78.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test78.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test83.failed test.ok test.out X* viminfo
cp test83.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test83.in" 76 lines, 1273 charactersTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for tag search with !_TAG_FILE_ENCODING.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 58 lines, 1021 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h[?25l:[?12l[?25hif !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [New File] 2 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [New File] 2 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25lTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hcall setline('.', 'Results of test83')
[?25lResults of test83
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case1:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l[No Name]                                                                       Results of test83test83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=Xtags1
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" 2 lines, 35 characterstext for tags1

abcdefghijklmnopqrsXtags1.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case2:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       Results of test83case1: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags2
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characterstext for tags2

ABCXtags2.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case3:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               [No Name]                                                                       case1: okcase2: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags3
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characterstext for tags3

ABCXtags3.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

case3: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 4 lines, 48 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test83 = test61; then \
#	  if diff test.out test83.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test83.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test89.failed test.ok test.out X* viminfo
cp test89.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test89.in" 71 lines, 1514 characters- Some tests for setting 'number' and 'relativenumber'

  This is not all that useful now that the options are no longer reset when

  setting the other.

- Some tests for findfile() function



STARTTEST

:so small.vim

:set hidden nocp nu rnu viminfo+=nviminfo

:redir @a | set nu? rnu? | redir END

:e! xx

:redir @b | set nu? rnu? | redir END

:e! #

:$put ='results:'

:$put a

:$put b

:"

:set nonu nornu

:setglobal nu

:setlocal rnu

:redir @c | setglobal nu? | redir END

:set nonu nornu

:setglobal rnu

:setlocal nu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l- Some tests for setting 'number' and 'relativenumber'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 63 lines, 1305 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =':set MUST reset the other global value'

:$put g

:$put h

:"

:let cwd=getcwd()

:cd ..

:" Tests may be run from a shadow directory, so an extra cd needs to be done to

:" get above src/

:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

:$put =''

:$put ='Testing findfile'

:$put =''

:set ssl

:$put =findfile('test19.in','src/test*')

:exe "cd" cwd

:cd ..

:$put =findfile('test19.in','test*')

:$put =findfile('test19.in','testdir')

:exe "cd" cwd

:/^results/,$w! test.out

:q!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l 21 :$put g 20 :$put h

 19 :" 18 :let cwd=getcwd()

 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/

 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 13 :$put =''

 12 :$put ='Testing findfile'

 11 :$put =''

 10 :set ssl

  9 :$put =findfile('test19.in','src/test*')

  8 :exe "cd" cwd

  7 :cd ..

  6 :$put =findfile('test19.in','test*')

  5 :$put =findfile('test19.in','testdir')

  4 :exe "cd" cwd

  3 :/^results/,$w! test.out

  2 :q!

  1 ENDTEST

71  [?12l[?25h[?25l:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! xx
[?25l"xx" [New File]1   

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1 21 :$put g

 20 :$put h

 19 :" 18 :let cwd=getcwd() 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/ 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif 13 :$put ='' 12 :$put ='Testing findfile' 11 :$put ='' 10 :set ssl  9 :$put =findfile('test19.in','src/test*')  8 :exe "cd" cwd  7 :cd ..  6 :$put =findfile('test19.in','test*')  5 :$put =findfile('test19.in','testdir')  4 :exe "cd" cwd  3 :/^results/,$w! test.out  2 :q!  1 ENDTEST71  "test89.in" line 71 of 71 --100%-- col 1[?12l[?25h[?25l:[?12l[?25h$put ='results:'
[?25l

1

 20

 19

 18

 17ee 

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

72  results:[?12l[?25h[?25l

:[?12l[?25h$put a
[?25l3 more lines21

 20ee 

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

75    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h$put b
[?25l3 more lines22

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

78    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal rnu
[?25l 22 :" get above src/

 21 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 20 :$put =''

 19 :$put ='Testing findfile'

 18 :$put =''

 17 :set ssl

 16 :$put =findfile('test19.in','src/test*')

 15 :exe "cd" cwd

 14 :cd ..

 13 :$put =findfile('test19.in','test*')

 12 :$put =findfile('test19.in','testdir')

 11 :exe "cd" cwd

 10 :/^results/,$w! test.out

  9 :q!

  8 ENDTEST

  7 

  6 results:

  5 

  4   number

  3   relativenumber

  2 

  1   number

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nu
[?25l 56 :" get above src/

 57 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 58 :$put =''

 59 :$put ='Testing findfile'

 60 :$put =''

 61 :set ssl

 62 :$put =findfile('test19.in','src/test*')

 63 :exe "cd" cwd

 64 :cd ..

 65 :$put =findfile('test19.in','test*')

 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l

 79 :setlocal must NOT reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put c
[?25l 80 

 81   number[?12l[?25h[?25l

:[?12l[?25h$put d
[?25l 82 

 83   relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l

:setglobal MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put e
[?25lnumber[?12l[?25h[?25l

:[?12l[?25h$put f
[?25lrelativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber

 79 :setlocal must NOT reset the other global value

 80 

 81   number

 82 

 83   relativenumber

 84 :setglobal MUST reset the other global value

 85 

 86   number

 87 

 88   relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l22

 21

 20

 1

 18

 17

 16

 15

 1

 13

 12

 11

 10

  

  8

  7

  6

  5

  

  3

  2

  1

88    [?12l[?25h[?25l:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber:setglobal MUST reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l 22 :$put =findfile('test19.in','testdir')

 21 :exe "cd" cwd

 20 :/^results/,$w! test.out

 19 :q!

 18 ENDTEST

 17 

 16 results:

 15 

 14   number

 13   relativenumber

 12 

 11   number

 10   relativenumber

  9 :setlocal must NOT reset the other global value

  8 

  7   number

  6 

  5   relativenumber

  4 :setglobal MUST reset the other global value

  3 

  2   number

  1 

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hset nu
[?25l88    [?12l[?25h[?25l:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':set MUST reset the other global value'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

89  :set MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put g
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

91    number[?12l[?25h[?25l

:[?12l[?25h$put h
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

93    relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3[?12l[?25h[?25l:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[?12l[?25h[?25l:[?12l[?25h" get above src/
[?25l[?12l[?25h[?25l:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

94  [?12l[?25h[?25l

:[?12l[?25h$put ='Testing findfile'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

95  Testing findfile[?12l[?25h[?25l

:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

96  [?12l[?25h[?25l

:[?12l[?25hset ssl
[?25l[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

97  src/testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

98  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

99  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[?12l[?25h[?25l:[?12l[?25h/^results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 28L, 356C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test89 = test61; then \
#	  if diff test.out test89.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test89.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_arglist.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_arglist.vim" 318 lines, 6653 characters


Executing Test_argadd()
"a" [New File]bababababd


Executing Test_argc()
"a" [New File]

Executing Test_argdelete()
"a" [New File]a" [New File]
"bb


Executing Test_argedit()
"a" [New File]ba


"c" [New File]
"x


"y" [New File]


Executing Test_argidx()
"a" [New File]cabc


Executing Test_arglist_autocmd()
"Xxx1" 1L, 15C
"Xxx21L, 15C1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx21 of 2)

3 buffers wiped out


Executing Test_arglistid()
"a" [New File]

Executing Test_argpos()
"a" [New File]d


"c" [New File]
"ba


"d" [New File]
"a


Executing Test_argument()
"d" [New File]cbafile] --No lines in buffer-- (1 of 4)
"c3


a b [c] d
"c" [New File]


"x" [New File]
"z


Executing Test_argv()
"a" [New file] --No lines in buffer--


Executing Test_zero_argadd()
"b" [New file] --No lines in buffer-- (2 of 4)
"aFbedited" [New File]
"a" [New File]test_arglist.res" [New File][New] 0L, 0C written


Executed 11 tests
"messages" [New File][New] 15L, 326C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_assert.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_assert.vim" 127 lines, 2933 characters


Executing Test_assert_equal()


Executing Test_assert_exception()


Executing Test_assert_fail_fails()


Executing Test_assert_false()


Executing Test_assert_inrange()


Executing Test_assert_notequal()


Executing Test_assert_true()


Executing Test_compare_fail()


Executing Test_match()


Executing Test_notmatch()


Executing Test_user_is_happy()




oooo$$$$$$$$$$$$oooo


oo$$$$$$$$$$$$$$$$$$$$$$$$o


oo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$oo$   $$ o$


     o $ ooo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o$$ $$ $$o$


  oo $ $ "$      o$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$o$$$o$$o$


  "$$$$$$o$     o$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$o    $$$$$$$$


    $$$$$$$    $$$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$$$$$$$$$$$$$$


    $$$$$$$$$$$$$$$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$$$$$$  """$$$


     "$$$""""$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$


      $$$   o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$o


     o$$"   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o


     $$$    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" "$$$$$$ooooo$$$$o


    o$$$oooo$$$$$  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$   o$$$$$$$$$$$$$$$$$


    $$$$$$$$"$$$$   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     $$$$""""""""


   """"$$$$    "$$$$$$$$$$$$$$$$$$$$$$$$$$$$"      o$$$


"$$$o     """$$$$$$$$$$$$$$$$$$"$$"$$$


$$$o"$$""$$$$$$""""o$$$


$$$$oo$$$"


"$$$$o      o$$$$$$o"$$$$oo$$$$


"$$$$$oo     ""$$$$o$$$$$o   o$$$$""


""$$$$$oooo  "$$$o$$$$$$$$$"""


""$$$$$$$oo $$$$$$$$$$


""""$$$$$$$$$$$


$$$$$$$$$$$$


$$$$$$$$$$"


"$$$""""


[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][New] 0L, 0C written


Executed 12 tests
"messages" 15L, 326C30L, 734C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_autochdir.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autochdir.vim" 17 lines, 332 characters


Executing Test_set_filename()
"samples/Xtest" [New] 0L, 0C written
"test_autochdir.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"30L, 734C34L, 806C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_backspace_opt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_backspace_opt.vim" 59 lines, 1673 characters


Executing Test_backspace_option()
"test_backspace_opt.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"34L, 806C38L, 886C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_breakindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_breakindent.vim" 241 lines, 7365 characters


Executing Test_breakindent01()|

    abcdefghijklmnop|

    qrstuvwxyzABCDEF|

    GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent02()|

    abcdefghijklmnop|

    >>qrstuvwxyzABCD|

    >>EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent03()|

    abcdefghijklmnop|

++  qrstuvwxyzABCDEF|

++  GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent04()|

    abcdefghijklmnop|

  qrstuvwxyzABCDEFGH|

  IJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent05()|

    abcdefghijklmnop|qrstuvwxyzABCD|EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent06()|

    abcdefghijklmnop|

   qrstuvwxyzABCDEFG|

   HIJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07()  1 |

  2     abcdefghijkl|

?mnopqrstuvw|

?xyzABCDEFGH|

?IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07a()  1 |

  2     abcdefghijkl|

    ?    mnopqrstuvw|

    ?    xyzABCDEFGH|

    ?    IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08()  1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08a()  1 $|

  2 ^Iabcdefghijklmn|

    #  opqrstuvwxyzA|

    #  BCDEFGHIJKLMN|

    #  OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent09()  1 $|

  2 ^Iabcdefghijklmn|

       #opqrstuvwxyz|

       #ABCDEFGHIJKL|

       #MNOP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent10()  1 |

  2 abcdefgh|

~ijklmnop|

~qrstuvwx|

~yzABCDEF|

~GHIJKLMN|

~OP      ||||~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent11()


Executing Test_breakindent12() 1 |

 2 >--->--->--->--->|

   ---{      ||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        {~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent13()


Executing Test_breakindent14()|

e|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  e~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent15()|1234567890|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  1234567890~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent16()1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            "test_breakindent.res" [New File][New] 0L, 0C written


Executed 18 tests
"messages" 38L, 886C59L, 1492C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_bufwintabinfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_bufwintabinfo.vim" 116 lines, 3459 characters


Executing Test_get_buf_options()


Executing Test_get_win_options()


Executing Test_getbufwintabinfo()
"Xtestfile1" [New File]212


Already only one window
"test_bufwintabinfo.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"59L, 1492C65L, 1639C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cdo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cdo.vim" 205 lines, 5116 characters


Executing Test_cdo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2


Executing Test_ldo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2
"test_cdo.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"65L, 1639C70L, 1718C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"70L, 1718C73L, 1758C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_charsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_charsearch.vim" 62 lines, 1475 characters


Executing Test_charsearch()


Executing Test_search_cmds()
"test_charsearch.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"73L, 1758C78L, 1859C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cmdline.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cmdline.vim" 243 lines, 7346 characters


Executing Test_complete_list():e test


test1.intest85.out


test1.oktest86.in


test1.outtest86.ok


test103.intest86.out


test103.oktest87.in


test103.outtest87.ok


test104.intest87.out


test104.oktest88.in


test104.outtest88.ok


test107.intest88.out


test107.oktest89.in


test107.outtest89.ok


test108.intest89.out


test108.oktest9.in


test108.outtest9.ok


test11.intest9.out


test11.oktest90.in


test11.outtest90.ok


test12.intest90.out


test12.oktest91.in


test12.outtest91.ok


test14.intest91.out


test14.oktest94.in


test14.outtest94.ok


test15.intest94.out


test15.oktest95.in


test15.outtest95.ok


test17.intest95.out


test17.oktest97.in


test17.outtest97.ok


test17a.intest97.out


test19.intest98.in


test19.oktest98.ok


test19.outtest98.out


test20.intest99.in


test20.oktest99.ok


test20.outtest99.out


test22.intest_alot.vim


test22.oktest_alot_latin.vim


test22.outtest_alot_utf8.vim


test23.intest_arglist.res


test23.oktest_arglist.vim


test23.outtest_assert.res


test24.intest_assert.vim


test24.oktest_assign.vim


test24.outtest_autochdir.res


test25.intest_autochdir.vim


test25.oktest_autocmd.vim


test25.outtest_autocmd_option.in


test26.intest_autocmd_option.ok


test26.oktest_autocmd_option.out


test26.outtest_autoformat_join.in


test28.intest_autoformat_join.ok


test28.oktest_autoformat_join.out


test28.outtest_backspace_opt.res


test29.intest_backspace_opt.vim


test29.oktest_breakindent.res


test29.outtest_breakindent.vim


test3.intest_bufwintabinfo.res


test3.oktest_bufwintabinfo.vim


test3.outtest_cdo.res


test30.intest_cdo.vim


test30.oktest_changelist.in


test30.outtest_changelist.ok


test31.intest_changelist.out


test31.oktest_channel.py


test31.outtest_channel.res


test32.intest_channel.vim


test32.oktest_channel_pipe.py


test32.outtest_charsearch.res


test33.intest_charsearch.vim


test33.oktest_close_count.in


test33.outtest_close_count.ok


test34.intest_close_count.out


test34.oktest_cmdline.vim


test34.outtest_command_count.vim


test36.intest_comparators.in


test36.oktest_comparators.ok


test36.outtest_comparators.out


test37.intest_crypt.vim


test37.oktest_cscope.vim


test37.outtest_cursor_func.vim


test38.intest_delete.vim


test38.oktest_diffmode.vim


test38.outtest_digraph.vim


test39.intest_display.vim


test39.oktest_erasebackword.in


test39.outtest_erasebackword.ok


test4.intest_erasebackword.out


test4.oktest_eval.in


test4.outtest_eval.ok


test40.intest_eval.out


test40.oktest_eval_func.vim


test40.outtest_ex_undo.vim


test41.intest_execute_func.vim


test41.oktest_expand.vim


test41.outtest_expand_dllpath.vim


test42.intest_expr.vim


test42.oktest_expr_utf8.vim


test42.outtest_farsi.vim


test43.intest_feedkeys.vim


test43.oktest_file_perm.vim


test43.outtest_fileformat.vim


test44.intest_filter_cmd.vim


test44.oktest_filter_map.vim


test44.outtest_fixeol.in


test45.intest_fixeol.ok


test45.oktest_fixeol.out


test45.outtest_float_func.vim


test48.intest_fnameescape.vim


test48.oktest_fnamemodify.vim


test48.outtest_fold.vim


test49.intest_functions.vim


test49.oktest_getcwd.in


test49.outtest_getcwd.ok


test49.vimtest_getcwd.out


test5.intest_gf.vim


test5.oktest_glob2regpat.vim


test5.outtest_gn.vim


test50.intest_goto.vim


test50.oktest_gui.vim


test51.intest_hardcopy.vim


test51.oktest_help_tagjump.vim


test51.outtest_hide.vim


test52.intest_history.vim


test52.oktest_hlsearch.vim


test52.outtest_increment.vim


test53.intest_increment_dbcs.vim


test53.oktest_insertcount.in


test53.outtest_insertcount.ok


test54.intest_insertcount.out


test54.oktest_job_fails.vim


test54.outtest_join.vim


test55.intest_json.vim


test55.oktest_jumps.vim


test55.outtest_lambda.vim


test56.intest_langmap.vim


test56.oktest_largefile.vim


test56.outtest_lispwords.vim


test57.intest_listchars.in


test57.oktest_listchars.ok


test57.outtest_listchars.out


test58.intest_listlbr.in


test58.oktest_listlbr.ok


test58.outtest_listlbr.out


test59.intest_listlbr_utf8.in


test59.oktest_listlbr_utf8.ok


test59.outtest_listlbr_utf8.out


test60.intest_man.vim


test60.oktest_mapping.vim


test60.outtest_marks.vim


test60.vimtest_match.vim


test64.intest_matchadd_conceal.vim


test64.oktest_matchadd_conceal_utf8.vim


test64.outtest_menu.vim


test65.intest_messages.vim


test65.oktest_mksession.vim


test65.outtest_mksession_utf8.vim


test66.intest_nested_function.vim


test66.oktest_netbeans.py


test66.outtest_netbeans.vim


test67.intest_normal.vim


test67.oktest_options.vim


test67.outtest_packadd.vim


test68.intest_partial.vim


test68.oktest_perl.vim


test68.outtest_popup.vim


test69.intest_profile.vim


test69.oktest_quickfix.vim


test69.outtest_regexp_latin.vim


test7.intest_regexp_utf8.vim


test7.oktest_reltime.vim


test7.outtest_ruby.vim


test70.intest_search.vim


test70.oktest_search_mbyte.in


test70.outtest_search_mbyte.ok


test72.intest_search_mbyte.out


test72.oktest_searchpos.vim


test72.outtest_set.vim


test73.intest_signs.vim


test73.oktest_smartindent.vim


test73.outtest_sort.vim


test75.intest_source_utf8.vim


test75.oktest_startup.vim


test75.outtest_startup_utf8.vim


test77.intest_stat.vim


test77.oktest_statusline.vim


test77.outtest_substitute.vim


test77a.intest_syn_attr.vim


test77a.oktest_syntax.vim


test78.intest_system.vim


test78.oktest_tabline.vim


test78.outtest_tabpage.vim


test79.intest_tagcase.vim


test79.oktest_tagjump.vim


test79.outtest_taglist.vim


test8.intest_textobjects.vim


test8.oktest_timers.vim


test8.outtest_true_false.vim


test80.intest_undo.vim


test80.oktest_unlet.vim


test80.outtest_usercommands.vim


test82.intest_utf8.in


test82.oktest_utf8.ok


test82.outtest_utf8.out


test83-tags2test_viminfo.vim


test83-tags3test_viml.vim


test83.intest_visual.vim


test83.oktest_window_cmd.vim


test83.outtest_window_id.vim


test84.intest_wordcount.in


test84.oktest_wordcount.ok


test84.outtest_wordcount.out


test85.intest_writefile.vim


test85.ok


:e test
"test" [New File]


Executing Test_complete_tab():e Xtest...file
"Xtestfile" 1L, 9C


Executing Test_complete_wildmenu():e Xtest...file1...


Xtestfile1  Xtestfile2  
Xtestfile1                                                         :e Xtest...Xtestfile1
Xtestfile1 file1...Xtestfile1Xtestfile2 2:te Xtestfile2"Xtestfile2" 1L, 10C

Executing Test_expand_star_star():find **/fileXname...a/b/fileXname
"a/b/fileXname" 1L, 9C
"Xtestfile2" [New File]


Executing Test_getcompletion():cscope find 


a  c  d  e  f  g  i  s  t


:cscope find :sign list 


Testing


:sign list Executing Test_illegal_address()


Executing Test_paste_in_cmdline():abc "def ghi
:"abc def ghi
:"
:aaa "asdf bbb
:"aaa asdf bbb
:"
:aaa "/tmp/some bbb
:"aaa /tmp/some bbb
:"
:aaa veryl"ongword bbb
:"aaa verylongword bbb
:"
:aaa "a;b-c*d bbb
:"aaa a;b-c*d bbb
:"
:=toupper(getline(1))
:ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D 
:"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D
:"


Executing Test_remove_char_in_cmdline():abc defef
:"abc ef
:"
:abc defdef
:"abcdef
:"
:abc def ghighi
:"abc ghi
:"
:abc def
:def"def
"test_cmdline.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"78L, 1859C89L, 2168C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_command_count.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_command_count.vim" 191 lines, 4742 characters


Executing Test_command_count_0()
"DoesNotExistEver" [New File]

Executing Test_command_count_1()


"a" [New File]


loading buffers


"b" [New File]


loading buffers


"c" [New File]


loading buffers


"d" [New File]


loading buffers


"e" [New File]


loading buffers
"c" [New File]beb


Executing Test_command_count_2()


"d" [New File]
"a


Already only one window
"x" [New File]

Already only one window


Executing Test_command_count_3()
"aaa" [New File]bbb
"ccc
"test_command_count.vim" 191L, 4742C


2 buffers deleted


Executing Test_command_count_4()
"cc" [New File]

"dd" [New File]


"ee" [New File]
"aa


"bb" [New File]


"cc" [New File]


"dd" [New File]


"ee" [New File]
"cc


"ee" [New File]


"ff" [New File]
"test_command_count.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"89L, 2168C97L, 2380C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_crypt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_crypt.vim" 83 lines, 2590 characters


Executing Test_crypt_blowfish()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][blowfish] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 3L, 98C


Executing Test_crypt_blowfish2()
"Xtest.txt" [New File]:X
Enter encryption key: ******
Enter same key again: ******


"Xtest.txt" [New][blowfish2] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [blowfish2] 3L, 98C


Executing Test_crypt_zip()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][crypted] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [crypted] 3L, 98C


Executing Test_head_only_2()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_head_only_3()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][converted][New][noeol] 1L, 80C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 2L, 27C


Executing Test_uncrypt_blowfish2()
"Xtest.txt" [New File][converted][New][noeol] 1L, 103C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: *******


"Xtest.txt" [blowfish2] 2L, 44C


Executing Test_uncrypt_zip()
"Xtest.txt" [New File][converted][New][noeol] 1L, 45C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [converted][crypted] 2L, 26C"test_crypt.res" [New File][converted][New] 0L, 0C written

Executed 8 tests
"messages"97L, 2380C108L, 2667C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cscope.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"108L, 2667C111L, 2706C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_diffmode.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_diffmode.vim" 237 lines, 4954 characters


Executing Test_diff_fold_sync()


Executing Test_diffget_diffput()


Executing Test_diffoff()  -------------------------------------|

  -------------------------------------|

  Two|

  Three|||||||||||||||||||  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    

[No Name] [+]                             One                                                                             Two  Three                                    ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     [No Name] [+]                           Two                                    

Three                                  

~                                      

~                                      

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   OneTwoThree~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   



Executing Test_filler_lines()


7 more lines


10 more lines


Executing Test_setting_cursor()
"Xtest1" [New File]

90 more lines
"Xtest1" [New] 91L, 262C written2" [New File]

100 more lines
"Xtest2"[New] 101L, 293C written101L, 293C191L, 262C


Executing Test_vert_split()
"Xtest" [New] 5L, 25C written"Xtest2" [New] 6L, 29C written


"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3"Xtest" 5L, 25C2" 6L, 29C
"test_diffmode.vim" 237L, 4954Cres" [New File][New] 0L, 0C written


Executed 6 tests
"messages"111L, 2706C120L, 2928C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_digraph.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_digraph.vim" 461 lines, 14928 characters


Executing Test_digraph_cmndline()
Executing T


Executing Test_digraphs()

Executing Test_digraphs_option()

Executing Test_digraphs_output()


Executing Test_loadkeymap()"test_digraph.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"120L, 2928C128L, 3123C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_display.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049lExecuting Test_display_foldcolumn()e more noise blah blah<82|

> more stuff here||||||||||~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                  e more noise blah blah<|

  82> more stuff here    ||||||||||  

  

  

  

  

  

  

  

  ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                "test_display.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"128L, 3123C132L, 3199C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_farsi.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_farsi.vim" 84 lines, 2881 characters




Executed 2 tests
"messages"[converted] 132L, 3199C[converted] 137L, 3295C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fnameescape.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fnameescape.vim" 21 lines, 467 characters


Executing Test_fnameescape()
"Xspa ce"[New] 21L, 467C written
"Xemark![New] 21L, 467C written
"test_fnameescape.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"137L, 3295C141L, 3368C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fold.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fold.vim" 97 lines, 3328 characters


Executing Test_address_fold()


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


8 lines yanked


10 lines yanked


4 lines yanked


Executing Test_indent_fold()


Executing Test_indent_fold2()
"test_fold.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"141L, 3368C147L, 3495C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gf.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gf.vim" 33 lines, 1138 characters


Executing Test_gf_url()
"test_gf.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"147L, 3495C151L, 3554C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gn.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gn.vim" 93 lines, 2821 characters


Executing Test_gn_command()/[u]niquepattern/s
/a:0\@!\zs\d\+
"test_gn.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"151L, 3554C155L, 3617C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gui.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"155L, 3617C158L, 3653C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hardcopy.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hardcopy.vim" 62 lines, 2001 characters


Executing Test_printheader_parsing()


Executing Test_printmbfont_parsing()


Executing Test_printoptions_parsing()


Executing Test_with_syntax()Printing page 1 (0%)Printed: test_hardcopy.vim
"test_hardcopy.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"158L, 3653C165L, 3836C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hide.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hide.vim" 97 lines, 2443 characters


Executing Test_hide()
"Xf1" [New File]

"Xf1" [New File]
"Xf212121


one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"165L, 3836C169L, 3895C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_history.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_history.vim" 106 lines, 3567 characters


Executing Test_History()


Executing Test_Search_history_window()/a
/b
/a

b

a

b

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Tests for the history functions



test_history.vim                                                                /a

/b

/

/

/

/

/~                                                                              ~                                                                              ~                                                                              ~                                                                              [Command Line]                                                                  [?12l[?25h[?25l/a
"test_history.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"169L, 3895C174L, 4000C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hlsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hlsearch.vim" 34 lines, 1013 characters


Executing Test_hlsearch()/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

~                                                                               [No Name] [+]                                                                   " Test for v:hlsearch



function! Test_hlsearch()

  new

  call setline(1, repeat(['aaa'], 10))

  set hlsearch nolazyredraw

  let r=[]

  " redraw is needed to make hlsearch highlight the matches

  exe "normal! /aaa\<CR>" | redraw

  let r1 = screenattr(1, 1)

test_hlsearch.vim                                                               aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





"test_hlsearch.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"174L, 4000C178L, 4067C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment.vim" 760 lines, 19011 characters


Executing Test_normal_increment_01()
"dummy" [New File]

Executing Test_normal_increment_02()
"dummy" [New File]

Executing Test_normal_increment_03()
"dummy" [New File]

Executing Test_visual_increment_01()
"dummy" [New File]

Executing Test_visual_increment_02()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_03()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_04()
"dummy" [New File]

Executing Test_visual_increment_05()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_06()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_07()
"dummy" [New File]5 lines changed

Executing Test_visual_increment_08()
"dummy" [New File]

Executing Test_visual_increment_09()
"dummy" [New File]

Executing Test_visual_increment_10()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_11()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_12()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_13()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_14()
"dummy" [New File]

Executing Test_visual_increment_15()
"dummy" [New File]

Executing Test_visual_increment_16()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_17()
"dummy" [New File]

Executing Test_visual_increment_18()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_19()
"dummy" [New File]

Executing Test_visual_increment_20()
"dummy" [New File]

Executing Test_visual_increment_21()
"dummy" [New File]

Executing Test_visual_increment_22()
"dummy" [New File]

Executing Test_visual_increment_23()
"dummy" [New File]

Executing Test_visual_increment_24()
"dummy" [New File]

Executing Test_visual_increment_25()
"dummy" [New File]

Executing Test_visual_increment_26()
"dummy" [New File]

Executing Test_visual_increment_27()
"dummy" [New File]

Executing Test_visual_increment_28()
"dummy" [New File]

Executing Test_visual_increment_29()
"dummy" [New File]

Executing Test_visual_increment_30()
"dummy" [New File]

Executing Test_visual_increment_31()
"dummy" [New File]

Executing Test_visual_increment_32()
"dummy" [New File]_31" [New File]


Executing Test_visual_increment_33()
"dummy" [New File]

Executing Test_visual_increment_34()
"dummy" [New File]

Executing Test_visual_increment_35()
"dummy" [New File]

Executing Test_visual_increment_36()
"dummy" [New File]

Executing Test_visual_increment_37()
"dummy" [New File]

Executing Test_visual_increment_38()
"dummy" [New File]"test_increment.res" [New File][New] 0L, 0C written


Executed 41 tests
"messages" 178L, 4067C222L, 5628C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment_dbcs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment_dbcs.vim" 30 lines, 604 characters


Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 222L, 5628C[converted] 226L, 5709C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_job_fails.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_job_fails.vim" 19 lines, 598 characters


Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"226L, 5709C230L, 5784C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_json.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_json.vim" 287 lines, 10700 characters


Executing Test_js_decode()


Executing Test_js_encode()


Executing Test_json_decode()


Executing Test_json_encode()


"test_json.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"230L, 5784C237L, 5934C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_langmap.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_langmap.vim" 28 lines, 628 characters


Executing Test_langmap()
"test_langmap.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"237L, 5934C241L, 5999C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_man.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_man.vim" 60 lines, 1358 characters


Executing Test_g_ft_man_open_mode()




Cannot find a 'vim'.


Executing Test_nomodifiable()




Cannot find a 'vim'.
"test_man.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"241L, 5999C246L, 6102C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_marks.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_marks.vim" 26 lines, 775 characters


Executing Test_Incr_Marks()


Executing Test_Restore_DelMark()1 more line; before #2  0 seconds ago
1 line less; after #2  0 seconds agomore line; before #2  0 seconds ago
"test_marks.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"246L, 6102C251L, 6202C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_matchadd_conceal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049lExecuting Test_clearmatches()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_default_conceal_char()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #+This+is+a+Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_conceallevel_3()#ThisisaTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #Thisisa Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_syn_conceal()Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_repeat_conceal_with_syntax_off()TARGET_TARGETTARGET
t_ttsimple_matchadd()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_simple_matchadd_and_conceal()#XThisXisXaXTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_syn_and_match_conceal()#ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #*This*is*a*Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_using_matchaddpos()#Pis a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       "test_matchadd_conceal.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"251L, 6202C263L, 6616C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession.vim" 104 lines, 2315 characters


Executing Test_mksession()
"/tmp/vyRvZ7j/0" [New] 9L, 203C written


search hit BOTTOM, continuing at TOP
"test_mksession.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 263L, 6616C[converted] 267L, 6685C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession_utf8.vim" 104 lines, 2328 characters


Executing Test_mksession_utf8()
"/tmp/vY8iwSz/0" [New] 9L, 215C written


search hit BOTTOM, continuing at TOP
"test_mksession_utf8.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"267L, 6685C271L, 6764C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_nested_function.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_nested_function.vim" 67 lines, 1305 characters


Executing Test_max_nesting()


Executing Test_nested_argument()


[]


Executing Test_nested_functions()
"test_nested_function.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"271L, 6764C277L, 6909C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_netbeans.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"277L, 6909C280L, 6950C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_normal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_normal.vim" 2280 lines, 58740 characters


Executing Test_normal00_optrans()

Executing Test_normal01_keymodel()
4 lines yankedExecuting Test_normal02_selectmode()10 fewer lines

Executing Test_normal02_selectmode2():set im
[?12l[?25h[?25l:set noim


Executing Test_normal03_join()


Executing Test_normal04_filter():.!sed -e 's/^/|    /'
[?12l[?25h[?1l>[?1049lone
[?1049h[?1h=[?25l:.!sed -e 's/^/|    /'
[?12l[?25h[?25l:.!
:!echo one
[?1l>[?12l[?25h[?1049l

[No write since last change]

one


Press ENTER or type command to continue[?1049h[?1h=[?25l:.!!
[?12l[?25h

[?25lExecuting Test_normal05_formatexpr()


Executing Test_normal05_formatexpr_newbuf()
"another" [New File]

Executing Test_normal05_formatexpr_setopt()


Executing Test_normal06_formatprg():.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered

Executing Test_normal07_internalfmt()
7 fewer lin

Executing Test_normal08_fold()


Executing Test_normal09_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal09a_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal10_expand()


Executing Test_normal11_showcmd()

Executing Test_normal12_nv_error()


Executing Test_normal13_help()
"help.txt" [readonly] 225L, 8437C


Executing Test_normal14_page()


Executing Test_normal14_page_eol()

Executing Test_normal15_z_scroll_vert()


Executing Test_normal16_z_scroll_hor()


Executing Test_normal17_z_scroll_hor2()


Executing Test_normal18_z_fold()


Executing Test_normal19_z_spell()
Word 'goood' added to ./Xspellfile.add
search hit BOTTOM, continuing at TOPWord 'goood' added to ./Xspellfile.add2 goood' added to ./Xspellfile.add/tmp/vL2FDL5/11removed from /tmp/vL2FDL5/11goood' added to /tmp/vL2FDL5/11removed from /tmp/vL2FDL5/11added to ./Xspellfile.addremoved from ./Xspellfile.add2 goood' added to ./Xspellfile.addremoved from ./Xspellfile.addgoood' added to ./Xspellfile2.add

Executing Test_normal20_exmode()


Executing Test_normal21_nv_hat()
"Xfoobar" [New File]ile2" [New File]

Executing Test_normal22_zet()


Executing Test_normal23_K()
"version8.txt" [readonly] 14932L, 562906Cline 1 of 14932 --0%-- col 1
"man" [New File]aa%bb" [New File]
"cc|dd
:! man --pager=cat 'man'[?1l>[?12l[?25h[?1049l

[No write since last change]

stdin not open for reading!


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25lExecuting Test_normal24_rot13()


Executing Test_normal25_tag()
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"insert.txt" [readonly] 2003L, 82815Cline 49 of 2003 --2%-- col 7-49


Executing Test_normal26_put()


Executing Test_normal27_bracket()


21 substitutions on 21 lines


Executing Test_normal28_parenthesis()


Executing Test_normal29_brace()
17 fewer lines4 fewer lines3

Executing Test_normal30_changecase()


Executing Test_normal31_r_cmd()

Executing Test_normal32_g_cmd1()
/x_foo?abc

Executing Test_normal33_g_cmd2()/[1-8]
search hit BOTTOM, continuing at TOP
9 substitutions on 9 linesblock of 3 lines yanked5

Executing Test_normal34_g_cmd3()


Executing Test_normal35_g_cmd4()


Executing Test_normal36_g_cmd5()


Executing Test_normal37_g_cmd6()
"1.txt" [New File]23


Executing Test_normal38_nvhome()


Executing Test_normal39_cw()

Executing Test_normal40_ctrl_bsl()

Executing Test_normal41_insert_reg()=a
=a
=a


Executing Test_normal42_halfpage()


Executing Test_normal43_textobject1()


Executing Test_normal44_textobjects2()


Executing Test_normal45_drop()


Executing Test_normal46_ignore()


Executing Test_normal47_autocmd()


Executing Test_normal47_visual_buf_wipe()


Executing Test_normal48_wincmd()


Executing Test_normal49_counts()


Executing Test_normal50_commandline()q:  :xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :set im

:set noim

:.!sed -e 's/^/|    /'

:.!

:!echo one

:.!!

:

[Command Line]                                                                  [?12l[?25h[?25l[?12l[?25h[?25l:^M   



Executing Test_normal51_FileChangedRO()
"Xreadonly.log" 1L, 4C
Error detected while processing ...13]..Test_normal51_FileChangedRO:
line    8:W10: Warning: Changing a readonly file

Executing Test_normal52_rl()3_digraph()


Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][New] 0L, 0C written


Executed 61 tests
"messages" 280L, 6950C348L, 9314C written
[?1l>[?12l[?25h[?1049l

VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_packadd.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_packadd.vim" 238 lines, 8288 characters


Executing Test_colorscheme()


Executing Test_colorscheme_completion():colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')acolorscheme one')dcolorscheme one')dcolorscheme one')(colorscheme one')lcolorscheme one')icolorscheme one'),colorscheme one') colorscheme one')'colorscheme one')
:colorscheme ...one...three')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')acolorscheme three')dcolorscheme three')dcolorscheme three')(colorscheme three')lcolorscheme three')icolorscheme three'),colorscheme three') colorscheme three')'colorscheme three')
:colorscheme ...one...three...wo')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')acolorscheme two')dcolorscheme two')dcolorscheme two')(colorscheme two')lcolorscheme two')icolorscheme two'),colorscheme two') colorscheme two')'colorscheme two')
:colorscheme ...one...three...wo...')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')acolorscheme ')dcolorscheme ')dcolorscheme ')(colorscheme ')lcolorscheme ')icolorscheme '),colorscheme ') colorscheme ')'colorscheme ')


Executing Test_helptags()


Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C writtenalso/loaded.vim" [New File][New] 1L, 29C writtenftdetect/test.vim" [New File[New] 1L, 26C written


Executing Test_packadd_completion():packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')apackadd pluginA')dpackadd pluginA')dpackadd pluginA')(packadd pluginA')lpackadd pluginA')ipackadd pluginA'),packadd pluginA') packadd pluginA')'packadd pluginA')
:packadd ...pluginA...B')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')apackadd pluginB')dpackadd pluginB')dpackadd pluginB')(packadd pluginB')lpackadd pluginB')ipackadd pluginB'),packadd pluginB') packadd pluginB')'packadd pluginB')
:packadd ...pluginA...B...C')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')apackadd pluginC')dpackadd pluginC')dpackadd pluginC')(packadd pluginC')lpackadd pluginC')ipackadd pluginC'),packadd pluginC') packadd pluginC')'packadd pluginC')
:packadd ...pluginA...B...C...')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')apackadd ')dpackadd ')dpackadd ')(packadd ')lpackadd ')ipackadd '),packadd ') packadd ')'packadd ')


Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C written


Executing Test_packloadall()


Executing Test_runtime()
"test_packadd.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"348L, 9314C359L, 9597C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_perl.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_perl.vim" 123 lines, 3037 characters


Executing Test_SvREFCNT()
"t" [New File]

Executing Test_VIM_package()


Executing Test_change_buffer()/^1


Executing Test_evaluate_list()/^2
search hit BOTTOM, continuing at TOP


Executing Test_perldo()
"__TEST__" [New File]test_perl.vim"123L, 3037C


Executing Test_perleval()


Executing Test_stdio()


&VIM::Msg


STDOUT


STDERR
"test_perl.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"359L, 9597C369L, 9825C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_profile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_profile.vim" 146 lines, 6247 characters


Executing Test_profile_completion():profile ...continue file func pause start
:"profile continue file func pause start
:"
:profile start test_prof...ile.vim
:"profile start test_profile.vim
:"


Executing Test_profile_errors()


Executing Test_profile_file()


Executing Test_profile_func()
"test_profile.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"369L, 9825C376L, 9994C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_quickfix.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_quickfix.vim" 1693 lines, 46351 characters


Executing Test_Autocmd()
"F1" [New File]

(1 of 1): Line 10
"F2" [New File]

(1 of 2): Line 10


Executing Test_Autocmd_Exception()


Executing Test_adjust_lnum()


Already only one window
"Xqftestfilec" 20L, 131C


9 fewer lines


Already only one window
"Xqftestfilel" 20L, 131C


9 fewer lines


Executing Test_browse()
"Xqftestfile1" 20L, 131C


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


Executing Test_caddbuffer_to_empty()
"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


(2 of 1486):


Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File]

Executing Test_caddexpr_wrong()


(1 of 1):


(1 of 1):


Executing Test_cage()


error list 9 of 10; 1 errors      :cgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :cgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 9 of 10; 1 errors      :lgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :lgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


Executing Test_cbottom()


Executing Test_cbuffer()
"Xtestfile7" [New File]

(1 of 2): Line 700
"Xtestfile7" [New File]


(1 of 2): Line 700


Executing Test_cexpr()


Executing Test_cfile()
"Xtestfile1" [New File]


(1 of 2): Line 700


"Xtestfile1" [New File]


(1 of 2): Line 700


Executing Test_cgetexpr_works()


Executing Test_clist()


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


Executing Test_cwindow()~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Quickfix List]                                                                 ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Location List]                                                                 Executing Test_dirstack_cleanup()


(1 of 1): 0


Executing Test_duplicate_buf()
"DoesNotExist" [New File]2" [New File]


Xgrepthis
"Xgrepthis" line 1 of 2 --50%-- col 1


(1 of 2): this one


Xgrepthis
(1 of 2): this one


Executing Test_efm()


Executing Test_efm1()
"Xtestfile" 21L, 903C


(1 of 20): 1506-045 (S) Undeclared identifier fd_set.


(20 of 20): What is the title of the quickfix window?


Executing Test_efm2()
"Xtestfile" [New File]


Executing Test_efm_dirstack()


Executing Test_efm_ignore_continuations()


Executing Test_errortitle()


Executing Test_grep()


Already only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lAlready only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lExecuting Test_helpgrep()

"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1

(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


Executing Test_history()


error list 1 of 10; 1 errors      :  cexpr 'Xtestfile:Line search text'


error list 1 of 2; 1 errors:  cexpr 'Xtestfile:Line search text'


error list 1 of 3; 13 errors      :lexpr ""


error list 1 of 2; 13 errors      :lexpr ""


Executing Test_invalid_efm()


Executing Test_locationlist()


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


W19: Deleting augroup that is still in use
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" 1L, 11Cbar1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=

[?25lAlready only one window


Executing Test_locationlist_curwin_was_closed()


W19: Deleting augroup that is still in use
Executing Test_long_lines()"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C


Error detected while processing function RunTheTest[13]..Test_nomem:


line    2:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C


line    5:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C


line    8:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C


line   11:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C


line   14:


E342: Out of memory!  (allocating 1025 bytes)


Executing Test_qf_property()


Executing Test_qf_title()


Executing Test_quickfix_set_list_with_act()


Executing Test_quickfix_was_changed_by_autocmd()


error list 9 of 10; 1 errors      :setqflist()


W19: Deleting augroup that is still in use
error list 9 of 10; 1 errors      :setloclist()


error list 9 of 10; 1 errors      :setloclist()


W19: Deleting augroup that is still in use
Executing Test_setqflist()"Xtestfile" [New File]

(2 of 2):


(3 of 3):


(2 of 2):


(3 of 3):


Executing Test_setqflist_empty_middle()


test_quickfix.vim
"test_quickfix.vim" 1693L, 46351C


(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :vimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :vimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setqflist()


error list 10 of 10; 2 errors     :vimgrep matches test_quickfix.vim


test_quickfix.vim
(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :lvimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :lvimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setloclist()


error list 10 of 10; 2 errors     :lvimgrep matches test_quickfix.vim


Executing Test_setqflist_empty_older()


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :vimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :vimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :vimgrep three test_quickfix.vim


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :lvimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :lvimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :lvimgrep three test_quickfix.vim


Executing Test_switchbuf()
"Xqftestfile1" 20L, 131C220L, 131C1" line 1 of 20 --5%-- col 1


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" line 1 of 20 --5%-- col 1


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C220L, 131C


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


Already only one window
"Xqftestfile1" 20L, 131C220L, 131C320L, 131C


Executing Test_two_windows()
"one" [New File]two


Executing Test_vimgreptitle()


file
"file" [New File]


Cannot open file "file"
"test_quickfix.res" [New File][New] 0L, 0C written


Executed 42 tests
"messages" 376L, 9994C421L, 11297C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_ruby.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_ruby.vim" 34 lines, 820 characters


Executing Test_ruby_change_buffer()/^1


Executing Test_ruby_evaluate_dict()


{"a"=>"foo", "b"=>123}


Executing Test_ruby_evaluate_list()/^2
search hit BOTTOM, continuing at TOP
"test_ruby.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"421L, 11297C427L, 11443C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_search.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search.vim" 296 lines, 8731 characters


Executing Test_search_cmdline()/foobar
/the
search hit BOTTOM, continuing at TOP/thes
/foobar
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
?the
?the
?the
?the
?the
?the
?the
?the
?the
?the
search hit TOP, continuing at BOTTOM/thes
/thes
/thes
/thes
/thei
/theis
/theiss
/themthe\>
Executing Test_search_cmdline2()/the
/the
/the
/the
/the
/the
/the
/foo
6 their

  7 the

  8 them

  9 these

 10 foobar

[No Name] [+]                                                                   " Test for the search command



func Test_search_cmdline()

  if !exists('+incsearch')

    return

  endif

  " need to disable char_avail,

  " so that expansion of commandline works

  call test_disable_char_avail(1)

  new

  call setline(1, ['  1', '  2 these', '  3 the', '  4 their', '  5 there', '  66 their', '  7 the', '  8 them', '  9 these', ' 10 foobar'])

  " Test 1

  " CTRL-N / CTRL-P skips through the previous search history

  set noincsearch

  :1

test_search.vim                                                                 Executing Test_searchpair()


Executing Test_use_sub_pat()
"test_search.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"427L, 11443C434L, 11605C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_signs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_signs.vim" 199 lines, 6383 characters


Executing Test_sign()
"foo" [New File]a  b  c xd                                                                                 ~

[No Name] [+]                                                                   " Test for signs



if !has('signs')

  finish

endif

test_signs.vim                                                                  ~                                                                               ~                                                                               ~                                                                               ~                                                                               foo                                                                               a

  b

x c

  d

[No Name] [+]                                                                     a  bx c  d  ~   "foo" [New file] --No lines in buffer--
"barF

Executing Test_sign_completion():sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
:sign jump 1 ...buffer= file=
:"sign jump 1 buffer= file=
:"


Executing Test_sign_delete_buffer()


Executing Test_sign_invalid_commands()


Executing Test_sign_undefine_still_placed()
"foobar" [New File]test_signs.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"434L, 11605C442L, 11818C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_smartindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_smartindent.vim" 14 lines, 376 characters


Executing Test_nosmartindent()/some
search hit BOTTOM, continuing at TOP"test_smartindent.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"442L, 11818C446L, 11893C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup.vim" 185 lines, 4581 characters


Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l1: /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xbefore.vim


  2: /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xhere/plugin/here.vim


  3: /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xhere/pack/foo/start/f


oobar/plugin/foo.vim


  4: /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xafter/plugin/later.vi


m

  5: /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xafter.vim


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25lError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/Xafter.vim:


line    2:


E528: Must specify a ' value: viminfo+=nviminfo


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=

[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=

[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 1 line, 10 characters[?12;25h[?12l[?25h"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=

[?25lExecuting Test_startup_script()[?1000h


Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l"test_startup.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"446L, 11893C456L, 12144C written
[?1000l

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup_utf8.vim" 64 lines, 1366 characters


Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"/dev/fd/63" [readonly] 2 lines, 24 characters


"Xtestout" [New File] 2 lines, 24 characters written


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 2 lines, 24 characters[?12;25h[?12l[?25h"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=[?25l"test_startup_utf8.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"456L, 12144C461L, 12255C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_stat.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_stat.vim" 64 lines, 1598 characters


Executing Test_checktime()
"Xtest.tmp" 1L, 13C[?12l[?25h[?25l1L, 25C


Executing Test_existent_directory()


Executing Test_existent_file()[?12l[?25h


[?25lExecuting Test_nonexistent_file()


Executing Test_win32_symlink_dir()
"test_stat.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"461L, 12255C469L, 12456C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_substitute.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_substitute.vim" 41 lines, 1151 characters


Executing Test_multiline_subst()


search hit BOTTOM, continuing at TOP
3 substitutions on 3 lines

3 substitutions on 2 lines
"test_substitute.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"469L, 12456C473L, 12532C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_syntax.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_syntax.vim" 164 lines, 4101 characters


Executing Test_syn_iskeyword()CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


syntax iskeyword @,48-57,_,192-255CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


Executing Test_syntax_after_reload()
"Xsomefile" [New File][New] 2L, 12C written
"other" [New File]Xsomefile" 2L, 12C


Executing Test_syntax_completion():syn ...case clear cluster conceal enable include iskeyword keyword list manual ma


tch off on region reset spell sync"syn case clear cluster conceal enable include iskeyword keyword list manual match off on region reset spell sync
:syn case ...ignore match
:"syn case ignore match
:"
:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=


minlines= region"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= minlines= region
:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu


rsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha


nge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol


dColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr


Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen


uSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig


nColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc


al SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab


Line TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis


ual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC


ond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun


ctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp


erator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr


ing2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr


ow perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets


SQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErro"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant Cursor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu PmenuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal SpellRare Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaCond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFunctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOperator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaString2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArrow perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBracketsSQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErr
:syn match ...Boolean Character ColorColumn Comment Conceal Conditional Constant C
:"syn match Boolean Character ColorColumn Comment Conceal Conditional Constant 
:"


Executing Test_syntax_list()
"../memfile_test.c" [readonly] 143L, 3142C


--- Syntax items ---




--- Syntax items ---


"Xsomefile" [New File]


Executing Test_syntime()
"../memfile_test.c" [readonly] 143L, 3142C/* vi:set ts=8 sts=4 sw=4 noet:

 *

 * VIM - Vi IMproved    by Bram Moolenaar

 *

 * Do ":help uganda"  in Vim to read copying and usage conditions.

 * Do ":help credits" in Vim to see a list of people who contributed.

 * See README.txt for an overview of the Vim source code.

 */



/*

 * memfile_test.c: Unittests for memfile.c

 * Mostly by Ivan Krasilnikov.

 */



#undef NDEBUG

#include <assert.h>



/* Must include main.c because it contains much more than just main() */

#define NO_VIM_MAIN

#include "main.c"



/* This file has to be included because the tested functions are static */

#include "memfile.c"

"Xsomefile" [New File]
"test_syntax.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"473L, 12532C481L, 12729C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_system.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_system.vim" 92 lines, 2910 characters


Executing Test_System()
"Xdummy" [New File]

Executing Test_system_exmode()
"test_system.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"481L, 12729C486L, 12824C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_textobjects.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_textobjects.vim" 43 lines, 946 characters


Executing Test_inner_block_with_cpo_M_left_backslash()


Executing Test_inner_block_with_cpo_M_right_backslash()


Executing Test_inner_block_without_cpo_M()
"test_textobjects.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"486L, 12824C492L, 13023C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_undo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_undo.vim" 265 lines, 6936 characters


Executing Test_U_command()Executing Test_global_local_undolevels()
"one" [New File]

6 fewer lines; before #8  0 seconds ago
"two" [New File]

3 fewer lines; before #11  0 seconds ago
"three" [New File]

Executing Test_insert_expr()=setline('.','1234')
1 line less; before #4  0 seconds ago3=setline('.','1234')
1 line less; before #7  0 seconds ago=string(123)
1 line less; before #9  0 seconds ago


Executing Test_undo_del_chars()
1 change; before #3  0 seconds ago21


1 change; before #6  1 seconds ago5
4s; after #3
1; before #21


3 changes; after #6  1 seconds ago3 changes; before #7  0 seconds ago


3 changes; before #1  3 seconds ago


3 changes; after #6  3 seconds ago


3 changes; after #9  0 seconds ago


Executing Test_undo_write()
"Xtest" [New File]"Xtest" [New] 1L, 12C written"Xtest" 3L, 20C written1 line less; before #4  0 seconds ago


2 fewer lines; before #2  0 seconds ago


1 line less; before #1  0 seconds ago


1 more line; after #1  0 seconds ago


2 more lines; after #3  0 seconds ago


1 more line; after #4  0 seconds ago


Executing Test_undofile_earlier()
"Xfile" [New File]"Xfile" [New] 3L, 14C written3L, 14C


Finished reading undo file Xundofile


3 fewer lines; before #1  2017/07/13 19:05:15


Executing Test_undojoin()1 line less; before #2  0 seconds ago2 fewer lines; before #3  0 seconds ago


Executing Test_undolist()1 change; before #2  0 seconds agoExecuting Test_undotree()

1 change; before #2  0 seconds ago
"Xtest" [New] 1L, 4C written
"test_undo.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"492L, 13023C504L, 13330C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_usercommands.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_usercommands.vim" 104 lines, 2527 characters


Executing Test_Ambiguous()


Executing Test_CmdUndefined()


Executing Test_cmdmods()
"test_usercommands.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"504L, 13330C510L, 13458C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viminfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viminfo.vim" 515 lines, 13496 characters


Executing Test_cmdline_history()


Executing Test_cmdline_history_order()


Executing Test_global_vars()


Executing Test_viminfo_bad_syntax()


Executing Test_viminfo_encoding()
"Xviminfo" [converted] 73L, 3437C


Executing Test_viminfo_file_mark_tabclose()
"Xtestfileintab" [New File]viminfo" 83L, 3614C


Executing Test_viminfo_file_mark_zero_time()


Executing Test_viminfo_file_marks()
"ten" [New File]again" [New File]
"thirty" [New File]
"twen
"again" [New File]fourty" [New File]
"Xviminfo" 90L, 3412C


Executing Test_viminfo_jumplist()
"testbuf" [New File]/20
/30
/last pos
/15
/last pos
?30
/15
/last pos
?30
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here


Executing Test_viminfo_marks()
"bufa" [New File]b


Executing Test_viminfo_oldfiles()


Executing Test_viminfo_read_and_write()


Executing Test_viminfo_registers()
"test_viminfo.res" [New File][New] 0L, 0C written


Executed 13 tests
"messages" 510L, 13458C526L, 13970C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viml.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viml.vim" 1316 lines, 31904 characters


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/test_viml.vim:


line  432:


E492: Not an editor command: ^Iasdf


line  444:


E492: Not an editor command: ^Iasdf


line  452:


E492: Not an editor command: asdf


line  455:


E492: Not an editor command: asdf | Xpath 'p'


Error detected while processing function T8_F:


line    5:


E492: Not an editor command: ^I    asdf


line    7:


E492: Not an editor command: ^I    asdf | Xpath 'd'


line   19:


E492: Not an editor command: ^I    asdf


line   21:


E492: Not an editor command: ^I    asdf | Xpath 'l'


line   29:


E121: Undefined variable: novar


E15: Invalid expression: novar^I^I" returns (default return value 0)


Error detected while processing function T8_G:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function T8_H:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function F[2]..G[2]..H[2]..I:


line    2:


E492: Not an editor command:     asdf^I^I" error


Error detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes


tdir/test_viml.vim:


line  663:


E15: Invalid expression: | strlen("\"") | Xpath 'j'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'


line  673:


E15: Invalid expression: | strlen("\"") | Xpath 'n'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'


line  682:


E15: Invalid expression: | strlen("\"") | Xpath 'r'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'


line  717:


E492: Not an editor command:     asdf^I^I" error


1

line  787:


E492: Not an editor command:     asdf^I^I" error


line  794:


E492: Not an editor command:     asdf^I^I" error


line  817:


E121: Undefined variable: asdf


E15: Invalid expression: asdf


line  828:


E121: Undefined variable: asdf


E15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'


Error detected while processing function F:


line    8:


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar^I" possibly undefined


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif


Executing Test_arg_abort()


Executing Test_braces_skipped()


Executing Test_curlies()


Executing Test_defining_functions()


Executing Test_echo_and_string()


foo bar


'foo bar'


-1.2


-1.2


string


function('string')


{'a': {...}}


{'a': {...}}


[[...]]


[[...]]


[{}, {}, {}]


[{}, {}, {}]


{'a': {}, 'b': {}}


{'a': {}, 'b': {}}


[[], [], []]


[[], [], []]


{'a': [], 'b': []}


{'a': [], 'b': []}


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {...}, {...}]


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {'one': 'yes', 'two': 'yes', 'th


ree': 'yes'}, {'one': 'yes', 'two': 'yes', 'three': 'yes'}]


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {...}}


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {'one': 'yes', 'two':


'yes', 'three': 'yes'}}


[[1, 2, 3], [...], [...]]


[[1, 2, 3], [1, 2, 3], [1, 2, 3]]


{'a': [1, 2, 3], 'b': [...]}


{'a': [1, 2, 3], 'b': [1, 2, 3]}


Executing Test_endwhile_function()


Executing Test_endwhile_script()


   function T1_F()


1      Xpath 'a'


2      let first = 1


3      while 1


4Xpath 'b'


5if first


6Xpath 'c'


7let first = 0


8break


9else


10Xpath 'd'


11return


12endif


13     endwhile


   endfunction"/tmp/vp6jkBT/0" [noeol] 16L, 299C

13 substitutions on 13 lines

Pattern not found: ^\s*$
"/tmp/vp6jkBT/0" 13L, 248C written
"test_viml.vim" 1316L, 31904C

   function T1_G()

1      Xpath 'h'

2      let first = 1

3      while 1

4Xpath 'i'

5if first

6Xpath 'j'

7let first = 0

8break

9else

10Xpath 'k'

11return


12endif


13if 1    " unmatched :if


14     endwhile


   endfunction"/tmp/vp6jkBT/1" [noeol] 17L, 334C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vp6jkBT/1" 14L, 281C written
"test_viml.vim" 1316L, 31904C

Executing Test_error_in_function()

Executing Test_error_in_script()

Executing Test_expr_parsing()

Executing Test_finish()

   function T4_F()

1      if 1

2Xpath 'a'

3let loops = 3

4while loops > 0"    3:  2:     1:

5Xpath 'b' . loops

6if (loops == 2)

7Xpath 'c' . loops

8return


9Xpath 'd' . loops


10endif


11Xpath 'e' . loops


12let loops = loops - 1


13endwhile


14Xpath 'f'


15     else


16Xpath 'g'


17     endif


   endfunction"/tmp/vp6jkBT/2" [noeol] 20L, 504C

17 substitutions on 17 lines

Pattern not found: ^\s*$
"/tmp/vp6jkBT/2" 17L, 445C written
"test_viml.vim" 1316L, 31904C

Executing Test_func_abort()

Executing Test_if_bar_fail()

Executing Test_if_fail()

Executing Test_if_while()

Executing Test_num64()

Executing Test_return()

Executing Test_script_lines()

Executing Test_skip()

Executing Test_type()

Executing Test_while_fail()
"test_viml.res" [New File][New] 0L, 0C written

Executed 21 tests
"messages" 526L, 13970C550L, 14609C written

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_visual.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_visual.vim" 25 lines, 506 characters


Executing Test_block_shift_multibyte()


Executing Test_dotregister_paste()"test_visual.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"550L, 14609C555L, 14723C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_window_id.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_window_id.vim" 103 lines, 2714 characters


Executing Test_win_getid()
"one" [New File]twohree" [New File]
"four" [New File]ive


Executing Test_win_getid_curtab()
"X" [New File]test_window_id.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"555L, 14723C560L, 14827C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_writefile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_writefile.vim" 16 lines, 490 characters


Executing Test_WriteFile()
"test_writefile.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"560L, 14827C564L, 14896C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_latin.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_latin.vim" 7 lines, 280 characters


Executing Test_eow_with_optional()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_nested_backrefs()


Executing Test_recursive_substitute()
"test_alot_latin.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"[converted] 564L, 14896C[converted] 572L, 15112C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049lExecuting Test_classes_re1()


Executing Test_classes_re2()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_match_using_multibyte_conceal_char()#ˑThisˑisˑaˑTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " A series of tests that can run in one Vim invocation.

" This makes testing go faster, since Vim doesn't need to restart.



" These tests use utf8 'encoding'.  Setting 'encoding' is already done in

" runtest.vim.  Checking for the multi_byte feature is in the individual

" files, so that they can be run by themselves.



source test_expr_utf8.vim

source test_matchadd_conceal_utf8.vim

source test_regexp_utf8.vim

test_alot_utf8.vim                                                              Executing Test_source_latin()
"Xscript"[New] 2L, 44C written
Executing Test_source_utf8()"Xscript"[New] 2L, 42C written:%s/àx/--à1234--/g
:%s/Àx/--À1234--/g


Executing Test_strcharpart()


Executing Test_strgetchar()
"test_alot_utf8.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"572L, 15112C584L, 15447C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot.vim" 48 lines, 1233 characters


Executing Test_BufEnter()
"NewFile" [New File]Xdir" is a directory


Executing Test_abbreviation()Executing Test_abs()


Executing Test_acos()


Executing Test_asin()


Executing Test_atan()


Executing Test_atan2()


Executing Test_augroup_deleted()


W19: Deleting augroup that is still in use
Executing Test_augroup_warning()

W19: Deleting augroup that is still in useentering


Executing Test_auto_partial_rebind()


Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File]

"bb.txt" [New File]


Executing Test_autocmd_bufunload_avoiding_SEGV_02()

"a.txt" [New File]
"test_alot.vim" 48L, 1233C


Executing Test_autocmd_bufunload_with_tabnext()


Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File]

Executing Test_bind_in_python()


Executing Test_break_undo()Executing Test_bufunload()


Executing Test_cancel_ptjump()


Already only one window:ptjump word
  # pri kind tagfile


  1 Fwordfile1


cmd1


  2 Fwordfile2


cmd2


Type number and <Enter> (empty cancels): 
"help.txt" [readonly] 225L, 8437C


Executing Test_caught_error_in_statusline()source test_messages.vim

source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



                                                                                Executing Test_caught_error_in_tabline()                                                                                source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



test_alot.vim                                                                   Executing Test_ceil()


Executing Test_closure_counter()


Executing Test_closure_refcount()


Executing Test_closure_unlet()


Executing Test_color_names()


Executing Test_compare_null_dict()


Executing Test_compare_partials()


Executing Test_compl_vim_cmds_after_register_expr()=s:test_func()
 AAAAA_Group             BufAdd                  BufCreate               BufDelete               BufEnter                BufFilePost             BufFilePre              BufHidden               BufLeave                BufNew                  BufNewFile              BufRead                 BufReadCmd              BufReadPost             tBufReadPre              BufUnload               BufWinEnter             BufWinLeave             BufWipeout              BufWrite                BufWriteCmd             BufWritePost           Executing Test_complete_no_undo()=UndoComplete()
xxx

aaa

yyy

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   test_tabpage.vimtest_tagcase.vimtest_tagjump.vimtest_timers.vimtest_true_false.vimtest_unlet.vimsource test_window_cmd.vimsource test_options.vime hereTest3: text with a (parenthesis here

test_alot.vim                                                                   January        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       1 change; before #2  0 seconds ago=UndoComplete()

bbb

yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       -- INSERT --January        1 change; before #4  0 seconds ago=UndoComplete()


yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December           
January



~              

~              

~              

~              

~              

~              

~              

~              February       

March          

April          

May            

June           

July           

August         

September      -- INSERT --January        1 change; before #5  0 seconds ago


Executing Test_completefunc_opens_new_window_one()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_opens_new_window_two()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_with_scratch_buffer()January        

February

March     

April   

May      January        

February       info2-1

2-2

2-3



February

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis hereJanuary        

February       

March          

April          

May            



[Scratch]                                                                       test_alot.vim                                                                   [Scratch] [Preview]                                                             [Scratch]                                                                       
March~              

~              

~              

~              

~              January        

February       

March          

April          

May            3

3

3[Scratch]                                                                        [Scratch]                                                                       February       

March          
April

~              

~              

~              

~              

~              January        

February       

March          

April          

May            4

4

4[Scratch]                                                                        [Scratch]                                                                       March          

April          Executing Test_completefunc_works()


search hit BOTTOM, continuing at TOPthreedef       

threeDEF       threedef       

threeDEF       
threeDEF

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~              

~              

~              

~              

~              threedef       

threeDEF       Executing Test_completion_ctrl_e_without_autowrap()Executing Test_cos()


Executing Test_cosh()


Executing Test_cursorhold_insert()[?12l[?25h[?25lExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25lExecuting Test_cursorline_keep_col()


Executing Test_curswant_with_autocommand()

Executing Test_cycle_partial_job()


Executing Test_cyclic_dict_arg()


Executing Test_cyclic_list_arg()


Executing Test_delete_myself()[?12l[?25h


[?25lExecuting Test_dict()


Executing Test_dictionary()


Executing Test_dir_delete()


Executing Test_early_bar()


Executing Test_empty_buffer()


Executing Test_empty_doau()


No matching autocommands


Executing Test_equal()


Executing Test_ex_undo()
"ex-undo" [New File]

1 line less; before #3  0 seconds ago


1 line less; after #1  0 seconds ago


2 fewer lines; before #1  0 seconds ago


Executing Test_execute_list()


Executing Test_execute_string()


this


theend


something


Executing Test_existing()


Executing Test_exp()


Executing Test_expand()


Executing Test_feedkeys_x_with_empty_string()Executing Test_file_delete()
"Xfile" [New File][New] 2L, 4C written


Executing Test_file_perm()


Executing Test_fileformat_after_bw()
"a.txt" [New File]ex-undo" [New File]


Executing Test_filetype_valid()


Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File]ex-undo" [New File]

Executing Test_filter_cmd_completion():filter ^I"=execute('let cmdline = getcmdline()')
:filter ^I:filter pat^I"=execute('let cmdline = getcmdline()')
:filter pat^I:filter /pat^I"=execute('let cmdline = getcmdline()')
:filter /pat^I:filter /pat/^I"=execute('let cmdline = getcmdline()')
:filter /pat/^I:filter pat pri...nt"=execute('let cmdline = getcmdline()')
:filter pat print:filter /pat/ pri...nt"=execute('let cmdline = getcmdline()')
:filter /pat/ print:filter #pat# pri...nt"=execute('let cmdline = getcmdline()')
:filter #pat# printExecuting Test_filter_fails()


Executing Test_filter_map_dict_expr_funcref()


Executing Test_filter_map_dict_expr_string()


Executing Test_filter_map_list_expr_funcref()


Executing Test_filter_map_list_expr_string()


Executing Test_floor()


Executing Test_fmod()


Executing Test_fnamemodify()
"test_alot.vim" 48L, 1233C


Executing Test_func_unref()


Executing Test_funcref()


0

Executing Test_function_in_dict()


Executing Test_function_with_funcref()


Executing Test_gD()


Executing Test_gD_char()


Executing Test_gD_comment()


Executing Test_gD_inline_comment()


Executing Test_gD_string()


Executing Test_gD_string_same_line()


Executing Test_gD_too()


Executing Test_gd()


Executing Test_gd_comment()


Executing Test_gd_comment_in_string()


Executing Test_gd_inline_comment()


Executing Test_gd_inline_comment_body()


Executing Test_gd_inline_comment_only()


Executing Test_gd_kr_style()


Executing Test_gd_missing_braces()


Executing Test_gd_not_local()


Executing Test_gd_string()


Executing Test_gd_string_in_comment()


Executing Test_gd_string_only()


Executing Test_gd_trailing_comment()


Executing Test_gd_trailing_multiline_comment()


Executing Test_get_partial_items()


Executing Test_getreg_empty_list()


Executing Test_global_local_lispwords()


Executing Test_help_complete()


Executing Test_help_respect_current_file_lang()
"testdoc.abx" [readonly] 2L, 25Cja[readonly] 2L, 25Cline 1 of 2 --50%-- col 2-9txt[readonly] 2L, 25C
Executing Test_help_tagjump()"help.txt" [readonly] 225L, 8437C
"options.txt" [readonly] 8739L, 370255Cline 7652 of 8739 --87%-- col 7-49
"eval.txt" [readonly][converted] 10613L, 408230C line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1320 of 8739 --15%-- col 4-25
"cmdline[readonly] 1147L, 46822C


Executing Test_if()


Executing Test_info()


Executing Test_invalid()


Executing Test_invalid_submatch()


Executing Test_isnan()


Executing Test_join_with_count()


Executing Test_keymap_valid()


Executing Test_keyword_jump()
"Xtestfile" 9L, 141C


Executing Test_lambda_call_lambda_from_lambda()


Executing Test_lambda_capture_by_reference()


Executing Test_lambda_circular_reference()


Executing Test_lambda_closure_counter()


Executing Test_lambda_combination()


Executing Test_lambda_delfunc()


Executing Test_lambda_do_not_share_local_variable()


Executing Test_lambda_fails()


Executing Test_lambda_feature()


Executing Test_lambda_refer_local_variable_from_other_scope()


Executing Test_lambda_scope()


Executing Test_lambda_share_scope()


Executing Test_lambda_side_effect()


Executing Test_lambda_with_a_var()


Executing Test_lambda_with_filter()


Executing Test_lambda_with_map()


Executing Test_lambda_with_partial()


Executing Test_lambda_with_sort()


Executing Test_lambda_with_timer()[?12l[?25h


[?25l1[?12l[?25h

[?25l2[?12l[?25h

[?25l3[?12l[?25h

[?25l4[?12l[?25h

[?25l5[?12l[?25h

[?25l6[?12l[?25h

[?25l7[?12l[?25h

[?25l8[?12l[?25h

[?25lExecuting Test_load_menu()


Executing Test_log()


Executing Test_log10()


Executing Test_loop_over_null_list()


Executing Test_map_ctrl_c_insert()Executing Test_map_ctrl_c_visual():'<,'>$put ='vmap works'


Executing Test_map_cursor()1 line less; before #8  0 seconds ago


Executing Test_map_feedkeys():call feedkeys(".", "in")
:call feedkeys(".", "in")
Executing Test_map_langmap():call append(line('$'), '+')


Executing Test_map_meta_quotes()Executing Test_match()


abcdefghijklmnopq

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   abcdΣabcdef

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos()12345

NP

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   12345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   012345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos_using_negative_priority()x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchstrpos()


Executing Test_max_min_errors()


Executing Test_messages()


hello0x

-1 match priority

vmap works    hello1234567898


hello9xhello9
Executing Test_missing_attr()


Executing Test_move_cursor()


Executing Test_named_function_closure()


Executing Test_no_type_checking()


Executing Test_noinsert_complete()=s:complTest1()
~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       x

-1 match priority

vmap worksTest1: text with a (here some more text)

Test1: text with a (here some more text)Test2: text wit a (here some more text [und undo])fooc d[No Name]                                                                        source         

soundfold      ndfold=s:complTest2()


~              

~              source         

soundfold      Executing Test_non_zero_arg()


Executing Test_not_existing()


Executing Test_not_lamda()


Executing Test_omnifunc_with_check()


search hit BOTTOM, continuing at TOPfour1

~                                                                               ~                                                                               ~                                                                               [+]four1          

four2          2

~              

~              four1          

four2          four1          

four2          

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          four3          

four4          

four5          

four6          4

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          5

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          four4          

four5          Executing Test_oneshot()[?12l[?25h


[?25lExecuting Test_option_value()


Executing Test_options()
"option-window" [New File]


Executing Test_partial_args()


Executing Test_partial_dict()


Executing Test_partial_exists()


Executing Test_partial_implicit()


Executing Test_partial_string()


Executing Test_path_keep_commas()


Executing Test_paused()[?12l[?25h


[?25lExecuting Test_popup_complete()=ListMonths()

June

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               June           

July           -- INSERT --June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       



February       

March          





March          

April          April          

May            May            

June           June           

July           July           

August         =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           =ListMonths()


~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()

June~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJune           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()
ne

~              

~              June           

July           ~              

~              June           

July           -- INSERT --June           

Julyly

~              

~              July           
July           =ListMonths()
ne

~              
June           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December        
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July           =ListMonths()

January

~              

~              

~              January        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July                 
January

~              

~              

~              January        

June           

July           January        =ListMonths()


~              

~              

~              January        

June           

July           =ListMonths()

June~              

~              

~              June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       



February       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       October        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       
Nov

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November         
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October        =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       October        

November       September      

October        =ListMonths()
=ListMonths()
December2015

December~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xDecember       =ListMonths()

March~                                                                               ~              March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()
March~              
March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()

March

~                                                                               ~              

~              March          

May            =ListMonths()
M~              
March          

May            =ListMonths()
M~              
March          

May            Executing Test_popup_complete2()=ListMonths()
Executing Test_popup_completion_insertmode()=ListMonths()
~                                                                               ~                                                                               ~              

~                  January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       
March~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        February       

March          
April

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        March          

April          
May~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        April          

May             
June

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        May            

June           ly

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        June           

July             
August

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        July           

August            
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        August         

September      
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October         
November

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November       
Dec

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       Executing Test_pow()


Executing Test_printf_64bit()


Executing Test_printf_errors()


0

0

1

0

0

Executing Test_printf_float()


0.000000


Executing Test_printf_misc()


Executing Test_printf_spec_b()


Executing Test_printf_spec_s()


Executing Test_ptag_with_notagstack()


Executing Test_read_only()


Executing Test_recursive_delete()
"Xdir1/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written


Executing Test_redefine_dict_func()


Executing Test_ref_job_partial_dict()


Executing Test_reltime()[?12l[?25h


[?25lExecuting Test_repeat_many()[?12l[?25h


[?25lExecuting Test_repeat_three()[?12l[?25h


[?25lExecuting Test_retain_partial()[?12l[?25h


[?25lExecuting Test_round()


Executing Test_script_function_in_dict()


Executing Test_script_function_in_dict_arg()


Executing Test_searchpos()
"one" [New File]

Executing Test_set_add()


Executing Test_set_backslash()


Executing Test_set_reg_null_list()


Executing Test_set_tagcase()


Executing Test_setmatches()


Executing Test_signcolumn()


Executing Test_sin()


Executing Test_sinh()


Executing Test_sort_default()


Executing Test_sort_float()


Executing Test_sort_nested()


Executing Test_sort_numbers()


Executing Test_sort_numeric()


Executing Test_sort_strings()


Executing Test_special_char()


Executing Test_sqrt()


Executing Test_static_tagjump()
"Xfile1" [New File][New] 3L, 18C written


Executing Test_statusline_will_be_disabled_with_error()x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                                                                                                               Executing Test_stop_all_in_callback()[?12l[?25h


[?25lExecuting Test_stop_in_callback()[?12l[?25h


[?25lExecuting Test_stopall()


Executing Test_str2float()


Executing Test_str2nr()


Executing Test_strcharpart()


Executing Test_strgetchar()


Executing Test_substitute_expr()


Executing Test_substitute_expr_arg()


Executing Test_symlink_delete()
"Xfile" [New File][New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written
"Xdir4/Xfile" [New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_syntax_valid()


Executing Test_tabline_will_be_disabled_with_error()                                                                                x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               [No Name]                                                                       Executing Test_tabnext_on_buf_unload1()


Executing Test_tabnext_on_buf_unload2()


"x" [Not edited] --No lines in buffer--
"y" [New File]

Executing Test_tabpage()
"Xtestfile" [New File]

2 fewer lines; before #1  0 seconds ago
"test1" [New File]newfile" [New File]
"test1" [New File]file] --No lines in buffer--F

Executing Test_tabpage_with_autocmd()


Executing Test_tabpage_with_tab_modifier()
"help.txt" [readonly] line 1 of 225 --0%-- col 1


"ex-undo" [New File]


Executing Test_tagcase()
"Xtext" [New File]

Executing Test_tan()


Executing Test_tanh()


Executing Test_thesaurus()


Executing Test_three_windows()
"Xtestje1" [New File][New] 1L, 8C written2" [New File][New] 1L, 8C written3" [New File][New] 1L, 8C written11L, 8C


"Xtestje3" 1L, 8C21L, 8C11L, 8C


"Xanother" [New File]
"Xtestje11L, 8C
"Xanother" [New File]


Already only one window
"help.txt" [readonly] 225L, 8437C


Executing Test_tostring()


Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=

[?25l"colored" [New File]


Executing Test_trunc()


Executing Test_valid()


Executing Test_version()


Executing Test_vim_did_enter()


Executing Test_whichwrap()


Executing Test_win_tab_autocmd()


"somefile" [New File]


Executing Test_window_cmd_cmdwin_with_vsp()


Executing Test_window_cmd_ls0_with_split()


Executing Test_window_cmd_wincmd_gf()
"test_gf.txt" 0L, 0C
W19: Deleting augroup that is still in use
Executing Test_with_directories()"Xdir1/file" [New File]

"Xdir1/file" [New] 2L, 4C written


"Xdir3/Xdir4/file" [New] 2L, 4C written2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File]Executing Test_with_partial_callback()[?12l[?25h[?25ltilde()rong_arguments()
"test_alot.res" [New File]

"test_alot.res" [New] 0L, 0C written
Executed 245 tests"messages" 584L, 15447C


"messages" 832L, 23479C written


[?1l>[?12l[?25h[?1049l

From test_arglist.vim:
Executing Test_argadd()
Executing Test_argc()
Executing Test_argdelete()
Executing Test_argedit()
Executing Test_argidx()
Executing Test_arglist_autocmd()
Executing Test_arglistid()
Executing Test_argpos()
Executing Test_argument()
Executing Test_argv()
Executing Test_zero_argadd()
Executed 11 tests

From test_assert.vim:
Executing Test_assert_equal()
Executing Test_assert_exception()
Executing Test_assert_fail_fails()
Executing Test_assert_false()
Executing Test_assert_inrange()
Executing Test_assert_notequal()
Executing Test_assert_true()
Executing Test_compare_fail()
Executing Test_match()
Executing Test_notmatch()
Executing Test_user_is_happy()
Executing Test_wrong_error_type()
Executed 12 tests

From test_autochdir.vim:
Executing Test_set_filename()
Executed 1 test

From test_backspace_opt.vim:
Executing Test_backspace_option()
Executed 1 test

From test_breakindent.vim:
Executing Test_breakindent01()
Executing Test_breakindent02()
Executing Test_breakindent03()
Executing Test_breakindent04()
Executing Test_breakindent05()
Executing Test_breakindent06()
Executing Test_breakindent07()
Executing Test_breakindent07a()
Executing Test_breakindent08()
Executing Test_breakindent08a()
Executing Test_breakindent09()
Executing Test_breakindent10()
Executing Test_breakindent11()
Executing Test_breakindent12()
Executing Test_breakindent13()
Executing Test_breakindent14()
Executing Test_breakindent15()
Executing Test_breakindent16()
Executed 18 tests

From test_bufwintabinfo.vim:
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
Executed 3 tests

From test_cdo.vim:
Executing Test_cdo()
Executing Test_ldo()
Executed 2 tests

From test_channel.vim:
Executed 0 test

From test_charsearch.vim:
Executing Test_charsearch()
Executing Test_search_cmds()
Executed 2 tests

From test_cmdline.vim:
Executing Test_complete_list()
Executing Test_complete_tab()
Executing Test_complete_wildmenu()
Executing Test_expand_star_star()
Executing Test_getcompletion()
Executing Test_illegal_address()
Executing Test_paste_in_cmdline()
Executing Test_remove_char_in_cmdline()
Executed 8 tests

From test_command_count.vim:
Executing Test_command_count_0()
Executing Test_command_count_1()
Executing Test_command_count_2()
Executing Test_command_count_3()
Executing Test_command_count_4()
Executed 5 tests

From test_crypt.vim:
Executing Test_crypt_blowfish()
Executing Test_crypt_blowfish2()
Executing Test_crypt_zip()
Executing Test_head_only_2()
Executing Test_head_only_3()
Executing Test_uncrypt_blowfish()
Executing Test_uncrypt_blowfish2()
Executing Test_uncrypt_zip()
Executed 8 tests

From test_cscope.vim:
Executed 0 test

From test_diffmode.vim:
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()
Executing Test_filler_lines()
Executing Test_setting_cursor()
Executing Test_vert_split()
Executed 6 tests

From test_digraph.vim:
Executing Test_digraph_cmndline()
Executing Test_digraphs()
Executing Test_digraphs_option()
Executing Test_digraphs_output()
Executing Test_loadkeymap()
Executed 5 tests

From test_display.vim:
Executing Test_display_foldcolumn()
Executed 1 test

From test_farsi.vim:
Executing Test_farsi_map()
Executing Test_farsi_toggle()
Executed 2 tests

From test_fnameescape.vim:
Executing Test_fnameescape()
Executed 1 test

From test_fold.vim:
Executing Test_address_fold()
Executing Test_indent_fold()
Executing Test_indent_fold2()
Executed 3 tests

From test_gf.vim:
Executing Test_gf_url()
Executed 1 test

From test_gn.vim:
Executing Test_gn_command()
Executed 1 test

From test_gui.vim:
Executed 0 test

From test_hardcopy.vim:
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()
Executed 4 tests

From test_hide.vim:
Executing Test_hide()
Executed 1 test

From test_history.vim:
Executing Test_History()
Executing Test_Search_history_window()
Executed 2 tests

From test_hlsearch.vim:
Executing Test_hlsearch()
Executed 1 test

From test_increment.vim:
Executing Test_normal_increment_01()
Executing Test_normal_increment_02()
Executing Test_normal_increment_03()
Executing Test_visual_increment_01()
Executing Test_visual_increment_02()
Executing Test_visual_increment_03()
Executing Test_visual_increment_04()
Executing Test_visual_increment_05()
Executing Test_visual_increment_06()
Executing Test_visual_increment_07()
Executing Test_visual_increment_08()
Executing Test_visual_increment_09()
Executing Test_visual_increment_10()
Executing Test_visual_increment_11()
Executing Test_visual_increment_12()
Executing Test_visual_increment_13()
Executing Test_visual_increment_14()
Executing Test_visual_increment_15()
Executing Test_visual_increment_16()
Executing Test_visual_increment_17()
Executing Test_visual_increment_18()
Executing Test_visual_increment_19()
Executing Test_visual_increment_20()
Executing Test_visual_increment_21()
Executing Test_visual_increment_22()
Executing Test_visual_increment_23()
Executing Test_visual_increment_24()
Executing Test_visual_increment_25()
Executing Test_visual_increment_26()
Executing Test_visual_increment_27()
Executing Test_visual_increment_28()
Executing Test_visual_increment_29()
Executing Test_visual_increment_30()
Executing Test_visual_increment_31()
Executing Test_visual_increment_32()
Executing Test_visual_increment_33()
Executing Test_visual_increment_34()
Executing Test_visual_increment_35()
Executing Test_visual_increment_36()
Executing Test_visual_increment_37()
Executing Test_visual_increment_38()
Executed 41 tests

From test_increment_dbcs.vim:
Executing Test_increment_dbcs_1()
Executed 1 test

From test_job_fails.vim:
Executing Test_job_start_fails()
Executed 1 test

From test_json.vim:
Executing Test_js_decode()
Executing Test_js_encode()
Executing Test_json_decode()
Executing Test_json_encode()
Executed 4 tests

From test_langmap.vim:
Executing Test_langmap()
Executed 1 test

From test_man.vim:
Executing Test_g_ft_man_open_mode()
Executing Test_nomodifiable()
Executed 2 tests

From test_marks.vim:
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()
Executed 2 tests

From test_matchadd_conceal.vim:
Executing Test_clearmatches()
Executing Test_default_conceal_char()
Executing Test_matchadd_and_conceallevel_3()
Executing Test_matchadd_and_syn_conceal()
Executing Test_matchadd_repeat_conceal_with_syntax_off()
Executing Test_simple_matchadd()
Executing Test_simple_matchadd_and_conceal()
Executing Test_syn_and_match_conceal()
Executing Test_using_matchaddpos()
Executed 9 tests

From test_mksession.vim:
Executing Test_mksession()
Executed 1 test

From test_mksession_utf8.vim:
Executing Test_mksession_utf8()
Executed 1 test

From test_nested_function.vim:
Executing Test_max_nesting()
Executing Test_nested_argument()
Executing Test_nested_functions()
Executed 3 tests

From test_netbeans.vim:
Executed 0 test

From test_normal.vim:
Executing Test_normal00_optrans()
Executing Test_normal01_keymodel()
Executing Test_normal02_selectmode()
Executing Test_normal02_selectmode2()
Executing Test_normal03_join()
Executing Test_normal04_filter()
Executing Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()
Executing Test_normal07_internalfmt()
Executing Test_normal08_fold()
Executing Test_normal09_operatorfunc()
Executing Test_normal09a_operatorfunc()
Executing Test_normal10_expand()
Executing Test_normal11_showcmd()
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
Executing Test_normal14_page()
Executing Test_normal14_page_eol()
Executing Test_normal15_z_scroll_vert()
Executing Test_normal16_z_scroll_hor()
Executing Test_normal17_z_scroll_hor2()
Executing Test_normal18_z_fold()
Executing Test_normal19_z_spell()
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
Executing Test_normal22_zet()
Executing Test_normal23_K()
Executing Test_normal24_rot13()
Executing Test_normal25_tag()
Executing Test_normal26_put()
Executing Test_normal27_bracket()
Executing Test_normal28_parenthesis()
Executing Test_normal29_brace()
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()
Executing Test_normal32_g_cmd1()
Executing Test_normal33_g_cmd2()
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
    Skipped
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()
Executing Test_normal40_ctrl_bsl()
Executing Test_normal41_insert_reg()
Executing Test_normal42_halfpage()
Executing Test_normal43_textobject1()
Executing Test_normal44_textobjects2()
Executing Test_normal45_drop()
Executing Test_normal46_ignore()
Executing Test_normal47_autocmd()
    Skipped
Executing Test_normal47_visual_buf_wipe()
Executing Test_normal48_wincmd()
Executing Test_normal49_counts()
Executing Test_normal50_commandline()
Executing Test_normal51_FileChangedRO()
Executing Test_normal52_rl()
Executing Test_normal53_digraph()
Executing Test_normal54_Ctrl_bsl()
Executed 61 tests
SKIPPED Test_normal35_g_cmd4(): output of g< can't be tested currently
SKIPPED Test_normal47_autocmd(): not possible to test cursorhold autocmd while waiting for input in normal_cmd

From test_packadd.vim:
Executing Test_colorscheme()
Executing Test_colorscheme_completion()
Executing Test_helptags()
Executing Test_packadd()
Executing Test_packadd_completion()
Executing Test_packadd_noload()
Executing Test_packloadall()
Executing Test_runtime()
Executed 8 tests

From test_perl.vim:
Executing Test_SvREFCNT()
Executing Test_VIM_package()
Executing Test_change_buffer()
Executing Test_evaluate_list()
Executing Test_perldo()
Executing Test_perleval()
Executing Test_stdio()
Executed 7 tests

From test_profile.vim:
Executing Test_profile_completion()
Executing Test_profile_errors()
Executing Test_profile_file()
Executing Test_profile_func()
Executed 4 tests

From test_quickfix.vim:
Executing Test_Autocmd()
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Executing Test_browse()
Executing Test_caddbuffer_to_empty()
Executing Test_caddbuffer_wrong()
Executing Test_caddexpr_wrong()
Executing Test_cage()
Executing Test_cbottom()
Executing Test_cbuffer()
Executing Test_cexpr()
Executing Test_cfile()
Executing Test_cgetexpr_works()
Executing Test_clist()
Executing Test_cwindow()
Executing Test_dirstack_cleanup()
Executing Test_duplicate_buf()
Executing Test_efm()
Executing Test_efm1()
Executing Test_efm2()
Executing Test_efm_dirstack()
Executing Test_efm_ignore_continuations()
Executing Test_errortitle()
Executing Test_grep()
Executing Test_helpgrep()
Executing Test_history()
Executing Test_invalid_efm()
Executing Test_locationlist()
Executing Test_locationlist_cross_tab_jump()
Executing Test_locationlist_curwin_was_closed()
Executing Test_long_lines()
Executing Test_nomem()
Executing Test_qf_property()
Executing Test_qf_title()
Executing Test_quickfix_set_list_with_act()
Executing Test_quickfix_was_changed_by_autocmd()
Executing Test_setqflist()
Executing Test_setqflist_empty_middle()
Executing Test_setqflist_empty_older()
Executing Test_switchbuf()
Executing Test_two_windows()
Executing Test_vimgreptitle()
Executed 42 tests

From test_ruby.vim:
Executing Test_ruby_change_buffer()
Executing Test_ruby_evaluate_dict()
Executing Test_ruby_evaluate_list()
Executed 3 tests

From test_search.vim:
Executing Test_search_cmdline()
Executing Test_search_cmdline2()
Executing Test_searchpair()
Executing Test_use_sub_pat()
Executed 4 tests

From test_signs.vim:
Executing Test_sign()
Executing Test_sign_completion()
Executing Test_sign_delete_buffer()
Executing Test_sign_invalid_commands()
Executing Test_sign_undefine_still_placed()
Executed 5 tests

From test_smartindent.vim:
Executing Test_nosmartindent()
Executed 1 test

From test_startup.vim:
Executing Test_after_comes_later()
Executing Test_compatible_args()
Executing Test_file_args()
Executing Test_help_arg()
Executing Test_read_stdin()
Executing Test_startup_script()
Executing Test_startuptime()
Executed 7 tests

From test_startup_utf8.vim:
Executing Test_read_fifo_utf8()
Executing Test_read_stdin_utf8()
Executed 2 tests

From test_stat.vim:
Executing Test_checktime()
Executing Test_existent_directory()
Executing Test_existent_file()
Executing Test_nonexistent_file()
Executing Test_win32_symlink_dir()
Executed 5 tests

From test_substitute.vim:
Executing Test_multiline_subst()
Executed 1 test

From test_syntax.vim:
Executing Test_syn_iskeyword()
Executing Test_syntax_after_reload()
Executing Test_syntax_completion()
Executing Test_syntax_list()
Executing Test_syntime()
Executed 5 tests

From test_system.vim:
Executing Test_System()
Executing Test_system_exmode()
Executed 2 tests

From test_textobjects.vim:
Executing Test_inner_block_with_cpo_M_left_backslash()
Executing Test_inner_block_with_cpo_M_right_backslash()
Executing Test_inner_block_without_cpo_M()
Executed 3 tests

From test_undo.vim:
Executing Test_U_command()
Executing Test_global_local_undolevels()
Executing Test_insert_expr()
Executing Test_undo_del_chars()
Executing Test_undo_write()
Executing Test_undofile_earlier()
Executing Test_undojoin()
Executing Test_undolist()
Executing Test_undotree()
Executed 9 tests

From test_usercommands.vim:
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
Executed 3 tests

From test_viminfo.vim:
Executing Test_cmdline_history()
Executing Test_cmdline_history_order()
Executing Test_global_vars()
Executing Test_viminfo_bad_syntax()
Executing Test_viminfo_encoding()
Executing Test_viminfo_file_mark_tabclose()
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
Executing Test_viminfo_jumplist()
Executing Test_viminfo_marks()
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
Executed 13 tests

From test_viml.vim:
Executing Test_arg_abort()
Executing Test_braces_skipped()
Executing Test_curlies()
Executing Test_defining_functions()
Executing Test_echo_and_string()
Executing Test_endwhile_function()
Executing Test_endwhile_script()
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
Executing Test_func_abort()
Executing Test_if_bar_fail()
Executing Test_if_fail()
Executing Test_if_while()
Executing Test_num64()
Executing Test_return()
Executing Test_script_lines()
Executing Test_skip()
Executing Test_type()
Executing Test_while_fail()
Executed 21 tests

From test_visual.vim:
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()
Executed 2 tests

From test_window_id.vim:
Executing Test_win_getid()
Executing Test_win_getid_curtab()
Executed 2 tests

From test_writefile.vim:
Executing Test_WriteFile()
Executed 1 test

From test_alot_latin.vim:
Executing Test_eow_with_optional()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_nested_backrefs()
Executing Test_recursive_substitute()
Executed 5 tests

From test_alot_utf8.vim:
Executing Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()
Executing Test_source_latin()
Executing Test_source_utf8()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executed 9 tests

From test_alot.vim:
Executing Test_BufEnter()
Executing Test_abbreviation()
Executing Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
Executing Test_augroup_warning()
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
Executing Test_autocmd_bufunload_avoiding_SEGV_02()
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
Executing Test_bind_in_python()
Executing Test_break_undo()
Executing Test_bufunload()
Executing Test_cancel_ptjump()
Executing Test_caught_error_in_statusline()
Executing Test_caught_error_in_tabline()
Executing Test_ceil()
Executing Test_closure_counter()
Executing Test_closure_refcount()
Executing Test_closure_unlet()
Executing Test_color_names()
Executing Test_compare_null_dict()
Executing Test_compare_partials()
Executing Test_compl_vim_cmds_after_register_expr()
Executing Test_complete_no_undo()
Executing Test_completefunc_opens_new_window_one()
Executing Test_completefunc_opens_new_window_two()
Executing Test_completefunc_with_scratch_buffer()
Executing Test_completefunc_works()
Executing Test_completion_ctrl_e_without_autowrap()
Executing Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()
Executing Test_cursorhold_insert_ctrl_x()
Executing Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()
Executing Test_cycle_partial_job()
Executing Test_cyclic_dict_arg()
Executing Test_cyclic_list_arg()
Executing Test_delete_myself()
Executing Test_dict()
Executing Test_dictionary()
Executing Test_dir_delete()
Executing Test_early_bar()
Executing Test_empty_buffer()
Executing Test_empty_doau()
Executing Test_equal()
Executing Test_ex_undo()
Executing Test_execute_list()
Executing Test_execute_string()
Executing Test_existing()
Executing Test_exp()
Executing Test_expand()
Executing Test_feedkeys_x_with_empty_string()
Executing Test_file_delete()
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
Executing Test_filetype_valid()
Executing Test_filter()
Executing Test_filter_cmd_completion()
Executing Test_filter_fails()
Executing Test_filter_map_dict_expr_funcref()
Executing Test_filter_map_dict_expr_string()
Executing Test_filter_map_list_expr_funcref()
Executing Test_filter_map_list_expr_string()
Executing Test_floor()
Executing Test_fmod()
Executing Test_fnamemodify()
Executing Test_func_unref()
Executing Test_funcref()
Executing Test_function_in_dict()
Executing Test_function_with_funcref()
Executing Test_gD()
Executing Test_gD_char()
Executing Test_gD_comment()
Executing Test_gD_inline_comment()
Executing Test_gD_string()
Executing Test_gD_string_same_line()
Executing Test_gD_too()
Executing Test_gd()
Executing Test_gd_comment()
Executing Test_gd_comment_in_string()
Executing Test_gd_inline_comment()
Executing Test_gd_inline_comment_body()
Executing Test_gd_inline_comment_only()
Executing Test_gd_kr_style()
Executing Test_gd_missing_braces()
Executing Test_gd_not_local()
Executing Test_gd_string()
Executing Test_gd_string_in_comment()
Executing Test_gd_string_only()
Executing Test_gd_trailing_comment()
Executing Test_gd_trailing_multiline_comment()
Executing Test_get_partial_items()
Executing Test_getreg_empty_list()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
Executing Test_help_tagjump()
Executing Test_if()
Executing Test_info()
Executing Test_invalid()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
Executing Test_lambda_call_lambda_from_lambda()
Executing Test_lambda_capture_by_reference()
Executing Test_lambda_circular_reference()
Executing Test_lambda_closure_counter()
Executing Test_lambda_combination()
Executing Test_lambda_delfunc()
Executing Test_lambda_do_not_share_local_variable()
Executing Test_lambda_fails()
Executing Test_lambda_feature()
Executing Test_lambda_refer_local_variable_from_other_scope()
Executing Test_lambda_scope()
Executing Test_lambda_share_scope()
Executing Test_lambda_side_effect()
Executing Test_lambda_with_a_var()
Executing Test_lambda_with_filter()
Executing Test_lambda_with_map()
Executing Test_lambda_with_partial()
Executing Test_lambda_with_sort()
Executing Test_lambda_with_timer()
Executing Test_load_menu()
Executing Test_log()
Executing Test_log10()
Executing Test_loop_over_null_list()
Executing Test_map_ctrl_c_insert()
Executing Test_map_ctrl_c_visual()
Executing Test_map_cursor()
Executing Test_map_feedkeys()
Executing Test_map_langmap()
Executing Test_map_meta_quotes()
Executing Test_match()
Executing Test_matchaddpos()
Executing Test_matchaddpos_using_negative_priority()
Executing Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
Executing Test_missing_attr()
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()
Executing Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
Executing Test_oneshot()
Executing Test_option_value()
Executing Test_options()
Executing Test_partial_args()
Executing Test_partial_dict()
Executing Test_partial_exists()
Executing Test_partial_implicit()
Executing Test_partial_string()
Executing Test_path_keep_commas()
Executing Test_paused()
Executing Test_popup_complete()
Executing Test_popup_complete2()
Executing Test_popup_completion_insertmode()
Executing Test_pow()
Executing Test_printf_64bit()
Executing Test_printf_errors()
Executing Test_printf_float()
Executing Test_printf_misc()
Executing Test_printf_spec_b()
Executing Test_printf_spec_s()
Executing Test_ptag_with_notagstack()
Executing Test_read_only()
Executing Test_recursive_delete()
Executing Test_redefine_dict_func()
Executing Test_ref_job_partial_dict()
Executing Test_reltime()
Executing Test_repeat_many()
Executing Test_repeat_three()
Executing Test_retain_partial()
Executing Test_round()
Executing Test_script_function_in_dict()
Executing Test_script_function_in_dict_arg()
Executing Test_searchpos()
Executing Test_set_add()
Executing Test_set_backslash()
Executing Test_set_reg_null_list()
Executing Test_set_tagcase()
Executing Test_setmatches()
Executing Test_signcolumn()
Executing Test_sin()
Executing Test_sinh()
Executing Test_sort_default()
Executing Test_sort_float()
Executing Test_sort_nested()
Executing Test_sort_numbers()
Executing Test_sort_numeric()
Executing Test_sort_strings()
Executing Test_special_char()
Executing Test_sqrt()
Executing Test_static_tagjump()
Executing Test_statusline_will_be_disabled_with_error()
Executing Test_stop_all_in_callback()
Executing Test_stop_in_callback()
Executing Test_stopall()
Executing Test_str2float()
Executing Test_str2nr()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executing Test_substitute_expr()
Executing Test_substitute_expr_arg()
Executing Test_symlink_delete()
Executing Test_symlink_dir_delete()
Executing Test_symlink_recursive_delete()
Executing Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()
Executing Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
Executing Test_tabpage()
Executing Test_tabpage_with_autocmd()
Executing Test_tabpage_with_tab_modifier()
Executing Test_tagcase()
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
Executing Test_tostring()
Executing Test_true_false_arg()
Executing Test_trunc()
Executing Test_valid()
Executing Test_version()
Executing Test_vim_did_enter()
Executing Test_whichwrap()
Executing Test_win_tab_autocmd()
Executing Test_window_cmd_cmdwin_with_vsp()
Executing Test_window_cmd_ls0_with_split()
Executing Test_window_cmd_wincmd_gf()
Executing Test_with_directories()
Executing Test_with_partial_callback()
Executing Test_with_tilde()
Executing Test_wrong_arguments()
Executed 245 tests

Test results:
ALL DONE
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3/testdir'
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json_test.o json_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o json_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/memfile.o objects/message.o objects/json_test.o   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./json_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile_test.o memfile_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o memfile_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/message.o objects/memfile_test.o   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./memfile_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message_test.o message_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o message_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o objects/pty.o objects/gui_gtk_f.o objects/gui_beval.o objects/gui_gtk_gresources.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/memfile.o objects/message_test.o   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./message_test || exit 1; echo  passed;
passed
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk3'
touch build-stamp-vim-gtk3
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena'
/usr/bin/make -f Makefile vim
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena'
make[2]: 'vim' is up to date.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena'
if test -n "yes" -a -f po/Makefile; then \
	cd po; /usr/bin/make -f Makefile check VIM=../vim; \
fi
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena/po'
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq af.po
touch af.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ca.po
touch ca.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.po
touch cs.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq de.po
touch de.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.po
touch en_GB.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq eo.po
touch eo.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq es.po
touch es.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fi.po
touch fi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fr.po
touch fr.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ga.po
touch ga.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq it.po
touch it.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.po
touch ja.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.po
touch ko.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.UTF-8.po
touch ko.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nb.po
touch nb.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nl.po
touch nl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq no.po
touch no.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.po
touch pl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pt_BR.po
touch pt_BR.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.po
touch ru.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.po
touch sk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sv.po
touch sv.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.po
touch uk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq vi.po
touch vi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.UTF-8.po
touch zh_CN.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.po
touch zh_CN.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.UTF-8.po
touch zh_TW.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.po
touch zh_TW.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.cp1250.po
touch cs.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.sjis.po
touch ja.sjis.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.euc-jp.po
touch ja.euc-jp.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.cp1250.po
touch pl.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.UTF-8.po
touch pl.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.cp1251.po
touch ru.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.cp1250.po
touch sk.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.cp1251.po
touch uk.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.cp936.po
touch zh_CN.cp936.ck
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena/po'
if test vim != vim -a ! -r vim; then \
	ln -s vim vim; \
fi
cd testdir; /usr/bin/make -f Makefile gui VIMPROG=../vim  SCRIPTSOURCE=../../runtime
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-athena/testdir'
rm -f test.log messages
rm -rf test1.failed test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out wrongtermsize
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test1.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test1.in" 57 lines, 2069 charactersFirst a simple test to check if the test script works.



If Vim was not compiled with the +eval feature, the small.vim script will be

set to copy the test.ok file to test.out, so that it looks like the test

succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by

tests that require the +eval feature or other features that are missing in the

small version.



If Vim was not compiled with the +windows feature, the tiny.vim script will be

set like small.vim above.  tiny.vim is sourced by tests that require the

+windows feature or other features that are missing in the tiny version.



If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will

be set like small.vim above.  mbyte.vim is sourced by tests that require the

+multi_byte feature.

Similar logic is applied to the +mzscheme feature, using mzscheme.vim.

Similar logic is applied to the +lua feature, using lua.vim.



STARTTEST

:" If columns or lines are too small, create wrongtermsize.

:" (Some tests will fail. When columns and/or lines are small)

:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 1133 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST:w! mzscheme.vim

:w! lua.vim

:"

:" If +multi_byte feature supported, make mbyte.vim empty.

:if has("multi_byte") | sp another | w! mbyte.vim | q | endif

:"

:" If +mzscheme feature supported, make mzscheme.vim empty.

:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif

:"

:" If +lua feature supported, make lua.vim empty.

:if has("lua") | sp another | w! lua.vim | q | endif

:"

:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.

:" Otherwise write small.vim to skip the test.

:if 1 | q! | endif

:w! small.vim

:" If +windows feature not supported :sp will fail and tiny.vim will be

:" written to skip the test.

:sp another

:wq! tiny.vim

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[?12l[?25h[?25l:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[?12l[?25h[?25l:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lthis is a test[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 15 characters written[?12l[?25h[?25l:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[?12l[?25h
[?25l[?12l[?25h[?25l:[?12l[?25hw! small.vim
[?25l"small.vim" [New File] 1 line, 1 character written[?12l[?25h[?25l:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [New File] 1 line, 1 character written[?12l[?25h[?25le! test.ok

w! test.outqa![?12l[?25h[?25l:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! lua.vim
[?25l"lua.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File]

"mbyte.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File]

"lua.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[?12l[?25h[?25l:[?12l[?25hif 1 | q! | endif
[?25l[?1l>[?12l[?25h[?1049lrm -rf X* viminfo
rm -rf test3.failed test.ok test.out X* viminfo
cp test3.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test3.in" 2342 lines, 23089 characters/* vim: set cin ts=4 sw=4 : */



Test for 'cindent'



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo modeline

:edit" read modeline

/start of AUTO

=/end of AUTO

ENDTEST



/* start of AUTO matically checked vim: set ts=4 : */

{if (test)cmd1;cmd2;

}



{if (test)cmd1;else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l/* vim: set cin ts=4 sw=4 : */[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[?12l[?25h[?25l:[?12l[?25hedit                " read modeline
[?25l"test3.in"2342L, 23089Cif (test)cmd1;cmd2;if (test)cmd1;else[?12l[?25h[?25l/[?12l[?25hstart of AUTO
[?25l[?12l[?25h[?25l/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent... 
957 lines indented [?12l[?25h[?25l/^STARTTEST
}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 93C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h[?25l/[?12l[?25hserious/e
[?25l[?12l[?25h[?25l





-- INSERT --

about life, the

 * universe, and the

 * rest important big[?12l[?25h[?25l

* comment[?12l[?25h[?25l

/^STARTTEST
*/

    /* insert " about life, the universe, and the rest" after "serious" */

}



STARTTEST[?12l[?25h[?25l

:set nocin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6L, 78C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comments

joabout life^[/happens

jothere^[/below

oline^[/this

Ohello^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocin
[?25l[?12l[?25h[?25l/[?12l[?25hcomments
[?25l{

    /** Testing for comments, without 'cin' set[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

about life[?12l[?25h[?25l

/[?12l[?25hhappens
[?25l/*

* what happens here?[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

there[?12l[?25h[?25l

/[?12l[?25hbelow
[?25l/*the end of the comment, try inserting a line below */[?12l[?25h[?25l

-- INSERT --

line[?12l[?25h[?25l

/[?12l[?25hthis
[?25l/* how aboutthis one */[?12l[?25h[?25l

-- INSERT --hello[?12l[?25h[?25l

this one */[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 18C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/vec2

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l/[?12l[?25hvec2
[?25l{

    var = this + that + vec[0] * vec[0]+ vec[1] * vec[1]+ vec2[2] * vec[2];[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5L, 51C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=}4

/testing1

k2==/testing2

k2==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=}4
[?25l[?12l[?25h[?25l/[?12l[?25htesting1
[?25l{asdf asdflkajds f;

    if (tes & ting) {asdf asdf asdf ;asdfa sdf asdf;}

    testing1;[?12l[?25h [?25l



/[?12l[?25htesting2
[?25lif (tes & ting)

    {asdf asdf asdf ;asdfa sdf asdf;}

    testing2;[?12l[?25h [?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=(0,)20

/main

=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=(0,)20
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25lmain ( int first_par, /*[?12l[?25h[?25l

19 lines to indent...
20indented [?12l[?25h[?25l

* Comment for[?12l[?25h[?25l

/^STARTTEST
* Comment for* first par*/second_par /** Comment for* second par*/);



}



STARTTEST

:set cin

:set cino=es,n0s

/main

=][

ENDTEST



main(void)

{

    /* Make sure that cino=X0s is not parsed like cino=Xs. */

    if (cond)foo();[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=es,n0s
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25l[?12l[?25h[?25l8 lines to indent...
9indented [?12l[?25h

[?25l/^STARTTEST
else

    {bar();

    }

}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l{[?12l[?25h[?25l

11 lines to indent...
12indented [?12l[?25h[?25l

do[?12l[?25h[?25l

/^STARTTEST
if (){if ()asdf;elseasdf;}

    } while ();

    cmd;/* this should go under the } */

}



STARTTEST

]]=][

ENDTEST



void f()

{

    if ( k() ) {l();} else { /* Start (two words) end */m();

    }[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1L, 6C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h





[?25l8 lines to indent...
9indented [?12l[?25h

   [?25l/^STARTTEST
n();

}



STARTTEST[?12l[?25h[?25l

:set cino={s,e-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,e-s
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

7 lines to indent...
8indented     {[?12l[?25h[?25l

if ( k() )[?12l[?25h[?25l

/^STARTTEST
{l();} else { /* Start (two words) end */m();}

    n();    /* should be under the if () */

}



STARTTEST[?12l[?25h[?25l

:set cino={s,fs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=/ foo[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,fs
[?25l[?12l[?25h[?25lvoid bar(void)

{[?12l[?25h[?25l

/[?12l[?25h foo
[?25l30 lines to indent...
31indented     {[?12l[?25h[?25l/^STARTTEST
void func(void)

    {

    a = 1;{b = 2;}

    c = 3;

    d = 4;

    }

/* foo */



STARTTEST

:set cino=

/while

ohere^[

ENDTEST



a()

{

  do {

    a = a +a;

  } while ( a );/* add text under this line */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l/[?12l[?25hwhile
[?25l[?12l[?25h[?25l

-- INSERT --

here[?12l[?25h[?25l

if ( a )
    i[?12l[?25h[?25l

/^STARTTEST
a;

}



STARTTEST[?12l[?25h[?25l

:set cino= com=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 109C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comment

olabel2: b();^Mlabel3 /* post */:^M/* pre */ label4:^Mf(/*com*/);^Mif (/*com*/)^^Mcmd();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino= com=
[?25l[?12l[?25h[?25l/[?12l[?25hcomment
[?25la()

{

label1:/* hmm */// comment[?12l[?25h[?25l

-- INSERT --label2: b();

label3 /* post */:

/* pre */ label4:f(/*com*/);if (/*com*/)cmd();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 53C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/simple

=5j[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[?12l[?25h[?25l/[?12l[?25hsimple
[?25l/*

  * A simple comment[?12l[?25h[?25l

5 lines to indent...
6indented * A simple comment[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
/*

** A different comment

*/



STARTTEST[?12l[?25h[?25l

:set cino=c0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 70C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=c0,C1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 73C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0,C1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********

    A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 17C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,U1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,U1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,w1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,w1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3) && c4;

    if (c1 && c2)foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,m1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,m1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3

    ) && c4;

    if (c1 && c2

    )foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=b1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=b1
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

9 lines to indent...
10 lines indented [?12l[?25h[?25l

switch (x)[?12l[?25h[?25l

/^STARTTEST
{case 1:a = b;break;default:a = 0;break;

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W5
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W5
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

10 lines to indent...
11indented [?12l[?25h[?25l

invokeme([?12l[?25h[?25l

/^STARTTEST
argu,ment);

    invokeme(argu,ment);

    invokeme(argu,ment);

}



STARTTEST[?12l[?25h[?25l

:set cino=/6
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=/6
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

3 lines to indent...
4indented [?12l[?25h[?25l

statement;[?12l[?25h[?25l

/^STARTTEST
// comment 1// comment 2

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 34C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-12kdd]]/comment 1/+1

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l==ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

/[?12l[?25hcomment 1/+1
[?25lstatement;// comment 1

    // comment 2[?12l[?25h[?25l    // comment 2[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino=g0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=g0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass CAbc

{[?12l[?25h[?25l

6 lines to indent...
7indented [?12l[?25h[?25l

int Test() { return FALSE; }[?12l[?25h[?25l

/^STARTTEST
public: // comment

    void testfall();

protected:

    void testfall();

};



STARTTEST[?12l[?25h[?25l

:set cino=(0,gs,hs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 29C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,gs,hs
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass Foo : public Bar

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

public:[?12l[?25h[?25l

/^STARTTEST
virtual void method1(void) = 0;virtual void method2(int arg1,int arg2,int arg3) = 0;

};



STARTTEST[?12l[?25h[?25l

:set cino=+20
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 24C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=+20
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid

foo()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (a)[?12l[?25h[?25l

/^STARTTEST
{

    } elseasdf;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W2s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W2s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25l

{[?12l[?25h[?25l

34 lines to indent...
35indented [?12l[?25h[?25l

averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([?12l[?25h[?25l

/^STARTTEST
dec)->asdfasdfasdf(asdfadsf,asdfasdf,asdfasdf,),func(asdfadf,asdfasdf),asdasdf);

}



STARTTEST

:set cino=M1

2kdd]]=][

ENDTEST



int main ()

{

    if (cond1 &&cond2)foo;

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=M1
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l4 lines to indent...
5indented [?12l[?25h

   [?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set cino=(0,ts
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,ts
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

7 lines to indent...
8indented [?12l[?25h[?25l

void func(int a[?12l[?25h[?25l

/^STARTTEST
#if defined(FOO), int b, int c

#endif)

{

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void[?12l[?25h[?25l

/^STARTTEST
func(int a

#if defined(FOO), int b, int c

#endif

    )

{

}



STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 22C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=7][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=7][

ENDTEST[?12l[?25h



[?25l

69 lines to indent...
50
7indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
int a,int b)

{

}void

func6(int a)

{

}



STARTTEST

:set cino&

:set cino+=l1

2kdd2j=][

ENDTEST



void func(void)

{

    int tab[] =

    {1, 2, 3,4, 5, 6};[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l:[?12l[?25hset cino+=l1
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l22 lines to indent...
23indented [?12l[?25h

[?25l/^STARTTEST
break;case baz: {printf("baz");break;}case quux:printf("But don't break the indentation of this instruction\n");break;

    }

}



STARTTEST

:set cino&

2kdd2j=][

ENDTEST



void func(void)

{

    cout << "a"

    << "b"

    << ") :"

    << "c";

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l6 lines to indent...
7indented     << "b"

        << ") :"

        << "c";[?12l[?25h

[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]3jofoo();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[?12l[?25h[?25lvoid func(void)

{[?12l[?25h[?25l/** This is a comment.*/[?12l[?25h[?25l

-- INSERT --

foo();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
{

    for (int i = 0; i < 10; ++i)if (i & 1) {foo(1);} elsefoo(0);

    baz();

}



STARTTEST[?12l[?25h[?25l

:set cino=k2s,(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd3j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0
[?25l[?12l[?25h[?25l2kdd3j=][ENDTEST[?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

23 lines to indent...
24indented [?12l[?25h[?25l

{[?12l[?25h[?25l

/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func( c1&& (     c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l23 lines to indent...
24indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s,U1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s,U1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l24 lines to indent...
25indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (c22345|| c3))printf("foo\n");c = c1 &&(c2 ||c3) && c4;

}



STARTTEST

:set cino=k2s,(0,W4

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,W4
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l29 lines to indent...
30indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (   c2|| c3))foo;a_long_line(argument,argument);

    a_short_line(argument,argument);

}



STARTTEST

:set cino=k2s,u2

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,u2
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l18 lines to indent...
19indented         && condition2)

        action();        && argument2);[?12l[?25h

[?25l/^STARTTEST
foo;

    if (c1 &&(c2 || c3))

    {

    }

    if (c123456789&& (c22345|| c3))printf("foo\n");

}



STARTTEST

:set cino=k2s,(0,w1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,w1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l27 lines to indent...
28indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1&& condition2)action();

    function(argument1&& argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l14 lines to indent...
15indented [?12l[?25h

[?25l/^STARTTEST
if (c1 && (c2 ||c3))foo;

    if (c1 &&(c2 || c3))

    {

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=N-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 47C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^NAMESPACESTART

=/^NAMESPACEEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=N-s
[?25l[?12l[?25h[?25l/[?12l[?25h^NAMESPACESTART
[?25lNAMESPACESTART[?12l[?25h[?25l

/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82indented [?12l[?25h[?25l/^STARTTEST
namespace test test2

{

    1111111111111111111;

}

namespace111111111

{

    111111111111111111;

}

NAMESPACEEND





STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

var bar = {

foo: {

that: this,

some: ok,

},[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l12 lines to indent...
13indented     foo: {

        that: this,

        some: ok,

    },[?12l[?25h[?25l/^STARTTEST
"bar":{a : 2,b: "123abc",x: 4,"y": 5

    }

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l5 lines to indent...
6indented [?12l[?25h[?25l/^STARTTEST
var foo = [

    1,

    2,

    3

];

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l7 lines to indent...
8indented [?12l[?25h[?25l/^STARTTEST
function bar() {

    var foo = [1,2,3

    ];

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l58 lines to indent...
509indented [?12l[?25h[?25l/^STARTTEST
return false;}_arguments[0]=options;method.apply(this,_arguments);}});

    }



})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

function init(options) {

$(this).data(class_name+'_public',$.extend({},{

foo: 'bar',

bar: 2,

foobar: [[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l14 lines to indent...
15indented     $(this).data(class_name+'_public',$.extend({},{

        foo: 'bar',

        bar: 2,

        foobar: [[?12l[?25h[?25l/^STARTTEST
1,2,3],callback: function(){return true;}

    }, options||{}));

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l16 lines to indent...
17indented [?12l[?25h[?25l/^STARTTEST
2,3],callback: function(){return true;}}, options||{}));

    }

})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1,+2

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

// Results of JavaScript indent

// 1

(function(){

var a = [

'a',[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1,+2
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent... 
150 lines indented     var a = [

      'a',[?12l[?25h[?25l/^STARTTEST
var a,

    b,

    c,

    d,

    e,

    f,

    g,

    h,

    i;

JSEND



STARTTEST

:set cin cino&

/start of define

=/end of define

ENDTEST



/* start of define */

{

}

#define AAA \

BBB\

CCC[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 48C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin cino&
[?25l[?12l[?25h[?25l/[?12l[?25hstart of define
[?25l[?12l[?25h[?25l/[?12l[?25hend of define
[?25l11 lines to indent...
12indented     BBB\

    CCC[?12l[?25h[?25l/^STARTTEST
#define CNT \

    1 + \

    2 + \

    4

/* end of define */



STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 61C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines    c,

    d,

    e,    f,    g,    h,    i;JSEND/* start of define */

{}#define AAA \

    BBB\

    CCC#define CNT \

    1 + \

    2 + \4

/* end of define */[?12l[?25h[?25l:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [New] 2096L, 20188C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test3 = test61; then \
#	  if diff test.out test3.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test3.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test4.failed test.ok test.out X* viminfo
cp test4.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test4.in" 34 lines, 960 charactersTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew

/start of

:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx" split to Xxx, autocmd will do :brew

G?this is a

othis should be auto-indented^[

:" Append text with autoindent to this file

:au! BufEnter Xxx

:buf Xxx" go to Xxx, no autocmd anymore

G?this is a

othis should be in column 1^[:wq " append text without autoindent to Xxx

G:r Xxx" include Xxx in the current file

:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is sset

Go# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes current buffer on BufEnter event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 20 lines, 678 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:?startstart?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter Xxx brew
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25lstartstart

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx   " write test file Xxx
[?25l"Xxx" [New] 7L, 124C written[?12l[?25h[?25l:[?12l[?25hset ai modeline modelines=3
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xxx             " split to Xxx, autocmd will do :brew
[?25l"Xxx" 7L, 124CTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.STARTTESTo small.vim:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew/start of.,/end of/w!" write test file Xxx

:set ai modeline modelines=3:sp Xxx    " split to Xxx, autocmd will do :brew

test4.in                                                                        :set fo+=rssue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.outqa!ENDTESTstartstart of test file Xxx

test4.in                                                                        test4.in" line 1 of 34 --2%-- col 1[?12l[?25h[?25l:qa!ENDTESTstartstart

start of test file Xxx

vim: set noai :        this is a test

        this is a test

        this is a test        this is a testend of test file Xxx[?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --        this should be auto-indented[+][+][?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l:[?12l[?25h                   " Append text with autoindent to this file
[?25l[?12l[?25h[?25l:[?12l[?25hau! BufEnter Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hbuf Xxx            " go to Xxx, no autocmd anymore
[?25l"Xxx" 7L, 124Cstart of test file Xxx

vim: set noai :

        this is a test

        this is a test

        this is a test



end of test file Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxxt          [?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --this should be in column 1[+][?12l[?25h[?25l:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx8L, 151C written:au BufEnter Xxx brew/start of:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx             " split to Xxx, autocmd will do :brew

G?this is aothis should be auto-indented^[

:                   " Append text with autoindent to this file

:au! BufEnter Xxx:buf Xxx            " go to Xxx, no autocmd anymoreG?this is aothis should be in column 1^[:wq " append text without autoindent to XxxG:r Xxx   nclude Xxx in the current file:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.out

:qa!ENDTESTstarstart of test file Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a testthis should be auto-indented

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25hr Xxx             " include Xxx in the current file
[?25l"Xxx" 8L, 151C

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25hset fo+=r          " issue #57 do not move cursor on <c-o> when autoindent is 


set
[?25l:au! BufEnter Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

this should be in column 1

end of test file Xxx
[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --

# def[?12l[?25h[?25lINSERTt --defo[?12l[?25hd[?25l[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --[?12l[?25h[?25l

-- INSERTt --def:[?12l[?25hd[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [New] 20L, 330C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test4 = test61; then \
#	  if diff test.out test4.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test4.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test5.failed test.ok test.out X* viminfo
cp test5.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test5.in" 29 lines, 949 charactersTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.



STARTTEST

:so small.vim

:au BufLeave Xxx bwipe

/start of

:.,/end of/w! Xxx" write test file Xxx

:sp Xxx" split to Xxx

:bwipe" delete buffer Xxx, now we're back here

G?this is a

othis is some more text^[

:" Append some text to this file

:?start?,$w! test.out" Write current file contents

:bwipe test.out" delete alternate buffer

:au bufleave test5.in bwipe

:bwipe!" delete current buffer, get an empty one

ithis is another test line^[:w >>test.out

:" append an extra line to the output file

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that deletes the current buffer on BufLeave event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 664 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave Xxx bwipe
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25l[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx               " write test file Xxx
[?25l"Xxx" [New File] 7 lines, 124 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx                         " split to Xxx
[?25l"Xxx" 7 lines, 124 charactersstart of test file Xxxvim: set noai :this is a test

        this is a test

        this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx                                                                             ?start?,$w! test.outWrite current file contentsbwipe test.out      delete alternate bufferau bufleave test5.in bwipebwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out:                               " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx

test5.in                                                                        [?12l[?25h[?25l:[?12l[?25hbwipe                          " delete buffer Xxx, now we're back here
[?25lTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.STARTTEST:so small.vim:au BufLeave Xxx bwipe

/start of:.,/end of/w! Xxx               " write test file Xxx:sp Xxx                         " split to Xxx:bwipe                          " delete buffer Xxx, now we're back hereG?this is aothis is some more text^[                    Append some text to this file

:?start?,$w! test.outWrite current file contents

:bwipe test.out                 " delete alternate buffer

:au bufleave test5.in bwipe:bwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out   " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx"test5.in" line 23 of 29 --79%-- col 1[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

end of test file Xxx[?12l[?25h[?25l

?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l

this is some more text[?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25h                               " Append some text to this file
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out           " Write current file contents
[?25l"test.out" [New File] 8 lines, 147 characters written[?12l[?25h[?25l:[?12l[?25hbwipe test.out                 " delete alternate buffer
[?25l[?12l[?25h[?25l:[?12l[?25hau bufleave test5.in bwipe
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!                         " delete current buffer, get an empty one
[?25lError detected while processing BufLeave Auto commands for "test5.in":

E89: No write since last change for buffer 1 (add ! to override)


Press ENTER or type command to continue[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lthis is another test line[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 26 characters appended[?12l[?25h[?25l:[?12l[?25h                               " append an extra line to the output file
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test5 = test61; then \
#	  if diff test.out test5.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test5.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test7.failed test.ok test.out X* viminfo
cp test7.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test7.in" 26 lines, 675 charactersTest for autocommand that changes the buffer list, when doing ":ball".



STARTTEST

:so small.vim

/^start of

A1^[:.,/end of/w! Xxx1   " write test file Xxx1

:sp Xxx1

:close

$r2:.,/end of/w! Xxx2    " write test file Xxx2

:sp Xxx2

:close

$r3:.,/end of/w! Xxx3    " write test file Xxx3

:sp Xxx3

:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes the buffer list, when doing ":ball".[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 508 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx1   " write test file Xxx1
[?25l"Xxx1" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx1
[?25l"Xxx1" 4 lines, 77 charactersstart of test file Xxx1this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2    " write test file Xxx2
[?25l"Xxx2" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx2
[?25l"Xxx2" 4 lines, 77 charactersstart of test file Xxx2this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx2                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx3    " write test file Xxx3
[?25l"Xxx3" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx3
[?25l"Xxx3" 4 lines, 77 charactersstart of test file Xxx3this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx3                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3[?12l[?25h[?25l:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[?12l[?25h[?25l4[?12l[?25h[?25l:[?12l[?25hball                 " open window for all args, close Xxx2
[?25l"Xxx1"4 lines, 77 characters


"Xxx2" 4 lines, 77 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h.,$w! test.out          " Write contents of this file
[?25l"test.out" [New File] 4 lines, 77 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx4

test7.in [+]                                                                    start of test file Xxx1this is a testthis is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            [?12l[?25h

test7.in [+]                                                                     Xxx1                                                                            [?25l:[?12l[?25hw >>test.out        " Append contents of second window (Xxx1)
[?25l"test.out" 4 lines, 77 characters appended[?12l[?25htest7.in [+]                                                                    Xxx1                                                                             [?25l:[?12l[?25h/^start of/,$w >>test.out   " Append contents of last window (this file)
[?25lsearch hit BOTTOM, continuing at TOP"test.out" 4 lines, 77 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test7 = test61; then \
#	  if diff test.out test7.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test7.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test8.failed test.ok test.out X* viminfo
cp test8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test8.in" 46 lines, 1236 charactersTest for BufWritePre autocommand that deletes or unloads the buffer.

Test for BufUnload autocommand that unloads all other buffers.



STARTTEST

:so small.vim

:au BufWritePre Xxx1 bunload

:au BufWritePre Xxx2 bwipe

/^start of

A1^[:.,/end of/w! Xxx1  " write test file Xxx1

$r2:.,/end of/w! Xxx2   " write test file Xxx2

:e! Xxx2" edit Xxx2

:bdel test8.in" delete this file from the buffer list

:e Xxx1" edit Xxx1

:w" write it, will unload it and give an error msg

:w! test.out" Write contents of this file

:e! Xxx2" start editing Xxx2

:bwipe test.out" remove test.out from the buffer list

:w" write it, will delete the buffer and give an error msg:w >>test.out" Append contents of this file

:au! BufWritePre

:func CloseAll()

  let i = 0

  while i <= bufnr('$')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for BufWritePre autocommand that deletes or unloads the buffer.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1054 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTif i != bufnr('%') && bufloaded(i)exe  i . "bunload"

    endif

    let i += 1

  endwhile

endfunc

:func WriteToOut()

  edit! test.out

  $put ='VimLeave done'

  write

endfunc

:set viminfo='100,nviminfo

:au BufUnload * call CloseAll()

:au VimLeave * call WriteToOut()

:e small.vim

:sp mbyte.vim

:q

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l

start of Xxx[?12l[?25h[?25l1[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx1  " write test file Xxx1
[?25l"Xxx1" [New File] 3 lines, 31 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2   " write test file Xxx2
[?25l"Xxx2" [New File] 3 lines, 31 characters written[?12l[?25h[?25l:[?12l[?25he! Xxx2                " edit Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2

        testend of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbdel test8.in^I^I" delete this file from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25he Xxx1                 " edit Xxx1
[?25l"Xxx1" 3 lines, 31 characters1
[?12l[?25h[?25l:[?12l[?25hw                      " write it, will unload it and give an error msg
[?25l"Xxx2"3 lines, 31 characters


E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out            " Write contents of this file
[?25l"test.out" [New File] 3 lines, 31 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! Xxx2                " start editing Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2test

end of Xxx"Xxx2" 3 lines, 31 characters[?12l[?25h[?25l:[?12l[?25hbwipe test.out         " remove test.out from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25hw                      " write it, will delete the buffer and give an error ms


g[?25l"Xxx1"3 lines, 31 characters

E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out           " Append contents of this file
[?25l"test.out" 3 lines, 31 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! BufWritePre
[?25lstart of Xxx1test

end of Xxx[?12l[?25h[?25l:[?12l[?25hfunc CloseAll()
[?25l

:  [?12l[?25h  let i = 0


[?25l:  [?12l[?25h  while i <= bufnr('$')


[?25l:    [?12l[?25h    if i != bufnr('%') && bufloaded(i)


[?25l:      [?12l[?25h      exe  i . "bunload"


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let i += 1


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfunc WriteToOut()
[?25l

:  [?12l[?25h  edit! test.out


[?25l:  [?12l[?25h  $put ='VimLeave done'


[?25l:  [?12l[?25h  write


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               [?12l[?25h[?25l:[?12l[?25hset viminfo='100,nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufUnload * call CloseAll()
[?25l[?12l[?25h[?25l:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[?12l[?25h[?25l:[?12l[?25he small.vim
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"small.vim" 1 line, 1 character


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" 0 lines, 0 characters~                                                                               ~                                                                               ~                                                                               mbyte.vim                                                                       small.vim                                                                       "mbyte.vim" 0 lines, 0 characters[?12l[?25h[?25l:[?12l[?25hq
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"test.out" 6 lines, 62 characters


"test.out" 7 lines, 76 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test8 = test61; then \
#	  if diff test.out test8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test9.failed test.ok test.out X* viminfo
cp test9.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test9.in" 12 lines, 255 charactersTest for Bufleave autocommand that deletes the buffer we are about to edit.



STARTTEST

:so small.vim

:au BufLeave test9.in bwipe yy

:e yy

:/^start of/,$w! test.out      " Write contents of this file

:qa!

ENDTEST



start of test file xx

end of test file xx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Bufleave autocommand that deletes the buffer we are about to edit.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 117 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[?12l[?25h[?25l:[?12l[?25he yy
[?25lE143: Autocommands unexpectedly deleted new buffer yy[?12l[?25h[?25l:[?12l[?25h/^start of/,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 2 lines, 42 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test9 = test61; then \
#	  if diff test.out test9.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test9.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test14.failed test.ok test.out X* viminfo
cp test14.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test14.in" 99 lines, 1606 charactersTests for "vaBiB", end could be wrong.

Also test ":s/pat/sub/" with different ~s in sub.

Also test for ^Vxff and ^Vo123 in Insert mode.

Also test "[m", "]m", "[M" and "]M"

Also test search()



STARTTEST

:so small.vim

/Start cursor here

vaBiBD:?Bug?,/Piece/-2w! test.out

/^- Bug

:s/u/~u~/

:s/i/~u~/

:s/o/~~~/

:.w >>test.out

:if has("ebcdic")

: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"

:else

: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"

:endif

:exe "normal " . tt

:unlet tt

:.w >>test.out[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "vaBiB", end could be wrong.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 56 lines, 1141 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute

Y:$put =@0

/bar /e

:$put =@0

-:keeppatterns /xyz

0dn:/^search()/,$w >>test.out

:qa!

ENDTEST



- Bug in "vPPPP" on this text (Webb):{cmd;{cmd;    /* <-- Start cursor here */{}}}[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25hStart cursor here
[?25l[?12l[?25h[?25l[?12l[?25h[?25l{ 

                        cmd;    /* <-- Start cursor here */ 

                        { 

                        } 

                [?12l[?25h[?25l                cmd; 

                }[?12l[?25h[?25l





6 fewer lines        }Piece of Java{        tt m1 {                t1;e1[?12l[?25h[?25l:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [New File] 3 lines, 44 characters written[?12l[?25h[?25l/[?12l[?25h^- Bug
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/u/~u~/
[?25l[?12l[?25h[?25l:[?12l[?25hs/i/~u~/
[?25luuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l:[?12l[?25hs/o/~~~/
[?25luuuuuuuuun this text (Webb):
[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 48 characters appended[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>


"

[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"


[?25l:  [?12l[?25h:endif
[?25l:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute[?12l[?25h[?25l:[?12l[?25hexe "normal " . tt
[?25lABC !a^Og^G8[?12l[?25h[?25l:[?12l[?25hunlet tt
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset vb
[?25l[?12l[?25h[?25l/[?12l[?25h^Piece
[?25l[?12l[?25h[?25l{A[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25ltt m2 {[?12l[?25h[?25l{B[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25lt2;} e2tt m3 {[?12l[?25h[?25l{C[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25l{DC[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{EA[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{F[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}G e1[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h

[?25lif (x){t3;}} e3[?12l[?25h[?25l}H e3[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l

}[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}JH e3[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 8 characters appended[?12l[?25h[?25l}K e2[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l{LF[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^foobar
[?25lfoobar[?12l[?25h[?25l

:[?12l[?25hlet startline = line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('foobar', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25hcall search('^$', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('^$', 'bc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l/[?12l[?25htwo
[?25lsubstitute foo asdf



one two[?12l[?25h[?25l

:[?12l[?25hcall search('.', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/foo/bar/
[?25lbar
[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25lsearch()

0

1

1

two

foo[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25lxyz[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25l

^substitute[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l

/[?12l[?25hbar /e
[?25l[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l



:[?12l[?25hkeeppatterns /xyz
[?25l[?12l[?25h[?25l

/bar /exyz[?12l[?25h[?25l:[?12l[?25h/^search()/,$w >>test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 9 lines, 58 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test14 = test61; then \
#	  if diff test.out test14.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test14.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test15.failed test.ok test.out X* viminfo
cp test15.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test15.in" 136 lines, 2246 charactersTests for :right on text with embedded TAB.

Also test formatting a paragraph.

Also test undo after ":%s" and formatting.



STARTTEST

:so small.vim

:set tw=65



:/^\s*test for :left/,/^\s*test for :center/ left

:/^\s*test for :center/,/^\s*test for :right/ center

:/^\s*test for :right/,/^xxx/-1 right

:set fo+=tcroql tw=72

/xxxxxxxx$

0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :right on text with embedded TAB.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 401 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=65
[?25l[?12l[?25h[?25l

test for :left[?12l[?25h[?25l

:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25lsearch hit BOTTOM, continuing at TOPtest for :left[?12l[?25h[?25l:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[?12l[?25h[?25l:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[?12l[?25h[?25l:[?12l[?25hset fo+=tcroql tw=72
[?25l[?12l[?25h[?25l/[?12l[?25hxxxxxxxx$
[?25lasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx

xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx

xx xxxxxxx. xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx

> xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h
[?25l

 xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xxxx xxxxxxx.

xxxx xxxx.xxxxxxx: xxxx xxxxxxx, xx xxxx xxxxxxx~                                                                               [?12l[?25h

[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[?12l[?25h[?25l1 more line; before #1  0 seconds ago0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTESTtest for :leftaafaadfaasdfaaasdfaaxasdfaa

asxxdfaatest for :centeraafaafd asdf[?12l[?25h[?25l1 line less; after #1  0 seconds agotest for :lefta      afa    adfa      asdfaaasdfa           axasdfaa                test for :center  aa  fa        afd asdf[?12l[?25h

[?25l:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[?12l[?25h[?25l/[?12l[?25h^aa
[?25lasxxdfaaxxxoikeasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.

xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx

> xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h[?25l





:.,.+2s/^/x/
3 substitutions on 3 linesxaa aa aa aa

xbb bb bb bb

xcc cc cc cc
[?12l[?25h[?25l:set tw=3
[?12l[?25h[?25l





3 more lines

aaaaaa3 more lines[?12l[?25h[?25l

3 fewer lines; before #2  0 seconds agoaa aa aa aa

bb bb bb bb

cc cc cc cc

~                                                                               [?12l[?25h

[?25l:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[New] 111L, 2304C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test15 = test61; then \
#	  if diff test.out test15.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test15.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test19.failed test.ok test.out X* viminfo
cp test19.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test19.in" 33 lines, 692 charactersTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.

Also test that dv_ works correctly



STARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 447 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25lSTARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25hsome
[?25lstart textsome test text[?12l[?25h[?25l    ome test text[?12l[?25h[?25l

:[?12l[?25hset noexpandtab
[?25l[?12l[?25h[?25l/[?12l[?25hother
[?25ltest textother test text[?12l[?25h[?25l    ther test text[?12l[?25h[?25l

a cde[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[?12l[?25h
    [?25l[?12l[?25h[?25l

f ghi[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs
[?25l[?12l[?25h
    [?25l     hi[?12l[?25h[?25l

test text[?12l[?25h[?25l

:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[?12l[?25h[?25l:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[?12l[?25h[?25l{x[?12l[?25h[?25l

:[?12l[?25hset nosol
[?25l[?12l[?25h[?25l/[?12l[?25hSecond line/
[?25l

Second line beginning with whitespace[?12l[?25h[?25l
  with whitespace[?12l[?25h[?25l

:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [New File] 10 lines, 121 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test19 = test61; then \
#	  if diff test.out test19.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test19.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test20.failed test.ok test.out X* viminfo
cp test20.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test20.in" 28 lines, 398 charactersTests Blockwise Visual when there are TABs before the text.

First test for undo working properly when executing commands from a register.

Also test this in an empty buffer.



STARTTEST

:so tiny.vim

G0"ay$k@au

:new

@auY:quit!

GP

/start here$

"by$^Vjjlld

/456$

^Vjj"bP

:/56$/,$-1w! test.out

:qa!

ENDTEST



123456

234567

345678



test text test tex start here[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests Blockwise Visual when there are TABs before the text.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 107 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso tiny.vim
[?25l[?12l[?25h[?25lsome texttest text

test text



Ox^[jAy^[kdd[?12l[?25h[?25lx[?12l[?25h

[?25ly[?12l[?25h[?25ly

Ox^[jAy^[kdd[?12l[?25h[?25l



2 changes; before #1  0 seconds ago[?12l[?25h

[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       123456

234567

345678test text test tex start here

                some texttest

test textOx^[jAy^[kdd

test20.in                                                                       [?12l[?25h[?25lx[+][?12l[?25h

[?25ly[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l1 line less; before #1  0 seconds ago    [?12l[?25h[?25l:[?12l[?25hquit!
[?25l:so tiny.vim

G0"ay$k@au:new@auY:quit!GP/start here$"by$^Vjjlld/456$^Vjj"bP:/56$/,$-1w! test.out:qa!ENDTEST123456

234567

345678test text test tex start heresome

         test text

test textOx^[jAy^[kdd[?12l[?25h[?25l[?12l[?25h[?25l

Ox^[jAy^[kdd[?12l[?25h[?25l

/[?12l[?25hstart here$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25ls[?12l[?25h[?25le[?12l[?25h[?25lt t[?12l[?25h[?25lat [?12l[?25h[?25lrt hereextex[?12l[?25h[?25l/[?12l[?25h456$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25l4

234[?12l[?25h[?25l5

345[?12l[?25h[?25l[?12l[?25h[?25lstart here56

234start here67

345start here78[?12l[?25h[?25l:[?12l[?25h/56$/,$-1w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 10 lines, 106 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test20 = test61; then \
#	  if diff test.out test20.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test20.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test22.failed test.ok test.out X* viminfo
cp test22.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test22.in" 13 lines, 197 charactersTests for file with some lines ending in CTRL-M, some not^M

^M

STARTTEST

:set ta tx

:e!

:$-3,$w! test.out

:qa!

ENDTEST



this lines ends in a^M

this one doesn't

this one does^M

and the last one doesn't

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for file with some lines ending in CTRL-M, some not^M[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset ta tx
[?25l[?12l[?25h[?25l:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[?12l[?25h[?25l:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [New File] 4 lines, 79 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test22 = test61; then \
#	  if diff test.out test22.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test22.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test23.failed test.ok test.out X* viminfo
cp test23.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test23.in" 15 lines, 282 charactersTests for complicated + argument to :edit command



STARTTEST

:$-1w! Xfile1

:$w! Xfile2

:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w

:w! test.out

:e Xfile1

:w >> test.out

:qa!

ENDTEST



The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"

foo|bar

foo/bar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for complicated + argument to :edit command[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" 1 line, 8 characters


foo|bar


"Xfile1" 1 line, 11 characters written


"Xfile2" 1 line, 8 characters


foo/bar


"Xfile2" 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 charactersfooPIPEbar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xfile1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hw >> test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test23 = test61; then \
#	  if diff test.out test23.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test23.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test24.failed test.ok test.out X* viminfo
cp test24.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test24.in" 89 lines, 1301 charactersTests for regexp with backslash and other special characters inside []

Also test backslash for hex/octal numbered character.



STARTTEST

:set nocompatible viminfo+=nviminfo

/[\x]

x/[\t\]]

x/[]y]

x/[\]]

x/[y^]

x/[$y]

x/[\x61]

x/[\x60-\x64]

xj0/[\x785]

x/[\o143]

x/[\o140-\o144]

x/[\o417]

x/\%x42

x/\%o103

x/[\x00]

x

:s/[\x00-\x10]//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with backslash and other special characters inside [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 51 lines, 519 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/



:s/aaa/xyz/



:s/~/bcd/



:s/~\+/BB/

:"

:?start?,$w! test.out

:qa!

ENDTEST



start

test \text test text

test    text test text

test text ]test text

test ]text test text

test text te^st text

test te$xt test text

test taext test text  x61

test tbext test text  x60-x64

test 5text test text  x78 5[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h[\x]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[\t\]]
[?25l[?12l[?25h[?25ltext test tex[?12l[?25h[?25l/[?12l[?25h[]y]
[?25l[?12l[?25h[?25ltest text[?12l[?25h[?25l/[?12l[?25h[\]]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[y^]
[?25l[?12l[?25h[?25lst text[?12l[?25h[?25l/[?12l[?25h[$y]
[?25l[?12l[?25h[?25lxt test text[?12l[?25h[?25l/[?12l[?25h[\x61]
[?25l[?12l[?25h[?25lext test text  x61[?12l[?25h[?25l/[?12l[?25h[\x60-\x64]
[?25l[?12l[?25h[?25lext test text  x60-x64[?12l[?25h
[?25l/[?12l[?25h[\x785]
[?25l[?12l[?25h[?25ltext test text  x78 5[?12l[?25h[?25l/[?12l[?25h[\o143]
[?25l

testc text test text  o143[?12l[?25h[?25l text test text  o143[?12l[?25h[?25l

/[?12l[?25h[\o140-\o144]
[?25l

tesdt text test text  o140-o144[?12l[?25h[?25lt text test text  o140-o14[?12l[?25h[?25l

/[?12l[?25h[\o417]
[?25l

test7 text test text  o41 7[?12l[?25h[?25l text test text  o41 7[?12l[?25h[?25l

/[?12l[?25h\%x42
[?25l

test text tBest text  \%x42[?12l[?25h[?25lest text  \%x42[?12l[?25h[?25l

/[?12l[?25h\%o103
[?25l

test text teCst text  \%o103[?12l[?25h[?25lst text  \%o103[?12l[?25h[?25l

/[?12l[?25h[\x00]
[?25l

test text ^@test text  [\x00][?12l[?25h[?25ltest text  [\x00][?12l[?25h[?25l

test te^@xt t^Dest t^Pext  [\x00-\x10][?12l[?25h[?25l

:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 linext test text  [\x00-\x10][?12l[?25h[?25l

test \xyztext test text  [\x-z][?12l[?25h[?25l

:[?12l[?25hs/[\x-z]\+//
[?25ltext test text  [\x-z][?12l[?25h[?25l

test text tev\uyst text  [\u-z][?12l[?25h[?25l

:[?12l[?25hs/[\u-z]\{2,}//
[?25lst text  [\u-z][?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\+//
[?25l xx [?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)\+//
[?25l[?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)*//
[?25l[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{2,3}/A/
[?25lAaa xx[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25lAaaa x[?12l[?25h[?25l

xx aaa12aa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25lAaa xx[?12l[?25h[?25l

xx foobar xbar xx[?12l[?25h[?25l

:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25lA xx[?12l[?25h[?25l

xx an file xx[?12l[?25h[?25l

:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25lA xx[?12l[?25h[?25l

x= 9;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25lXX
[?12l[?25h[?25l

hh= 77;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25lYY 77;[?12l[?25h[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hs/aaa/xyz/
[?25lxyz
 [?12l[?25h[?25l

xyz[?12l[?25h[?25l

:[?12l[?25hs/~/bcd/
[?25lbcd
 [?12l[?25h[?25l

bcdbcdbcd[?12l[?25h[?25l

:[?12l[?25hs/~\+/BB/
[?25lBB[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [New] 32L, 586C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test24 = test61; then \
#	  if diff test.out test24.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test24.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test26.failed test.ok test.out X* viminfo
cp test26.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test26.in" 44 lines, 750 charactersTest for :execute, :while and :if



STARTTEST

:so small.vim

mt:let i = 0

:while i < 12

:  let i = i + 1

:  if has("ebcdic")

:    execute "normal o" . i . "\047"

:  else

:    execute "normal o" . i . "\033"

:  endif

:  if i % 2

:    normal Ax^V^[

:    if i == 9

:      break

:    endif

:    if i == 5

:      continue

:    else

:      let j = 9

:      while j > 0

:if has("ebcdic")[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for :execute, :while and :if[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 39 lines, 696 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:      let j = 9

:      while j > 0

:if has("ebcdic")

:execute "normal" j . "a" . j . "\x27"

:else

:execute "normal" j . "a" . j . "\x1b"

:endif

:let j = j - 1

:      endwhile

:    endif

:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 0
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i < 12
[?25l

:  [?12l[?25h:  let i = i + 1


[?25l:  [?12l[?25h:  if has("ebcdic")


[?25l:    [?12l[?25h:    execute "normal o" . i . "\047"


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    execute "normal o" . i . "\033"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i % 2


[?25l:    [?12l[?25h:    normal Ax^^[


[?25l:    [?12l[?25h:    if i == 9


[?25l:      [?12l[?25h:      break


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if i == 5


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      let j = 9


[?25l:      [?12l[?25h:      while j > 0


[?25l:[?12l[?25h:        if has("ebcdic")


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x27"


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x1b"


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        let j = j - 1


[?25l:[?12l[?25h:      endwhile


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i == 9


[?25l:    [?12l[?25h:    if has("ebcdic")


[?25l:      [?12l[?25h:      execute "normal Az\047"


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      execute "normal Az\033"


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endwhile
[?25l:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST



1x999999999888888887777777666666555554444333221

2

3x999999999888888887777777666666555554444333221

4

5x

6

7x999999999888888887777777666666555554444333221

8

9x[?12l[?25h[?25l

:[?12l[?25hunlet i j
[?25l[?12l[?25h[?25l:[?12l[?25h't,$w! test.out
[?25l"test.out" [New File] 10 lines, 159 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test26 = test61; then \
#	  if diff test.out test26.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test26.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test28.failed test.ok test.out X* viminfo
cp test28.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test28.in" 23 lines, 364 charactersTest for sourcing a file with CTRL-V's at the end of the line



STARTTEST

:/firstline/+1,/lastline/-1w! Xtestfile

:so Xtestfile

Gmm__1^[^[__2^[__3^[^[__4^[__5^[:'m,$s/^@/0/g

:'m,$w! test.out

:qa!

ENDTEST



firstline

map __1 afirst

map __2 asecond

map __3 athird

map __4 afourth

map __5 afifth

map __1 asd^V

map __2 asd^V^V

map __3 asd^V^V

map __4 asd^V^V^V

map __5 asd^V^V^V

lastline[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for sourcing a file with CTRL-V's at the end of the line[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [New File] 10 lines, 148 characters written[?12l[?25h[?25l:[?12l[?25hso Xtestfile
[?25l[?12l[?25h[?25l

sd

map __2 asd^[[?12l[?25h[?25lsecond[?12l[?25hd  [?25lsd^[[?12l[?25h^[  [?25lsd^@map __5 asd^@[?12l[?25h[?25lfifth[?12l[?25h[?25l

:[?12l[?25h'm,$s/^@/0/g
[?25l0map __5 asd0fifth[?12l[?25h[?25l:[?12l[?25h'm,$w! test.out
[?25l"test.out" [New File] 2 lines, 45 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test28 = test61; then \
#	  if diff test.out test28.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test28.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test29.failed test.ok test.out X* viminfo
cp test29.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test29.in" 230 lines, 4261 charactersTest for joining lines and marks in them

 in compatible and nocompatible modes

 and with 'joinspaces' set or not

 and with 'cpoptions' flag 'j' set or not



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set nojoinspaces

:set cpoptions-=j

/firstline/

j"td/^STARTTEST/-1

PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=jj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss+=j

j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2

ENDTEST



firstline

asdfasdf.

asdf[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for joining lines and marks in them[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 478 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j
[?25l[?12l[?25h[?25l/[?12l[?25hfirstline/
[?25l[?12l[?25h

[?25l/[?12l[?25h^STARTTEST/-1
[?25l+-1
37 fewer linesSTARTTEST

/^{/+1[?12l[?25h[?25lmore linesasdfasdf.

asdf[?12l[?25h[?25lasdf

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop!

ert[?12l[?25h
hjkl i[?25l. as dfg? hjkl iop! ert

zx cvn.

as dfg?hjkl iop![?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv
hjkl i[?25l. as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg?  hjkl iop!  ert

zx cvn.

as dfg?[?12l[?25h  er[?25lt  e[?12l[?25h
zx cv[?25len[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv[?25l

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l.  as dfg? hjkl iop! ert[?12l[?25h[?25lt  a[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l

/[?12l[?25hSTARTTEST/-2
[?25l+-2
4 fewer lines[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 147 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set comments=s1:/*,mb:*,ex:*/,://

:set nojoinspaces fo=j

:set backspace=eol,start

:.,+3join

j4J

:.,+2join

j3J

:.,+2join

j3J

:.,+2join

jj3J

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 17 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:inoremap <c-u> <left><c-u>

Avim3^U^[

:iunmap <c-u>

Avim4^U^U^[

:" Test with backspace set to the compatible setting

:set backspace= visualbell

A vim5^[A^U^U^[

A vim6^[Azwei^Gu^U^[

:inoremap <c-u> <left><c-u>

A vim7^U^U^[

:set compatible novisualbell

ENDTEST

1 this shouldn't be deleted

2 this shouldn't be deleted

3 this shouldn't be deleted

4 this should be deleted

5 this shouldn't be deleted

6 this shouldn't be deleted

7 this shouldn't be deleted

8 this shouldn't be deleted (not touched yet)



STARTTEST

/^{/+1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[?12l[?25h[?25l/[?12l[?25h^\d\+ this
[?25l[?12l[?25h[?25l:[?12l[?25hset cp bs=2
[?25l[?12l[?25h[?25l[?12l[?25hd    [?25lvim2[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?25ld3[?12l[?25h[?25l:[?12l[?25hiunmap <c-u>
[?25l[?12l[?25h[?25l[?12l[?25h

[?25l:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace= visualbell
[?25l[?12l[?25h[?25lvim5[?12l[?25h[?5h[?5l[?5h[?5l[?25ld vim6[?12l[?25h6    [?25lzwei[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?5h[?5l[?5h[?5l[?25lvim7[?12l[?25h

[?25l:[?12l[?25hset compatible novisualbell
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 21 lines, 356 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj3J

:.,+2join

j3J

:.,+2join

jj3J

j:.,+2join

jj3J

j:.,+5join

j6J

oSome code!^M// Make sure backspacing does not remove this comment leader.^[0i^HH^[

ENDTEST



{



/*

 * Make sure the previous comment leader is not removed.

 */



/*

 * Make sure the previous comment leader is not removed.

 */[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed.  *//* List:

 * - item1

 *   foo bar baz[?12l[?25h

[?25l/* Make sure the previous comment leader is not removed.  */*   foo bar baz

 * - item2

 *   foo bar baz[?12l[?25h

[?25l:[?12l[?25h.,+8join
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz *//* List:- item1  foo bar baz

 * - item2[?12l[?25h

[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */// Should the next comment leader be left alone?

// Yes.// Should the next comment leader be left alone?[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lShould the next comment leader be left alone?  Yes.





// Yes.[?12l[?25h

[?25l// Should the next comment leader be left alone?  Yes.* Here the comment leader should be left intact. */

// And so should this one.[?12l[?25h

[?25l





:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.* Here the comment leader should be left intact. */[?12l[?25h

[?25l/* Here the comment leader should be left intact. */ // And so should this one.[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;[?12l[?25h[?25l

[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+5join
[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25lSome code!

// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l// Make sure backspacing does not remove this comment leader.

}[?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 61 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:?firstline?+1,$w! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines// Should the next comment leader be left alone?  Yes./* Here the comment leader should be left intact. */ // And so should this one.

/* Here the comment leader should be left intact. */ // And so should this one.

if (condition) // Remove the next comment leader!  OK, I will.

    action();if (condition) // Remove the next comment leader!  OK, I will.

    action();int i = 7 /* foo *// 3 // comment

 ;int i = 7 /* foo *// 3 // comment ;># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.



Some code!// Make sure backspacing does not remove this comment leader.

}[?12l[?25h[?25l:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [New File] 97 lines, 3018 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test29 = test61; then \
#	  if diff test.out test29.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test29.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test31.failed test.ok test.out X* viminfo
cp test31.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test31.in" 95 lines, 1832 charactersTest for commands that close windows and/or buffers:

:quit

:close

:hide

:only

:sall

:all

:ball

:buf

:edit



STARTTEST

:so small.vim

GA 1^[:$w! Xtest1

$r2:$w! Xtest2

$r3:$w! Xtest3

:n! Xtest1 Xtest2

A 1^[:set hidden

:" test for working :n when hidden set; write "testtext 2"

:n

:w! test.out

:" test for failing :rew when hidden not set; write "testtext 2 2"

:set nohidden[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for commands that close windows and/or buffers:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 80 lines, 1697 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" test ":q!" and hidden buffer.

:bw! Xtest1 Xtest2 Xtest3 Xtest4

:sp Xtest1

:wincmd w

:bw!

:set modified

:bot sp Xtest2

:set modified

:bot sp Xtest3

:set modified

:wincmd t

:hide

:q!

:w >>test.out

:q!

:w >>test.out

:q!

:call append(line('$'), "Oh, Not finished yet.")

:w >>test.out

:qa!

ENDTEST



testtext[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h

[?25l1[?12l[?25h[?25l:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [New File] 1 line, 11 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [New File] 1 line, 11 characters written[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" 1 line, 11 characterstesttext 1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[?12l[?25h[?25l:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters2[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hrew
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)1 1
[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hsp
[?25lXtest1 [+]                                                                      testtext 1 1 1Xtest1 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)2 22 [?12l[?25h[?25l:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characterstesttext 1 1 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25lXtest1 [+]                                                                      Xtest2 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 2 2" twice
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l1 1[?12l[?25h[?25l:[?12l[?25hq!
[?25ltesttext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25hunhide
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hhide
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3"
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1


"[?25ltesttext 3 3[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters1[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3 3"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)3 3Xtest3 [+]                                                                      testtext 1Xtest1                                                                          [?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 1"
[?25l[?12l[?25h[?25l3 3[?12l[?25h[?25l:[?12l[?25hclose!
[?25l1~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File]Xtest4                                                                          testtext 1Xtest1                                                                          [?12l[?25h[?25l 4[+][?12l[?25h[?25l:[?12l[?25hall!
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)


"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25ltesttext 2 2 2

~                                                                               Xtest2 [+]                                                                      testtext 3 3 3 3~                                                                               3 [+][?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[?12l[?25h[?25l:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"95 lines, 1832 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp Xtest1
[?25l"Xtest1" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               Xtest1                                                                          :w >>test.out:q!:w >>test.out:q!:call append(line('$'), "Oh, Not finished yet."):w >>test.out:qa!ENDTESTtesttexttest31.in "Xtest1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25lXtest1                                                                           test31.in                                                                       [?12l[?25h[?25l:[?12l[?25hbw!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[?12l[?25h[?25l:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" 1 line, 11 charactersXtest1 [+]                                                                      testtext 2Xtest2                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hwincmd t
[?25lXtest1 [+]                                                                      Xtest3 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hhide
[?25ltesttext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hq!
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hq!
[?25lE37: No write since last change


E162: No write since last change for buffer "Xtest1"


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test31 = test61; then \
#	  if diff test.out test31.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test31.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test33.failed test.ok test.out X* viminfo
cp test33.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test33.in" 34 lines, 616 charactersTest for 'lisp'

If the lisp feature is not enabled, this will fail!



STARTTEST

:so small.vim

:set lisp

/^(defun

=G:/^(defun/,$w! test.out

:q!

ENDTEST



(defun html-file (base)

(format nil "~(~A~).html" base))



(defmacro page (name title &rest body)

(let ((ti (gensym)))

`(with-open-file (*standard-output*

(html-file ,name)

:direction :output

:if-exists :supersede)

(let ((,ti ,title))

(as title ,ti)

(with center[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'lisp'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 63 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset lisp
[?25l[?12l[?25h[?25l/[?12l[?25h^(defun
[?25l[?12l[?25h[?25l22 lines to indent...
23indented   (format nil "~(~A~).html" base))





  (let ((ti (gensym)))

       `(with-open-file (*standard-output*

                 (html-file ,name)

                  :direction :output

                         :if-exists :supersede)

                        (let ((,ti ,title))

              (as title ,ti)

            (with center[?12l[?25h[?25l:[?12l[?25h/^(defun/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 23 lines, 544 characters written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test33 = test61; then \
#	  if diff test.out test33.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test33.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test34.failed test.ok test.out X* viminfo
cp test34.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test34.in" 87 lines, 1833 charactersTest for user functions.

Also test an <expr> mapping calling a function.

Also test that a builtin function cannot be replaced.

Also test for regression when calling arbitrary expression.



STARTTEST

:so small.vim

:function Table(title, ...)

:  let ret = a:title

:  let idx = 1

:  while idx <= a:0

:    exe "let ret = ret . a:" . idx

:    let idx = idx + 1

:  endwhile

:  return ret

:endfunction

:function Compute(n1, n2, divname)

:  if a:n2 == 0

:    return "fail"

:  endif

:  exe "let g:" . a:divname . " = ". a:n1 / a:n2

:  return "ok"

:endfunction[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for user functions.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 78 lines, 1621 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'

:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!

ENDTEST



here[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction Table(title, ...)
[?25l

:  [?12l[?25h:  let ret = a:title


[?25l:  [?12l[?25h:  let idx = 1


[?25l:  [?12l[?25h:  while idx <= a:0


[?25l:    [?12l[?25h:    exe "let ret = ret . a:" . idx


[?25l:    [?12l[?25h:    let idx = idx + 1


[?25l:    [?12l[?25h:  endwhile


[?25l:  [?12l[?25h:  return ret


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch[?12l[?25h[?25l



:[?12l[?25hfunction Compute(n1, n2, divname)
[?25l

:  [?12l[?25h:  if a:n2 == 0


[?25l:    [?12l[?25h:    return "fail"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  exe "let g:" . a:divname . " = ". a:n1 / a:n2


[?25l:  [?12l[?25h:  return "ok"


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))[?12l[?25h[?25l



:[?12l[?25hfunc Expr1()
[?25l

:  [?12l[?25h:  normal! v


[?25l:  [?12l[?25h:  return "111"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc Expr2()
[?25l

:  [?12l[?25h:  call search('XX', 'b')


[?25l:  [?12l[?25h:  return "222"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListItem()
[?25l

:  [?12l[?25h:  let g:counter += 1


[?25l:  [?12l[?25h:  return g:counter . '. '


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListReset()
[?25l

:  [?12l[?25h:  let g:counter = 0


[?25l:  [?12l[?25h:  return ''


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc FuncWithRef(a)
[?25l

:  [?12l[?25h:  unlet g:FuncRef


[?25l:  [?12l[?25h:  return a:a


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[?12l[?25h[?25l:[?12l[?25hlet counter = 0
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> + Expr1()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> * Expr2()
[?25l[?12l[?25h[?25l:[?12l[?25hlet retval = "nop"
[?25l[?12l[?25h[?25l/[?12l[?25h^here
[?25l[?12l[?25h[?25lher$=[?12l[?25hTable("xxx", 4, "asdf")
[?25l=[?12l[?25hCompute(45, 0, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hCompute(45, 5, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hg:FuncRef(333)


[?25lError detected while processing function Expr1:


line    1:


E523: Not allowed here


Press ENTER or type command to continue[?12l[?25h[?25l:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'$put =v:exception

:endtry$-9,$w! test.outdelfunc Table

:delfunc Computedelfunc Expr1delfunc Expr2

:delfunc ListItemListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX---222---

1. one2. two[?12l[?25h[?25l1. one again[?12l[?25h[?25l

:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25lE704: Funcref variable name must start with a capital: max[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:    " Regression: the first line below used to throw ?E110: Missing ')'?


[?25l:  [?12l[?25h:    " Second is here just to prove that this line is correct when not skipp


ing


[?25l:  [?12l[?25h:    " rhs of &&.


[?25l:  [?12l[?25h:    $put =(0&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:    $put =(1&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:    $put ='!!! Unexpected exception:'


[?25l:  [?12l[?25h:    $put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX

---222---

1. one

2. two1. one again

330[?12l[?25h[?25l

:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [New File] 10 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25hdelfunc Table
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Compute
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr1
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr2
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListItem
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListReset
[?25l[?12l[?25h[?25l:[?12l[?25hunlet retval counter
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test34 = test61; then \
#	  if diff test.out test34.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test34.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test36.failed test.ok test.out X* viminfo
cp test36.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test36.in" 108 lines, 2025 charactersTest character classes in regexp using regexpengine 0, 1, 2.



STARTTEST

/^start-here/+1

Y:s/\%#=0\d//g

p:s/\%#=1\d//g

p:s/\%#=2\d//g

p:s/\%#=0[0-9]//g

p:s/\%#=1[0-9]//g

p:s/\%#=2[0-9]//g

p:s/\%#=0\D//g

p:s/\%#=1\D//g

p:s/\%#=2\D//g

p:s/\%#=0[^0-9]//g

p:s/\%#=1[^0-9]//g

p:s/\%#=2[^0-9]//g

p:s/\%#=0\o//g

p:s/\%#=1\o//g

p:s/\%#=2\o//g

p:s/\%#=0[0-7]//g

p:s/\%#=1[0-7]//g

p:s/\%#=2[0-7]//g

p:s/\%#=0\O//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest character classes in regexp using regexpengine 0, 1, 2.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 101 lines, 1850 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTp:s/\%#=1[^a-z]//g

p:s/\%#=2[^a-z]//g

p:s/\%#=0\u//g

p:s/\%#=1\u//g

p:s/\%#=2\u//g

p:s/\%#=0[A-Z]//g

p:s/\%#=1[A-Z]//g

p:s/\%#=2[A-Z]//g

p:s/\%#=0\U//g

p:s/\%#=1\U//g

p:s/\%#=2\U//g

p:s/\%#=0[^A-Z]//g

p:s/\%#=1[^A-Z]//g

p:s/\%#=2[^A-Z]//g

p:s/\%#=0\%204l^\t...//g

p:s/\%#=1\%205l^\t...//g

p:s/\%#=2\%206l^\t...//g

:/^start-here/+1,$wq! test.out

ENDTEST




[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^start-here/+1
[?25l[?12l[?25h[?25l:[?12l[?25hs/\%#=0\d//g



:[?12l[?25hs/\%#=1\d//g



:[?12l[?25hs/\%#=2\d//g



:[?12l[?25hs/\%#=0[0-9]//g



:[?12l[?25hs/\%#=1[0-9]//g



:[?12l[?25hs/\%#=2[0-9]//g



:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\o//g



:[?12l[?25hs/\%#=1\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l

[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\x//g




:[?12l[?25hs/\%#=1\x//g




:[?12l[?25hs/\%#=2\x//g




:[?12l[?25hs/\%#=0[0-9A-Fa-f]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-9A-Fa-f]//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\w//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\w//g





:[?12l[?25hs/\%#=1[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=2[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\h//g




:[?12l[?25hs/\%#=1\h//g




:[?12l[?25hs/\%#=2\h//g




:[?12l[?25hs/\%#=0[A-Za-z_]//g




:[?12l[?25hs/\%#=1[A-Za-z_]//g




:[?12l[?25hs/\%#=2[A-Za-z_]//g




:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\a//g




:[?12l[?25hs/\%#=1\a//g




:[?12l[?25hs/\%#=2\a//g




:[?12l[?25hs/\%#=0[A-Za-z]//g




:[?12l[?25hs/\%#=1[A-Za-z]//g




:[?12l[?25hs/\%#=2[A-Za-z]//g




:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\l//g



:[?12l[?25hs/\%#=1\l//g



:[?12l[?25hs/\%#=2\l//g



:[?12l[?25hs/\%#=0[a-z]//g



:[?12l[?25hs/\%#=1[a-z]//g



:[?12l[?25hs/\%#=2[a-z]//g



:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\u//g



:[?12l[?25hs/\%#=1\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l

[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\%204l^\t...//g



:[?12l[?25hs/\%#=1\%205l^\t...//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\%206l^\t...//g
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 99 lines, 4269 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test36 = test61; then \
#	  if diff test.out test36.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test36.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test37.failed test.ok test.out X* viminfo
cp test37.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test37.in" 116 lines, 3262 charactersTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vim

:set noscrollbind

:set scrollopt=ver,jump

:set scrolloff=2

:set nowrap

:set noequalalways

:set splitbelow

:" TEST using two windows open to one buffer, one extra empty window

:split

:new

^Wt:

:resize 8

/^start of window 1$/

zt:

:set scrollbind

^Wj:

:resize 7

/^start of window 2$/

zt:

:set scrollbind

:" -- start of tests --[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below![?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 1498 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTHk^WtH^WjHyy^Wbp^Wtyy^Wbp:

^Wt:set noscb

ggL^Wj:set noscb

ggL:set scb

^Wt:set scb

^WtG^WjG^Wt:syncbind

Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out" Write contents of this file

:qa!

ENDTEST





start of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt=ver,jump
[?25l[?12l[?25h[?25l:[?12l[?25hset scrolloff=2
[?25l[?12l[?25h[?25l:[?12l[?25hset nowrap
[?25l[?12l[?25h[?25l:[?12l[?25hset noequalalways
[?25l[?12l[?25h[?25l:[?12l[?25hset splitbelow
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[?12l[?25h[?25l:[?12l[?25hsplit
[?25l^WtH3k^WtHyybp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out    " Write contents of this file

:qa!ENDTESTstart of window 1. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02test37.in                                                                       Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out     " Write contents of this file

:qa!ENDTESTstart of window 11122

test37.in                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l:w! test.out             " Write contents of this file

:qa!ENDTESTtest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 8
[?25l:" ***** done with tests *****w! test.out             " Write contents of this file

:qa!ENDTESTstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

test37.in                                                                       :" ***** done with tests *****:w! test.out             " Write contents of this fileqa!ENDTESTstart of window 1[?12l[?25h[?25l/[?12l[?25h^start of window 1$/
[?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 7
[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lend of window 1start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[?12l[?25h[?25l

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h



[?25l. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[?12l[?25htest37.in                                                                        [No Name]                                                                       [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[+][?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    





[?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l2[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08440505060607070808090900[?12l[?25htest37.in                                                                        test37.in                                                                       test37.in                                                                       test37.in                                                                        test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       test37.in                                                                        test37.in                                                                        test37.in                                                                       test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0656789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415UTSRQPONMLKJIHGREDCBA9876543210 09101112131415[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25h[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" ****** tests using two different buffers *****
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25lstart of window 20000000000[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[?12l[?25h[?25l:[?12l[?25hnew
[?25ltest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        test37.in                                                                        [No Name]                                                                       [?25l4 more lines[+][?12l[?25h





[?25l18 more linesstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l/[?12l[?25h^start of window 1$/
[?25lsearch hit BOTTOM, continuing at TOPENDTESTstart of window 1010102020303[?12l[?25h[?25l

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h





[?25l. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    



[?25l. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l440505060607070808090900. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

46 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

56 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06UTSRQPONMLKJIHGREDCBA9876543210 07[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415



UTSRQPONMLKJIHGREDCBA9876543210 0910111213141516[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST syncbind
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST:so small.vim:set noscrollbind:set scrollopt=ver,jump:set scrolloff=2:set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 201010202[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25h[?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vimset noscrollbindset scrollopt=ver,jump

:set scrolloff=2set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lzt:

:set scrollbind

^Wj:

:resize 7. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

^Wj:
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" ***** done with tests *****
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out             " Write contents of this file
[?25l"test.out" [New File] 33 lines, 1329 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test37 = test61; then \
#	  if diff test.out test37.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test37.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test38.failed test.ok test.out X* viminfo
cp test38.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test38.in" 35 lines, 455 charactersTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 407 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTopq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25l^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST

[?12l[?25h[?25lTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz[?12l[?25h[?25l

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l

abcdefghijk      lmn    opq rstuvwxyz[?12l[?25h[?25l:[?12l[?25hset ai
[?25l[?12l[?25h[?25l:[?12l[?25hset bs=2
[?25l[?12l[?25h[?25l 1

 A BCDEFGHIJ    KL        MNOPQR[?12l[?25h[?25l:[?12l[?25hka
[?25l[?12l[?25h[?25labcdefghijk      lmn    opq rstuvwxyz[?12l[?25h

[?25l 1[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25lab      cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB      IJKLMNO QR[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 13 lines, 107 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test38 = test61; then \
#	  if diff test.out test38.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test38.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test39.failed test.ok test.out X* viminfo
cp test39.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test39.in" 118 lines, 2435 charactersTest Visual block mode commands

And test "U" in Visual mode, also on German sharp S.



#define BO_ALL      0x0001

#define BO_BS0x0002

#define BO_CRSR     0x0004



STARTTEST

:so small.vim

:so mbyte.vim

:" This only works when 'encoding' is "latin1", don't depend on the environment

:set enc=latin1

/^abcde

:" Test shift-right of a block

jllll^Vjj>wll^Vjlll>

:" Test shift-left of a block

G$hhhh^Vkk<

:" Test block-insert

Gkl^VkkkIxyz^[

:" Test block-replace

Gllll^Vkkklllrq

:" Test block-change[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 75 lines, 2061 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h[?25l/[?12l[?25h^abcde
[?25lbbbb

cccc

dddd



yaaa


bbb



A23

4567



B23

4567



C23

4567



abcdefghijklm[?12l[?25h[?25l

:[?12l[?25h" Test shift-right of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25habcd[?25l[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

3 lines >ed 1 time        efghijklm

abcd        efghijklm

abcd        efghijklm[?12l[?25h     ef[?25l[?12l[?25h[?25lg[?12l[?25h[?25lhg[?12l[?25h[?25lih[?12l[?25h[?25lji[?12l[?25h[?25l        ghijklm        ghijklm[?12l[?25h[?25l:[?12l[?25h" Test shift-left of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25h[?25l[?12l[?25h[?25li[?12l[?25h[?25l [?12l[?25h[?25l





3 lines <ed 1 timeef    efghijklmi[?12l[?25h[?25l:[?12l[?25h" Test block-insert
[?25l[?12l[?25h

a[?25l[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25l

ab

ab

abxyzbcdefghijklm

axyzbcd

axyzbcd

axyzbcd[?12l[?25h

a[?25l:[?12l[?25h" Test block-replace
[?25l[?12l[?25h





abcd[?25l[?12l[?25h[?25le[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lbccf[?12l[?25h[?25lcddg[?12l[?25h[?25ld  h[?12l[?25h[?25lqqqq

axyzqqqq

axyzqqqq

abcdqqqq[?12l[?25h

axyz[?25l:[?12l[?25h" Test block-change
[?25l[?12l[?25h



[?25l[?12l[?25h[?25lj[?12l[?25h[?25li[?12l[?25h[?25l     ghijkl[?12l[?25h[?25lef  gkl[?12l[?25h[?25lmnomnomno[?12l[?25h[?25l:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [New File] 5 lines, 108 characters written[?12l[?25h[?25l:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[?12l[?25h[?25l/[?12l[?25h^aaaa/
[?25lsearch hit BOTTOM, continuing at TOPaaaaaa

bbbbbb

cccccc

ddddddsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right>  \<Esc>"
[?25l  aaa

bbb  bbb

ccc  ccc

ddd  ddd[?12l[?25h[?25l:[?12l[?25h/^aa/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 37 characters appended[?12l[?25h[?25l/[?12l[?25hxaaa$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l<p>xaaa

<p>bbbb

<p>cccc

<p>dddd[?12l[?25h[?25l:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 33 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[?12l[?25h[?25l/[?12l[?25h^A23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[?12l[?25h[?25l/[?12l[?25h^B23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[?12l[?25h[?25l/[?12l[?25h^C23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25lab

456ab7[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all enc=utf-8
[?25laaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa

<bf><bf><bf>

bbb



A23ab

4567ab



B23 ab

4567ab



C23ab

456ab7[?12l[?25h[?25l





:[?12l[?25h/\t\tline
[?25lsearch hit BOTTOM, continuing at TOPline1line2line3search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25lxxx[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 4 lines, 49 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25lx   line1x   line2x   line3[?12l[?25h[?25l:[?12l[?25hset ve= enc=latin1
[?25lx     x   line1x     x   line2x     x   line3



aaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa


bbb



A23ab

4567ab



B23 ab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l[?12l[?25h[?25lC23ab

456ab7



axyzbcdefghijklm

axyzqqqq   mnoghijklm

axyzqqqqef mnoghijklm

axyzqqqqefgmnoklm

abcdqqqqijklm[?12l[?25h[?25l


[?12l[?25hthe [?25lYOUTUSSEUU end
the [?12l[?25h

the [?25l

:[?12l[?25h" gUfx must uppercase until x, inclusive.
[?25l[?12l[?25h[?25l
- y[?25lOUSSTUSSEXu -
- y[?12l[?25h[?25l


:[?12l[?25h" VU must uppercase a whole line
[?25l[?12l[?25h[?25l

[?12l[?25h[?25lTHE YOUTUSSEUU END
[?12l[?25h

[?25l

:[?12l[?25h" same, when it's the last line in the buffer
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

11[?12l[?25h[?25l
11[?12l[?25h[?25l
111THE YOUTUSSEUU END
[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l111THE YOUTUSSEUU END


[?25l

:[?12l[?25h" Uppercase two lines
[?25l[?12l[?25h[?25l

blah didoh dut[?12l[?25h[?25l
doh dut [?12l[?25h[?25lblah di t[?12l[?25h[?25l
BLAH DIDOH DUT[?12l[?25h[?25l


:[?12l[?25h" Uppercase part of two lines
[?25l[?12l[?25h[?25l
~                                                                               [?12l[?25h[?25l


33[?12l[?25h

333the yo[?12l[?25h[?25lut[?12l[?25h[?25lUTUSSEUU END

333THE YOUTU[?12l[?25h[?25l



:[?12l[?25h" visual replace using Enter or NL
[?25l[?12l[?25h

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^M65

98^M65

98^M65[?12l[?25h

98

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^@65

98^@65

98^@65[?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cpos=getpos("'>")
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l

col:4 off:0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[?12l[?25h[?25l:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h4,7y
[?25l4 lines yanked[?12l[?25h[?25l

4 more lines

4 more lines[?12l[?25h[?25l

#define BO_ALL      0x0001[?12l[?25h[?25l

:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l    0x0001

#define BO_BS0x0002

#define BO_CRSR0x0004[?12l[?25h[?25l





:[?12l[?25h/^the/,$w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 31 lines, 322 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test39 = test61; then \
#	  if diff test.out test39.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test39.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test40.failed test.ok test.out X* viminfo
cp test40.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test40.in" 63 lines, 1536 charactersTest for "*Cmd" autocommands



STARTTEST

:so small.vim

:/^start/,$w! Xxx" write lines below to Xxx

:au BufReadCmd XtestA 0r Xxx|$del

:e XtestA" will read text of Xxd instead

:au BufWriteCmd XtestA call append(line("$"), "write")

:w" will append a line to the file

:r XtestA" should not read anything

:" now we have:

:" 1     start of Xxx

:" 2test40

:" 3     end of Xxx

:" 4     write

:au FileReadCmd XtestB '[r Xxx

:2r XtestB" will read Xxx below line 2 instead

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test40

:" 5     end of Xxx

:" 6     end of Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for "*Cmd" autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1455 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$w >>test.out" append "end of Xxx" to test.out

:au BufReadCmd XtestE 0r test.out|$del

:sp XtestE" split window with test.out

5Goasdf^[^W^W:"

:au BufWriteCmd XtestE w! test.out

:wall" will write other window to test.out

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test401

:" 5     end of Xxx

:" 6     asdf

:" 7     end of Xxx

:" 8     write

:" 9test401

:" 10    end of Xxx

:" 11    end of Xxx

:qa!

ENDTEST



start of Xxxtest40

end of Xxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$w! Xxx^I^I" write lines below to Xxx
[?25l"Xxx" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[?12l[?25h[?25l:[?12l[?25he XtestA^I^I^I" will read text of Xxd instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxx        test40end of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[?12l[?25h[?25l:[?12l[?25hw^I^I^I^I" will append a line to the file
[?25lwrite[?12l[?25h[?25l:[?12l[?25hr XtestA^I^I^I" should not read anything
[?25lE484: Can't open file XtestA[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" now we have:
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h2r XtestB^I^I^I" will read Xxx below line 2 instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxxtest40

end of Xxx[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[?12l[?25h[?25ltest401[?12l[?25h[?25l:[?12l[?25h4,5w XtestC^I^I^I" will copy lines 4 and 5 to the end
[?25l        test401end of Xxx[?12l[?25h[?25l:[?12l[?25hr XtestC^I^I^I" should not read anything
[?25lE484: Can't open file XtestC[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw >>XtestD^I^I^I" will write all lines to test.out
[?25l"test.out" [New File] 9 lines, 91 characters written[?12l[?25h[?25l:[?12l[?25h$r XtestD^I^I^I" should not read anything
[?25lE484: Can't open file XtestD[?12l[?25h[?25l:[?12l[?25h$w >>test.out^I^I^I" append "end of Xxx" to test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[?12l[?25h[?25l:[?12l[?25hsp XtestE^I^I^I" split window with test.out
[?25l"test.out" 10 lines, 102 charactersend of XxxXtestE                                                                          end of Xxxwrite        test401end of XxxXtestA                                                                          [?12l[?25h[?25lasdf[+][?12l[?25hXtestE [+]                                                                       XtestA                                                                          [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hwall^I^I^I^I" will write other window to test.out
[?25l"test.out" 11 lines, 107 characters written   [?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iasdf
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 10^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 11^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test40 = test61; then \
#	  if diff test.out test40.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test40.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test41.failed test.ok test.out X* viminfo
cp test41.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test41.in" 24 lines, 421 charactersTest for writing and reading a file of over 100 Kbyte



1 line: "This is the start"

3001 lines: "This is the leader"

1 line: "This is the middle"

3001 lines: "This is the trailer"

1 line: "This is the end"



STARTTEST

:%d

aThis is the start

This is the leader

This is the middle

This is the trailer

This is the end^[kY3000p2GY3000p

:w! Xtest

:%d

:e! Xtest

:.w! test.out

3003G:.w >>test.out

6005G:.w >>test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file of over 100 Kbyte[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 13 lines, 196 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lThis is the start

This is the leaderThis is the middleThis is the trailerThis is the end[?12l[?25h[?25l3000 more linestrailer

This is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailer[?12l[?25h[?25lleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleader[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 6005 lines, 117092 characters written[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" 6005 lines, 117092 charactersThis is the start

This is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leader[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 18 characters written[?12l[?25h[?25lThis is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the middle

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 19 characters appended[?12l[?25h[?25lThis is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the end
[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 16 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test41 = test61; then \
#	  if diff test.out test41.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test41.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test42.failed test.ok test.out X* viminfo
cp test42.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test42.in" 130 lines, 2368 charactersTest for writing and reading a file starting with a BOM



STARTTEST

:so mbyte.vim

:set encoding=utf-8

:set fileencodings=ucs-bom,latin-1

:set ff=unix ffs=unix" This changes the file for DOS and MAC

:" --- Write the test files

:/^latin-1$/+1w! Xtest0

:/^utf-8$/+1w! Xtest1

:/^utf-8-err$/+1w! Xtest2

:/^ucs-2$/+1w! Xtest3

:/^ucs-2le$/+1w! Xtest4

:" Need to add a NUL byte after the NL byte

:set bin

:e! Xtest4" Ignore change from setting 'ff'

o^V^@^[:set noeol

:w

:set ffs& nobinary" Allow default test42.in format

:e #

:set ff=unix" Format for files to write

:/^ucs-4$/+1w! Xtest5

:/^ucs-4le$/+1w! Xtest6[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file starting with a BOM[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2116 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1


utf-8

utf-8

utf-8-err

utf-8~@err

ucs-2


ucs-2le


[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1

<fe><fe>latin-1

utf-8

<feff>utf-8

utf-8-err

<feff>utf-8<80>err

ucs-2

<fe><ff>^@u^@c^@s^@-^@2^@

ucs-2le

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix ffs=unix           " This changes the file for DOS and MAC
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Write the test files
[?25l[?12l[?25h[?25l:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4                      " Ignore change from setting 'ff'
[?25l"Xtest4" 1 line, 17 characters<ff><fe>u^@c^@s^@-^@2^@l^@e^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

[?25l^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hset ffs& nobinary              " Allow default test42.in format
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25hset ff=unix                    " Format for files to write
[?25l[?12l[?25h[?25l:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [converted][New File] 1 line, 30 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [converted][New File] 1 line, 35 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6                      " ! for when setting 'ff' is a change
[?25l"Xtest6" 1 line, 33 characters<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

~   [?25l
^@^@^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest0
[?25l"Xtest0" [converted] 1 line, 12 charactersþþlatin-1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lþþlatin-1

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 12 characters appended[?12l[?25h[?25l:[?12l[?25hset bomb fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest1
[?25l"Xtest1" 1 line, 9 charactersutf-8[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-8


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest2
[?25l"Xtest2" [converted] 1 line, 17 charactersutf-8<80>err
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8<80>err

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 17 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest3
[?25l"Xtest3" [converted] 1 line, 8 charactersucs-2[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [converted][New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4
[?25l"Xtest4" [converted] 1 line, 10 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest5
[?25l"Xtest5" [converted] 1 line, 10 characters4[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6
[?25l"Xtest6" [converted] 1 line, 12 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check the files written with BOM
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 35 lines, 275 characters  fileencoding=latin1nobomb<fe><fe>latin-1  fileencoding=utf-8  bombutf-8  fileencoding=latin1nobomb<feff>utf-8<80>err  fileencoding=utf-16  bombucs-2  fileencoding=utf-16le[?12l[?25h[?25l:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" 1 line, 10 charactersbomb

ucs-2lefileencoding=ucs-4

  bomb

ucs-4fileencoding=ucs-4le

  bomb

ucs-4le

<fe><fe>latin-1[?12l[?25h[?25l

:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" 1 line, 9 characters

<feff>utf-8[?12l[?25h[?25l

:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" 1 line, 17 characters

utf-8<80>err[?12l[?25h[?25l

:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" 1 line, 14 characters

<fe><ff>^@u^@c^@s^@-^@2^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [Incomplete last line] 2 lines, 18 characters

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" 1 line, 28 characters^@

^@^@<fe><ff>^@^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [Incomplete last line] 2 lines, 36 characters

<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@[?12l[?25h[?25l

:[?12l[?25hset nobin ff&               " Write the file in default format
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 44 lines, 409 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test42 = test61; then \
#	  if diff test.out test42.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test42.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test43.failed test.ok test.out X* viminfo
cp test43.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test43.in" 34 lines, 473 charactersTests for regexp with various magic settings.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:$

:set undolevels=100

dv?bar?

Yup:"

:?^1?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 268 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l

1 a aa abb abbccc[?12l[?25h[?25l

/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l

2 d dd dee deefff[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l

3 g gg ghh ghhiii[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\mj*k\{2}l\+/e
[?25l

4 j jj jkk jkklll[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\vm*n{2}o+/e
[?25l

5 m mm mnn mnnooo[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V^aa$
[?25l

6 x ^aa$ x[?12l[?25h[?25laa$ x[?12l[?25h[?25l

:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l

7 (a)(b) abbaa[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l

8 axx [ab]xx[?12l[?25h[?25lab]x[?12l[?25h[?25l

:[?12l[?25h$
[?25l9 foobar[?12l[?25h[?25l

:[?12l[?25hset undolevels=100
[?25l[?12l[?25h[?25l?[?12l[?25hbar?
[?25l~                                                                               [?12l[?25h[?25l



1 more line; before #2  0 seconds agobar[?12l[?25h[?25l

9 foo
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 11L, 137C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test43 = test61; then \
#	  if diff test.out test43.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test43.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test44.failed test.ok test.out X* viminfo
cp test44.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test44.in" 81 lines, 1492 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test99 for exactly the same test with re=2.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=1

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1023 characters written[?12l[?25h[?25l:set ff& cpo+=A



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l:[?12l[?25h" c
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


:[?12l[?25h" d
[?25l[?12l[?25h[?25l/[?12l[?25h[\u4f7f\u5929]\+
[?25l


:[?12l[?25h" e
[?25l[?12l[?25h[?25l/[?12l[?25h\%U12345678
[?25l


:[?12l[?25h" f
[?25l[?12l[?25h[?25l/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


:[?12l[?25h" g
[?25l[?12l[?25h[?25l/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       e y f z

g abb



test.out [+]                                                                    [?12l[?25h[?25l:[?12l[?25h$put =['dog(a', 'cat(']
[?25ldog(acat([+][?12l[?25h[?25l/[?12l[?25h(/e+
[?25l/(/e+1
[?12l[?25h[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hbd!
[?25l1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii


e y



[?25l

[?12l[?25h[?25la[?12l[?25h[?25l

cat(
[?12l[?25h[?25l

:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test44 = test61; then \
#	  if diff test.out test44.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test44.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test45.failed test.ok test.out X* viminfo
cp test45.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test45.in" 90 lines, 1953 charactersTests for folding. vim: set ft=vim :



STARTTEST

:so small.vim

:" We also need the +syntax feature here.

:if !has("syntax")

   e! test.ok

   w! test.out

   qa!

:endif

:" basic test if a fold can be created, opened, moving to the end and closed

/^1

zf2j:call append("$", "manual " . getline(foldclosed(".")))

zo:call append("$", foldclosed("."))

]z:call append("$", getline("."))

zc:call append("$", getline(foldclosed(".")))

:" test folding with markers.

:set fdm=marker fdl=1 fdc=3

/^5

:call append("$", "marker " . foldlevel("."))

[z:call append("$", foldlevel("."))

jo{{ ^[r{jj:call append("$", foldlevel("."))

kYpj:call append("$", foldlevel("."))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for folding. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 73 lines, 1820 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:new

iTest fdm=indent and :move bug END

line2Test fdm=indent STARTline3line4^[

:set fdm=indent

:1m1

2jzc:m0

:%w >> test.out

:qa!

ENDTEST



1 aa

2 bb

3 cc

4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We also need the +syntax feature here.
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("syntax")
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   w! test.out


[?25l:  [?12l[?25h   qa!


[?25l:  [?12l[?25h:endif
[?25l:new

iTest fdm=indent and :move bug END

line2Test fdm=indent START[?12l[?25h[?25l:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[?12l[?25h[?25l1 aa2 bb3 cc4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h[?25l:[?12l[?25hcall append("$", foldclosed("."))
[?25l[?12l[?25h



[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with markers.
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l   :new

   iTest fdm=indent and :move bug END

   line2

           Test fdm=indent START

           line3

           line4^[

   :set fdm=indent

   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa   2 bb   3 cc-  4 dd {{{

|- 5 ee {{{ }}}

|  6 ff }}}

   7 gg

   8 hh

   9 ii

   a jj[?12l[?25h[?25l/[?12l[?25h^5
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l{{ |  6 ff }}}[?12l[?25h[?25l-{|

|

|

|[?12l[?25h[?25l





:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l6 ff }}}

 7 gg

 8 hh[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with indent
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=indent sw=2
[?25l-++---  3 lines: Test fdm=indent START-----------------------------------------:set fdm=indent:1m12jzc:m0%w >> test.out:qa!ENDTEST1 aa2 bb3 cc4 dd {{{5 ee {{{ }}}

 {{{  6 ff }}}  6 ff }}}

  7 gg 8 hh9 iia jj[?12l[?25h[?25l/[?12l[?25h^2 b
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l
-  2 bb[?12l[?25h[?25l
|-    3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test syntax folding
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=syntax fdl=0
[?25l          Test fdm=indent START        line3        line4^[:set fdm=indent1m12jzc:m0:%w >> test.out:qa!ENDTEST

   1 aa  2 bb    3 cc4 dd {{{5 ee {{{ }}}{{{6 ff }}}6 ff }}}7 gg8 hh[?12l[?25h[?25l:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l++--  8 lines: 4 dd ----------------------------------------------------------a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[?12l[?25h[?25l   1 aa

   marker 2

   1

   1

   0

   indent 2

   1[?12l[?25h[?25l:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l
--4 dd {{{commentstart  ||5 ee {{{ }}}

||{{{||6 ff }}}

||6 ff }}}||7 gg

||8 hh

||9 ii

||a jj||b kk

||last

||manual 1 aa

||-1||3 cc[?12l[?25h[?25l commentend- 

|-



| 

  

  

  

  

  

  [?12l[?25h[?25l:[?12l[?25hset fdl=1
[?25l++---  3 lines: 5 ee --------------------------------------------------------- 6 ff }}}++---  2 lines: 7 gg----------------------------------------------------------9 ii  a jj

  b kk

 lastmanual 1 aa-13 cc1 aamarker 21[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hset fdl=0
[?25l++--  8 lines: 4 dd commentstart  commentend----------------------------------  a jj b kk  last manual 1 aa-13 cc1 aarker 2110indent[?12l[?25h[?25l
-4 dd {{{commentstart  commentend|-5 ee {{{ }}}

||{{{||6 ff }}}

|6 ff }}}|-7 gg

||8 hh

|9 iia jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{

|| 6 ff }}}

|  6 ff }}}

|- 7 gg

|| 8 hh

|  9 ii

   a jj

   b kk

   last

   manual 1 aa

   -1

   3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test expression folding
[?25l[?12l[?25h[?25l:[?12l[?25hfun Flvl()
[?25l

:  [?12l[?25h  let l = getline(v:lnum)


[?25l:  [?12l[?25h  if l =~ "bb$"


[?25l:    [?12l[?25h    return 2


[?25l:    [?12l[?25h  elseif l =~ "gg$"


[?25l:    [?12l[?25h    return "s1"


[?25l:    [?12l[?25h  elseif l =~ "ii$"


[?25l:    [?12l[?25h    return ">2"


[?25l:    [?12l[?25h  elseif l =~ "kk$"


[?25l:    [?12l[?25h    return "0"


[?25l:    [?12l[?25h  endif


[?25l:  [?12l[?25h  return "="


[?25l:  [?12l[?25hendfun
[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{[?12l[?25h[?25l:[?12l[?25hset fdm=expr fde=Flvl()
[?25l++-- 11 lines: 2 bb-----------------------------------------------------------b kk last  manual 1 aa  -1  3 cc 1 aa  marker 2

  1 10indent 21++--  4 lines: folding 9 ii---------------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l/[?12l[?25hbb$
[?25lsearch hit BOTTOM, continuing at TOP--  2 bb||    3 cc

||4 dd {{{commentstart  commentend

||5 ee {{{ }}}

||{{{

||6 ff }}}

||6 ff }}}

||7 gg|8 hh

|++---  2 lines: 9 ii----------------------------------------------------------b kklastmanual 1 aa

 -13 cc1 aa[?12l[?25h[?25l:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hhh$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hii$
[?25l-9 ii||a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hkk$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [New File] 18 lines, 96 characters written[?12l[?25h[?25l:[?12l[?25hdelfun Flvl
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l   

   

   

   ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            [No Name]                                                                       5 ee {{{ }}}{{{6 ff }}}|6 ff }}}|7 gg 8 hh

|-9 ii

||a jjb kklast

test45.in [+]                                                                   [?12l[?25h[?25lTest fdm=indent and :move bug ENDline2        Test fdm=indent START        line3        line4[+][?12l[?25h[?25l:[?12l[?25hset fdm=indent
[?25l++--  3 lines: Test fdm=indent START------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l:[?12l[?25h1m1
[?25l[?12l[?25h[?25l:[?12l[?25hm0
[?25l3 lines moved++--  3 lines: Test fdm=indent START------------------------------------------Test fdm=indent and :move bug END

 line2[?12l[?25h[?25l:[?12l[?25h%w >> test.out
[?25l"test.out" 5 lines, 77 characters appendedtest.out [+]]  [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test45 = test61; then \
#	  if diff test.out test45.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test45.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test48.failed test.ok test.out X* viminfo
cp test48.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test48.in" 83 lines, 1658 charactersThis is a test of 'virtualedit'.



STARTTEST

:so small.vim

:set noswf

:set ve=all

-dgg

:"

:"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".

:"    Repeating CTRL-N fixes it. (Mary Ellen Foster)

2/w

C^N^[

:"

:"   Using "C" then then <CR> moves the last remaining character to the next

:"    line.  (Mary Ellen Foster)

j^/are

C^Mare belong to vim^[

:"

:"   When past the end of a line that ends in a single character "b" skips

:"    that word.

^$15lbC7^[

:"

:"   Make sure 'i' works[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of 'virtualedit'.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 61 lines, 1442 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set display=

:"

:"   Test for ^Y/^E due to bad w_virtcol value, reported by

:"   Roy <royl@netropolis.net>.

^O^[3li^E^[4li^E^[4li^E   <-- should show the name of a noted text editor^[

^o^[4li^Y^[4li^Y^[4li^Y   <-- and its version number^[-dd

:"

:" Test for yanking and pasting using the small delete register

gg/^foo

dewve"-p

:wq! test.out

ENDTEST

foo, bar

keyword keyw

all your base are belong to us

1 2 3 4 5 6

'i'

'C'

'a'

'A'

'D'

this is a test

this is a test[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswf
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l65 fewer linesthis is a test

"r"

"r"

a^Vb^Msd

abcv6efi.him0kl





~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               65 fewer lines[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[?12l[?25h[?25l:[?12l[?25h"    Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[?12l[?25h[?25l/[?12l[?25hw
[?25l[?12l[?25h[?25l$Scanning tags.
The only matchword[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Using "C" then then <CR> moves the last remaining character to the next
[?25l[?12l[?25h[?25l:[?12l[?25h"    line.  (Mary Ellen Foster)
[?25l[?12l[?25h
[?25l/[?12l[?25hare
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l$are belong to vim

1 2 3 4 5 6

'i

'C

'a

'A

'D'this is a test



"r"     

a^Vb^Msdabcv6efi.him0kl[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   When past the end of a line that ends in a single character "b" skips
[?25l[?12l[?25h[?25l:[?12l[?25h"    that word.
[?25l[?12l[?25h
[?25l$7[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'i' works
[?25l[?12l[?25h
'i'   [?25l<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'C' works
[?25l[?12l[?25h
'C'   [?25l$<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'a' works
[?25l[?12l[?25h
'a'   [?25l <-- should be 4 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'A' works
[?25l[?12l[?25h
'A'   [?25l<-- should be 0 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'D' works
[?25l[?12l[?25h
'D'   [?25l<-- 'D' should be intact[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for yank bug reported by Mark Waggoner.
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h
[?25l[?12l[?25h[?25laaa[?12l[?25h[?25laaablock of 4 lines yanked[?12l[?25h[?25l3 more linesa

aa [?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" beyond the end of the line
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l/[?12l[?25h^"r"
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h"r"    [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" on a tab
[?25l[?12l[?25h[?25l:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[?12l[?25h
"r"  [?25lx[?12l[?25h[?25lx  <-- should be '  x  '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test to make sure 'x' can delete control characters
[?25l[?12l[?25h[?25l:[?12l[?25hset display=uhex
[?25l<16>b<0d>sd[?12l[?25h
[?25l<16>b<0d>sd[?12l[?25h[?25lb<0d>sd[?12l[?25h[?25l<0d>sd[?12l[?25h[?25lsd[?12l[?25h[?25ld[?12l[?25h[?25l[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[?25l:[?12l[?25hset display=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[?12l[?25h[?25l:[?12l[?25h"   Roy <royl@netropolis.net>.
[?25l[?12l[?25h
[?25l[?12l[?25h   [?25lv[?12l[?25hv   [?25li[?12l[?25hi   [?25lm   <-- should show the name of a noted text editor[?12l[?25h
[?25l[?12l[?25h    [?25l6[?12l[?25h6   [?25l.[?12l[?25h.   [?25l0   <-- and its version number[?12l[?25h[?25l

[?12l[?25h

    [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[?12l[?25h[?25l/[?12l[?25h^foo
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l, bar[?12l[?25h, [?25l[?12l[?25h[?25lba[?12l[?25h[?25l[?12l[?25h[?25lfoo[?12l[?25h

keyw[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 23 lines, 479 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test48 = test61; then \
#	  if diff test.out test48.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test48.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test51.failed test.ok test.out X* viminfo
cp test51.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test51.in" 36 lines, 809 charactersTests for ":highlight". vim: set ft=vim :



STARTTEST

:so small.vim

:" basic test if ":highlight" doesn't crash

:highlight

:hi Search

:" test setting colors.

:" test clearing one color and all doesn't generate error or warning

:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#000ff00 guibg=Cyan

:hi Group2 term= cterm=

:hi Group3 term=underline cterm=bold

:redir! >test.out

:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for ":highlight". vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 31 lines, 747 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[?12l[?25h[?25l:[?12l[?25hhighlight
[?25l

SpecialKey     xxx term=bold ctermfg=4 guifg=Blue


EndOfBuffer    xxx links to NonText


NonTextxxx term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue


Directory      xxx term=bold ctermfg=4 guifg=Blue


ErrorMsgxxx term=standout cterm=bold ctermfg=7 ctermbg=1 guifg=White


guibg=Red


IncSearch      xxx term=reverse cterm=reverse gui=reverse


Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


MoreMsgxxx term=bold ctermfg=2 gui=bold guifg=SeaGreen


ModeMsgxxx term=bold cterm=bold gui=bold


LineNrxxx term=underline ctermfg=3 guifg=Brown


CursorLineNr   xxx term=bold ctermfg=3 gui=bold guifg=Brown


Questionxxx term=standout ctermfg=2 gui=bold guifg=SeaGreen


StatusLine     xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse


StatusLineNC   xxx term=reverse cterm=reverse gui=reverse


VertSplit      xxx term=reverse cterm=reverse gui=reverse


Titlexxx term=bold ctermfg=5 gui=bold guifg=Magenta


Visualxxx term=reverse cterm=reverse guibg=LightGrey


VisualNOS      xxx term=bold,underline cterm=bold,underline gui=bold,underline


WarningMsg     xxx term=standout ctermfg=1 guifg=Red


WildMenuxxx term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow


Foldedxxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue


guibg=LightGrey


FoldColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


DiffAddxxx term=bold ctermbg=4 guibg=LightBlue


DiffChange     xxx term=bold ctermbg=5 guibg=LightMagenta


DiffDelete     xxx term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=Blue


guibg=LightCyan


DiffTextxxx term=reverse cterm=bold ctermbg=1 gui=bold guibg=Red


SignColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


Concealxxx ctermfg=7 ctermbg=0 guifg=LightGrey guibg=DarkGrey


SpellBadxxx term=reverse ctermbg=1 gui=undercurl guisp=Red


SpellCapxxx term=reverse ctermbg=4 gui=undercurl guisp=Blue


SpellRare      xxx term=reverse ctermbg=5 gui=undercurl guisp=Magenta


SpellLocal     xxx term=underline ctermbg=6 gui=undercurl guisp=DarkCyan


Pmenuxxx ctermfg=0 ctermbg=5 guibg=LightMagenta


PmenuSelxxx ctermfg=0 ctermbg=7 guibg=Grey


PmenuSbar      xxx ctermbg=7 guibg=Grey


PmenuThumb     xxx ctermbg=0 guibg=Black


TabLinexxx term=underline cterm=underline ctermfg=0 ctermbg=7


gui=underline guibg=LightGrey


TabLineSel     xxx term=bold cterm=bold gui=bold


TabLineFill    xxx term=reverse cterm=reverse gui=reverse


CursorColumn   xxx term=reverse ctermbg=7 guibg=Grey90


CursorLine     xxx term=underline cterm=underline guibg=Grey90


ColorColumn    xxx term=reverse ctermbg=1 guibg=LightRed


Cursorxxx guifg=bg guibg=fg


lCursorxxx guifg=bg guibg=fg


MatchParen     xxx term=reverse ctermbg=6 guibg=Cyan


Normalxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Search
[?25l

Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" test setting colors.
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" test clearing one color and all doesn't generate error or warning
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0


0ff00 guibg=Cyan
[?25lE418: Illegal value: guifg=#00ff00Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 term= cterm=
[?25lE418: Illegal value: cterm=


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx term=bold cterm=italic ctermfg=4 ctermbg=7


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3
[?25l

Group3xxx term=underline cterm=bold


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear NewGroup
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 NONE
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup[?12l[?25h[?25l

:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hhi Group3
[?25l

Group3xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Crash term='asdf
[?25lE475: Invalid argument: term='asdf


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l:hi NewGroup

:hi Group2

:hi Group3[?12l[?25h[?25l

:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 20 lines, 289 charactersNewGroup       xxx term=bold cterm=italic ctermfg=4 ctermbg=7Group2         xxx clearedGroup3         xxx term=underline cterm=boldNewGroup       xxx clearedGroup2         xxx clearedGroup2         xxx clearedGroup3         xxx clearedE475: Invalid argument: term='asdf

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l2
[?12l[?25h[?25l:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l3
[?12l[?25h[?25l:[?12l[?25h" filter out possibly translated error message
[?25l[?12l[?25h[?25l:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25lterm='asdf[?12l[?25h[?25l:[?12l[?25h" fix the fileformat
[?25l[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hwq!
[?25l"test.out" 20 lines, 271 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test51 = test61; then \
#	  if diff test.out test51.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test51.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test53.failed test.ok test.out X* viminfo
cp test53.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test53.in" 75 lines, 1763 charactersTests for string and html text objects. vim: set ft=vim :



Note that the end-of-line moves the cursor to the next test line.



Also test match() and matchstr()



STARTTEST

:so small.vim

/^start:/

da"

0va'a'rx

02f`da`

0fXdi"

03f'vi'ry

:set quoteescape=+*-

di`

$F"va"oha"i"rz

:"

/^<begin

jfXdit

0fXdit

fXdat

0fXdat[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for string and html text objects. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1237 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =match('abc', '$', 4, 1) " -1

:put =match('abc', '\zs', 0, 1) " 0

:put =match('abc', '\zs', 0, 2) " 1

:put =match('abc', '\zs', 0, 3) " 2

:put =match('abc', '\zs', 0, 4) " 3

:put =match('abc', '\zs', 0, 5) " -1

:put =match('abc', '\zs', 1, 1) " 1

:put =match('abc', '\zs', 2, 1) " 2

:put =match('abc', '\zs', 3, 1) " 3

:put =match('abc', '\zs', 4, 1) " -1

:/^start:/,/^end:/wq! test.out

ENDTEST



start: "wo\"rd\\" foo

'foo' 'bar' 'piep'

bla bla `quote` blah

out " in "noXno"

"'" 'blah' rep 'buh'

bla `s*`d-`+++`l**` b`la

voo "nah" sdf " asdf" sdf " sdf" sd



<begin>

-<b>asdf<i>Xasdf</i>asdf</b>-[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l[?12l[?25h[?25lfo[?12l[?25h
[?25l[?12l[?25h[?25l'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l
xxxxxxxxxxxx
[?12l[?25h

[?25lblah[?12l[?25h
[?25l"[?12l[?25h
[?25l[?12l[?25h[?25l' rep[?12l[?25h[?25lyyyyy[?12l[?25h[?25l:[?12l[?25hset quoteescape=+*-
[?25l[?12l[?25h[?25l` b`la[?12l[?25h[?25l[?12l[?25h[?25l" sdf"[?12l[?25h[?25l" [?12l[?25h[?25l"[?12l[?25h[?25l asdf" sdf [?12l[?25h[?25lah" sdf "
voo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^<begin
[?25l[?12l[?25h

[?25l</i>asdf</b>-[?12l[?25h[?25l

-<b>asdX<i>a<i />sdf</i>asdf</b>-[?12l[?25h
[?25l</b>-[?12l[?25h[?25l

-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[?25lasdf</b>-[?12l[?25h[?25l

-<b>asdX<i>as<b />df</i>asdf</b>-[?12l[?25h
[?25l
--[?12l[?25h[?25l

-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l

</begin>[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l

b[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l

bc[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l

c[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l

a[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 45 lines, 284 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test53 = test61; then \
#	  if diff test.out test53.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test53.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test55.failed test.ok test.out X* viminfo
cp test55.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test55.in" 586 lines, 12256 charactersTests for List and Dictionary types.     vim: set ft=vim :



STARTTEST

:so small.vim

:fun Test(...)

:lang C

:" Creating List directly with different types

:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]

:$put =string(l)

:$put =string(l[-1])

:$put =string(l[-4])

:try

:  $put =string(l[-5])

:catch

:  $put =v:exception[:14]

:endtry

:" List slices

:$put =string(l[:])

:$put =string(l[1:])

:$put =string(l[:-2])

:$put =string(l[0:8])

:$put =string(l[8:-1])

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for List and Dictionary types.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 580 lines, 12170 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test(...)
[?25l

:  [?12l[?25h:lang C


[?25l:  [?12l[?25h:" Creating List directly with different types


[?25l:  [?12l[?25h:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:$put =string(l[-4])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-5])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List slices


[?25l:  [?12l[?25h:$put =string(l[:])


[?25l:  [?12l[?25h:$put =string(l[1:])


[?25l:  [?12l[?25h:$put =string(l[:-2])


[?25l:  [?12l[?25h:$put =string(l[0:8])


[?25l:  [?12l[?25h:$put =string(l[8:-1])


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" List identity


[?25l:  [?12l[?25h:let ll = l


[?25l:  [?12l[?25h:let lx = copy(l)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(l == ll) . (l isnot ll) . (l is ll) . (l == lx) . (l is lx) . (l


isnot lx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Creating Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}


[?25l:  [?12l[?25h:$put =string(d) . d.1


[?25l:  [?12l[?25h:$put =string(sort(keys(d)))


[?25l:  [?12l[?25h:$put =string (values(d))


[?25l:  [?12l[?25h:for [key, val] in items(d)


[?25l:    [?12l[?25h:  $put =key . ':' . string(val)


[?25l:    [?12l[?25h:  unlet key val


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:call extend  (d, {3:33, 1:99})


[?25l:  [?12l[?25h:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  call extend(d, {3:333,4:444}, "error")


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:call filter(d, 'v:key =~ ''[ac391]''')


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary identity


[?25l:  [?12l[?25h:let dd = d


[?25l:  [?12l[?25h:let dx = copy(d)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(d == dd) . (d isnot dd) . (d is dd) . (d == dx) . (d is dx) . (d


isnot dx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items with :unlet


[?25l:  [?12l[?25h:unlet l[2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:let l = range(8)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:unlet l[:3]


[?25l:    [?12l[?25h:unlet l[1:]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:$put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:unlet d.c


[?25l:  [?12l[?25h:unlet d[-1]


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:1]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:3]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:4]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:5]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-1:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-3:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-4:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-5:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-6:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" assignment to a list


[?25l:  [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:let [va, vb] = l[2:3]


[?25l:  [?12l[?25h:$put =va


[?25l:  [?12l[?25h:$put =vb


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l[1:1]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: let d[i] = 3000 - i


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[1400] . ' ' . d[1499]


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let n = d[1500]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =substitute(v:exception, '\v(.{14}).*( \d{4}).*', '\1\2', '')


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" lookup each items


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h: let i += 1


[?25l:  [?12l[?25h:" delete even items


[?25l:  [?12l[?25h:while i >= 2


[?25l:    [?12l[?25h: let i -= 2


[?25l:    [?12l[?25h: unlet d[i]


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =get(d, 1500 - 100, 'NONE') . ' ' . d[1]


[?25l:  [?12l[?25h:" delete odd items, checking value, one intentionally wrong


[?25l:  [?12l[?25h:let d[33] = 999


[?25l:  [?12l[?25h:let i = 1


[?25l:  [?12l[?25h:while i < 1500


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =i . '=' . d[i]


[?25l:      [?12l[?25h: else


[?25l:      [?12l[?25h:  unlet d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h: let i += 2


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =string(d)  " must be almost empty now


[?25l:  [?12l[?25h:unlet d


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary function


[?25l:  [?12l[?25h:let dict = {}


[?25l:  [?12l[?25h:func dict.func(a) dict


[?25l:    [?12l[?25h:  $put =a:a . len(self.data)


[?25l:    [?12l[?25h:endfunc


[?25l:    [?12l[?25h:let dict.data = [1,2,3]


[?25l:    [?12l[?25h:call dict.func("len: ")


[?25l:    [?12l[?25h:let x = dict.func("again: ")


[?25l:    [?12l[?25h:let Fn = dict.func


[?25l:    [?12l[?25h:call Fn('xxx')


[?25l:    [?12l[?25h:" 


[?25l:    [?12l[?25h:" Function in script-local List or Dict


[?25l:    [?12l[?25h:let g:dict = {}


[?25l:    [?12l[?25h:function g:dict.func() dict


[?25l:      [?12l[?25h:  $put ='g:dict.func'.self.foo[1].self.foo[0]('asdf')


[?25l:      [?12l[?25h:endfunc


[?25l:      [?12l[?25h:let g:dict.foo = ['-', 2, 3]


[?25l:      [?12l[?25h:call insert(g:dict.foo, function('strlen'))


[?25l:      [?12l[?25h:call g:dict.func()


[?25l:      [?12l[?25h:" 


[?25l:      [?12l[?25h:" Nasty: remove func from Dict that's being called (works)


[?25l:      [?12l[?25h:let d = {1:1}


[?25l:      [?12l[?25h:func d.func(a)


[?25l:[?12l[?25h:  return "a:". a:a


[?25l:[?12l[?25h:endfunc


[?25l:[?12l[?25h:$put =d.func(string(remove(d, 'func')))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used


)

[?25l:[?12l[?25h:let d = {1:1, 2:2}


[?25l:[?12l[?25h:let l = [4, d, 6]


[?25l:[?12l[?25h:let d[3] = l


[?25l:[?12l[?25h:let dc = deepcopy(d)


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let dc = deepcopy(d, 1)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:let l2 = [0, l, l, 3]


[?25l:[?12l[?25h:let l[1] = l2


[?25l:[?12l[?25h:let l3 = deepcopy(l2)


[?25l:[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1][0] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2]['6'][7] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2][6] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Unletting locked variables


[?25l:[?12l[?25h:$put ='Unletting:'


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]['6'][7]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2][6]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1][0]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables and :unlet or list / dict functions


[?25l:[?12l[?25h:$put ='Locks and commands or functions:'


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put =':unlet after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='filter() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call filter(d, 'v:key != "a"')


[?25l:[?12l[?25h:  $put ='did filter()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='map() after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call map(d, 'v:val + 200')


[?25l:[?12l[?25h:  $put ='did map()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  $put =string(extend(d, {'a': 123}))


[?25l:[?12l[?25h:  $put ='did extend()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na


me'))


[?25l:[?12l[?25h:    $put ='did remove()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(extend(a:, {'this_is_a_loooooooooong_parameter


_name': 1234}))


[?25l:[?12l[?25h:    $put ='did extend()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet of variable in locked scope:'


[?25l:[?12l[?25h:let b:testvar = 123


[?25l:[?12l[?25h:lockvar 1 b:


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet b:testvar


[?25l:[?12l[?25h:  $put ='b:testvar was :unlet: '. (!exists('b:testvar'))


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:unlockvar 1 b:


[?25l:[?12l[?25h:unlet! b:testvar


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :let += of locked list variable:'


[?25l:[?12l[?25h:let l = ['a', 'b', 3]


[?25l:[?12l[?25h:lockvar 1 l


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let l += ['x']


[?25l:[?12l[?25h:  $put ='did :let +='


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:lockvar! l


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:unlet l[0:1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l[1:2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:let l[0:1] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let l[1:2] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:" :lockvar/islocked() triggering script autoloading


[?25l:[?12l[?25h:set rtp+=./sautest


[?25l:[?12l[?25h:lockvar g:footest#x


[?25l:[?12l[?25h:unlockvar g:footest#x


[?25l:[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')


[?25l:[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')


[?25l:[?12l[?25h:$put ='g:footest#x: '.g:footest#x


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" a:000 function argument


[?25l:[?12l[?25h:" first the tests that should fail


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000 = [1, 2]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[0] = 9


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[0]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2] = [9, 10]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[2]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[3] = {9: 10}


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[3]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:" now the tests that should pass


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2][1] = 9


[?25l:[?12l[?25h:  call extend(a:000[2], [5, 6])


[?25l:[?12l[?25h:  let a:000[3][5] = 8


[?25l:[?12l[?25h:  let a:000[3]['a'] = 12


[?25l:[?12l[?25h:  $put =string(a:000)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught ' . v:exception


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" reverse(), sort(), uniq()


[?25l:[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 


1, 2], 'x8', [0, 1, 2], 1.5]


[?25l:[?12l[?25h:$put =string(uniq(copy(l)))


[?25l:[?12l[?25h:$put =string(reverse(l))


[?25l:[?12l[?25h:$put =string(reverse(reverse(l)))


[?25l:[?12l[?25h:$put =string(sort(l))


[?25l:[?12l[?25h:$put =string(reverse(sort(l)))


[?25l:[?12l[?25h:$put =string(sort(reverse(sort(l))))


[?25l:[?12l[?25h:$put =string(uniq(sort(l)))


[?25l:[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf


f, 0.22, 'four']


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'n'))


[?25l:[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 


'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]


[?25l:[?12l[?25h:$put =string(sort(copy(l), 1))


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'i'))


[?25l:[?12l[?25h:$put =string(sort(copy(l)))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" splitting a string to a List


[?25l:[?12l[?25h:$put =string(split('  aa  bb '))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 0))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 1))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W', 1))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))


[?25l:[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs'))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs', 1))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare recursively linked list and dict


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}


[?25l:[?12l[?25h:let l[1] = d


[?25l:[?12l[?25h:$put =(l == l)


[?25l:[?12l[?25h:$put =(d == d)


[?25l:[?12l[?25h:$put =(l != deepcopy(l))


[?25l:[?12l[?25h:$put =(d != deepcopy(d))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare complex recursively linked list and dict


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:call add(l, l)


[?25l:[?12l[?25h:let dict4 = {"l": l}


[?25l:[?12l[?25h:call add(dict4.l, dict4)


[?25l:[?12l[?25h:let lcopy = deepcopy(l)


[?25l:[?12l[?25h:let dict4copy = deepcopy(dict4)


[?25l:[?12l[?25h:$put =(l == lcopy)


[?25l:[?12l[?25h:$put =(dict4 == dict4copy)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same List to extend()


[?25l:[?12l[?25h:let l = [1, 2, 3, 4, 5]


[?25l:[?12l[?25h:call extend(l, l)


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend()


[?25l:[?12l[?25h:let d = { 'a': {'b': 'B'}}


[?25l:[?12l[?25h:call extend(d, d)


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend() with "error"


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call extend(d, d, "error")


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" test for range assign


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:let l[:] = [1, 2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:endfun
[?25l:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6})  " This may take a while
[?25lError detected while processing function Test:

line   76:


E684: list index out of range: 1


line   91:


E684: list index out of range: 2


line  271:


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


line  441:


E741: Value is locked: l[0:1]


line  443:


E741: Value is locked: l[1:2]


line  446:


E741: Value is locked: l[0:1] = [0, 1]


line  448:


E741: Value is locked: l[1:2] = [0, 1]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb']

['aa', 'bb']

['', 'aa', 'bb', '']

['', '', 'aa', '', 'bb', '', '']

['aa', '', 'bb']

['', 'aa', '', 'bb', '']

['aa', '', 'bb', 'cc', '']

['a', 'b', 'c']

['', 'a', '', 'b', '', 'c', '']

1

1

0

0

1

1

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

{'a': {'b': 'B'}}

Vim(call):E737: a

{'a': {'b': 'B'}}

[1, 2]

~                                                                               [?12l[?25h[?25l



:[?12l[?25hdelfunc Test
[?25l[?12l[?25h[?25l:[?12l[?25hunlet dict
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for patch 7.3.637
[?25l[?12l[?25h[?25l:[?12l[?25hlet a = 'No error caught'
[?25l[?12l[?25h[?25l:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[?12l[?25h[?25l=[?12l[?25ha
[?25lVim(foldopen):E490:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hredir => a
[?25l[?12l[?25h[?25l:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'


)|endtry


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb'][?12l[?25h[?25l

=[?12l[?25ha
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))|endtry

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 197 lines, 3821 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test55 = test61; then \
#	  if diff test.out test55.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test55.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test56.failed test.ok test.out X* viminfo
cp test56.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test56.in" 21 lines, 457 charactersTest for script-local function.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:set nocp viminfo+=nviminfo

:/^start:/+1,/^end:/-1w! Xtest.vim

:source Xtest.vim

_x

:$-1,$wq! test.out

ENDTEST



start:

fun <SID>DoLast()

  call append(line('$'), "last line")

endfun

fun s:DoNothing()

  call append(line('$'), "nothing line")

endfun

nnoremap <buffer> _x    :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunnc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>

end:

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for script-local function.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 120 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [New] 7L, 251C written[?12l[?25h[?25l:[?12l[?25hsource Xtest.vim
[?25l[?12l[?25h[?25l:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc 


<SNR>4_DoLast
Press ENTER or type command to continue[?12l[?25h[?25lTest for script-local function.     vim: set ft=vim :nothing line[?12l[?25h[?25l:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [New] 2L, 23C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test56 = test61; then \
#	  if diff test.out test56.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test56.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test57.failed test.ok test.out X* viminfo
cp test57.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test57.in" 545 lines, 4110 charactersTests for :sort command.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:/^t01:/+1,/^t02/-1sort

:/^t02:/+1,/^t03/-1sort n

:/^t03:/+1,/^t04/-1sort x

:/^t04:/+1,/^t05/-1sort u

:/^t05:/+1,/^t06/-1sort!

:/^t06:/+1,/^t07/-1sort! n

:/^t07:/+1,/^t08/-1sort! u

:/^t08:/+1,/^t09/-1sort o

:/^t09:/+1,/^t10/-1sort! x

:/^t10:/+1,/^t11/-1sort/./

:/^t11:/+1,/^t12/-1sort/../

:/^t12:/+1,/^t13/-1sort/../u

:/^t13:/+1,/^t14/-1sort/./n

:/^t14:/+1,/^t15/-1sort/./r

:/^t15:/+1,/^t16/-1sort/../r

:/^t16:/+1,/^t17/-1sort/./rn

:/^t17:/+1,/^t18/-1sort/\d/

:/^t18:/+1,/^t19/-1sort/\d/r[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :sort command.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 33 lines, 920 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:/^t21:/+1,/^t22/-1sort/\d\d/

:/^t22:/+1,/^t23/-1sort/\d\d/n

:/^t23:/+1,/^t24/-1sort/\d\d/x

:/^t24:/+1,/^t25/-1sort/\d\d/r

:/^t25:/+1,/^t26/-1sort/\d\d/rn

:/^t26:/+1,/^t27/-1sort/\d\d/rx

:/^t27:/+1,/^t28/-1sort no

:/^t28:/+1,/^t29/-1sort b

:/^t29:/+1,/^t30/-1sort b

:/^t30:/+1,/^t31/-1sort f

:/^t01:/,$wq! test.out

ENDTEST



t01: alphebetical

abc

ab

a

a321

a123

a122

b321

b123

c123d[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l 123b2

a123

a

ababc[?12l[?25h[?25l:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25lb123

b321

b321

b321b

b322b

c123d

c321d

t02: numeric

abc[?12l[?25h[?25l

:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t03: hexadecimal





a

ab

abc

 123b

a122

a123

a321

b123

b321

b321[?12l[?25h[?25l:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25lb321b

b322b

c123d

c321d

t04: alpha, unique[?12l[?25h[?25l

:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25la123

a321

ab

abc

b123

b321

b321b

b322b

c123d

c321d

t05: alpha, reverse

c321d

c123d

b322b

b321b

b321

b321

b123

abc

ab

a321

a123

a122[?12l[?25h[?25l:[?12l[?25h/^t06:/+1,/^t07/-1sort! n        
[?25la

 123b





t06: numeric, reverse

b322b[?12l[?25h[?25l

:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l123b

c123d

b123

a123

a122





a

ab

abc

t07: unique, reverse

c321d

c123d

b322b

b321b

b321

b123

abc

ab

a321

a123

a122

a[?12l[?25h[?25l:[?12l[?25h/^t08:/+1,/^t09/-1sort o         
[?25l123b



t08: octal

abc[?12l[?25h[?25l

:[?12l[?25h/^t09:/+1,/^t10/-1sort! x        
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t09: reverse, hexadecimal

c321d

c123d

b322b

b321b

b321

b321

b123

a321

a123

a122

 123b

abc[?12l[?25h[?25l:[?12l[?25h/^t10:/+1,/^t11/-1sort/./        
[?25lab

a





t10: alpha, skip first character

a[?12l[?25h[?25l

:[?12l[?25h/^t11:/+1,/^t12/-1sort/../       
[?25l123b

c123d

a321

b321

b321

b321b

c321d

b322b

ab

abc

t11: alpha, skip first 2 characters

ab

a





a321

b321

b321

b321b

c321d

a122

b322b

a123[?12l[?25h[?25l:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25lb123

 123b

c123d

abc

t12: alpha, unique, skip first 2 characters

ab[?12l[?25h[?25l

:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25lb321

b321b

c321d

a122

b322b

a123

b123

 123b

c123d

abc

t13: numeric, skip first character

abc

ab

a





a122

a123

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25lc321d

b321

b321b

b322b

t14: alpha, sort on first character[?12l[?25h[?25l

:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25la321

a123

a122

b321

b123

b322b

b321

b321b

c123d

c321d

t15: alpha, sort on first 2 characters

a123b

a123

a122

a321

abc

ab

b123

b321

b322b[?12l[?25h[?25l:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25lb321

b321b

c123d

c321d

t16: numeric, sort on first character

abc[?12l[?25h[?25l

:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t17: alpha, skip past first digit

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25la123

b123

 123b

c123d

t18: alpha, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t19: numeric, skip past first digit

abc

ab

a





a321

b321

c321d

b321

b321b

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25la123

b123

c123d

 123b

t20: numeric, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t21: alpha, skip past first 2 digits

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25la123

b123

 123b

c123d

t22: numeric, skip past first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25lb321

c321d

b321

b321b

a122

b322b

a123

b123

c123d

 123b

t23: hexadecimal, skip past first 2 digits

abc

ab

a





a321

b321

b321

a122

a123

b123

b321b[?12l[?25h[?25l:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25lc321d

b322b

 123b

c123d

t24: alpha, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t25: numeric, sort on first 2 digits

abc

ab

a





a123

a122

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25lc321d

b322b

b321

b321b

t26: hexadecimal, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25lE474: Invalid argument[?12l[?25h[?25l:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t28: binary





0b000000

0b001000

0b010000

0b100000

0b100010

0b100010

0b100100

0b101000

0b101000

0b101001[?12l[?25h[?25l:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l0b101001

0b101010

0b101100

0b111000

t29: binary with leading characters[?12l[?25h[?25l

:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25la0b001000

0b010000

ab0b100000

0b100010

0b100010

 0b100100

0b101000

0b101000

 0b101001

a0b101001

0b101010

b0b101100

b0b111000

t30: float





-1.1e3

-1.01e3

1.15e-6

0.88

1.234

123.456

t31: done[?12l[?25h[?25l:[?12l[?25h/^t01:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 501 lines, 3105 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test57 = test61; then \
#	  if diff test.out test57.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test57.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test60.failed test.ok test.out X* viminfo
cp test60.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test60.in" 601 lines, 13116 charactersTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :



STARTTEST

:so small.vim

:function! RunTest(str, result)

    if exists(a:str) == a:resultecho "OK"

    elseecho "FAILED: Checking for " . a:str

    endif

endfunction

:function! TestExists()

    augroup myagroupautocmd! BufEnter*.my     echo "myfile edited"autocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"

    augroup END

    set rtp+=./sautestlet test_cases = []" valid autocmd group

    let test_cases += [['#myagroup', 1]]

    " valid autocmd group with garbage[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 596 lines, 13023 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! RunTest(str, result)
[?25l

:  [?12l[?25h    if exists(a:str) == a:result


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED: Checking for " . a:str


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x[?12l[?25h[?25l

:[?12l[?25hfunction! TestExists()
[?25l

:  [?12l[?25h    augroup myagroup


[?25l:  [?12l[?25h^Iautocmd! BufEnter       *.my     echo "myfile edited"


[?25l:  [?12l[?25h^Iautocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"


[?25l:  [?12l[?25h    augroup END


[?25l:  [?12l[?25h    set rtp+=./sautest


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    let test_cases = []


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " valid autocmd group


[?25l:  [?12l[?25h    let test_cases += [['#myagroup', 1]]


[?25l:  [?12l[?25h    " valid autocmd group with garbage


[?25l:  [?12l[?25h    let test_cases += [['#myagroup+b', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd group or event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup', 0]]


[?25l:  [?12l[?25h    " Non-existing autocmd group and valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup#BufEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event with no matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#CmdwinEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#xyzacmd', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['###', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group and event or empty event and pattern


[?25l:  [?12l[?25h    let test_cases += [['##', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##FileReadCmd', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##MySpecialCmd', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&textwidth', 1]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&tw', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['&tw-', 0]]


[?25l:  [?12l[?25h    " Global option


[?25l:  [?12l[?25h    let test_cases += [['&g:errorformat', 1]]


[?25l:  [?12l[?25h    " Local option


[?25l:  [?12l[?25h    let test_cases += [['&l:errorformat', 1]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&nojoinspaces', 0]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&nojs', 0]]


[?25l:  [?12l[?25h    " Non-existing option


[?25l:  [?12l[?25h    let test_cases += [['&myxyzoption', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['+incsearch', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['+incsearch!1', 0]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['+is', 1]]


[?25l:  [?12l[?25h    " Existing option that is hidden.


[?25l:  [?12l[?25h    let test_cases += [['+autoprint', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing environment variable


[?25l:  [?12l[?25h    let $EDITOR_NAME = 'Vim Editor'


[?25l:  [?12l[?25h    let test_cases += [['$EDITOR_NAME', 1]]


[?25l:  [?12l[?25h    " Non-existing environment variable


[?25l:  [?12l[?25h    let test_cases += [['$NON_ENV_VAR', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal function


[?25l:  [?12l[?25h    let test_cases += [['*bufnr', 1]]


[?25l:  [?12l[?25h    " Valid internal function with ()


[?25l:  [?12l[?25h    let test_cases += [['*bufnr()', 1]]


[?25l:  [?12l[?25h    " Non-existing internal function


[?25l:  [?12l[?25h    let test_cases += [['*myxyzfunc', 0]]


[?25l:  [?12l[?25h    " Valid internal function with garbage


[?25l:  [?12l[?25h    let test_cases += [['*bufnr&6', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid user defined function


[?25l:  [?12l[?25h    let test_cases += [['*TestExists', 1]]


[?25l:  [?12l[?25h    " Non-existing user defined function


[?25l:  [?12l[?25h    let test_cases += [['*MyxyzFunc', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function that may be created by FuncUndefined event


[?25l:  [?12l[?25h    let test_cases += [['*UndefFun', 0]]


[?25l:  [?12l[?25h    " Function that may be created by script autoloading


[?25l:  [?12l[?25h    let test_cases += [['*footest#F', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    redir! > test.out


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    for [test_case, result] in test_cases


[?25l:    [?12l[?25h        echo test_case . ": " . result


[?25l:    [?12l[?25h        call RunTest(test_case, result)


[?25l:    [?12l[?25h    endfor


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match)


[?25l:  [?12l[?25h    echo ':edit: 2'


[?25l:  [?12l[?25h    if exists(':edit') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match) with garbage


[?25l:  [?12l[?25h    echo ':edit/a: 0'


[?25l:  [?12l[?25h    if exists(':edit/a') == 0


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (partial match)


[?25l:  [?12l[?25h    echo ':q: 1'


[?25l:  [?12l[?25h    if exists(':q') == 1


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing internal command


[?25l:  [?12l[?25h    echo ':invalidcmd: 0'


[?25l:  [?12l[?25h    if !exists(':invalidcmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (full match)


[?25l:  [?12l[?25h    command! MyCmd :echo 'My command'


[?25l:  [?12l[?25h    echo ':MyCmd: 2'


[?25l:  [?12l[?25h    if exists(':MyCmd') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (partial match)


[?25l:  [?12l[?25h    command! MyOtherCmd :echo 'Another command'


[?25l:  [?12l[?25h    echo ':My: 3'


[?25l:  [?12l[?25h    if exists(':My') == 3


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Command modifier


[?25l:  [?12l[?25h    echo ':rightbelow: 2'


[?25l:  [?12l[?25h    if exists(':rightbelow') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (full match)


[?25l:  [?12l[?25h    delcommand MyCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':MyCmd: 0'


[?25l:  [?12l[?25h    if !exists(':MyCmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (partial match)


[?25l:  [?12l[?25h    delcommand MyOtherCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':My: 0'


[?25l:  [?12l[?25h    if !exists(':My')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var: 1'


[?25l:  [?12l[?25h    if exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable with garbage


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var%n: 0'


[?25l:  [?12l[?25h    if !exists('local_var%n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local variable


[?25l:  [?12l[?25h    unlet local_var


[?25l:  [?12l[?25h    echo 'local_var: 0'


[?25l:  [?12l[?25h    if !exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing autoload variable that may be autoloaded


[?25l:  [?12l[?25h    echo 'footest#x: 0'


[?25l:  [?12l[?25h    if !exists('footest#x')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list


[?25l:  [?12l[?25h    let local_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'local_list: 1'


[?25l:  [?12l[?25h    if exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item


[?25l:  [?12l[?25h    echo 'local_list[1]: 1'


[?25l:  [?12l[?25h    if exists('local_list[1]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item with garbage


[?25l:  [?12l[?25h    echo 'local_list[1]+5: 0'


[?25l:  [?12l[?25h    if !exists('local_list[1]+5')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Invalid local list item


[?25l:  [?12l[?25h    echo 'local_list[2]: 0'


[?25l:  [?12l[?25h    if !exists('local_list[2]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local list


[?25l:  [?12l[?25h    unlet local_list


[?25l:  [?12l[?25h    echo 'local_list: 0'


[?25l:  [?12l[?25h    if !exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local dictionary


[?25l:  [?12l[?25h    let local_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'local_dict: 1'


[?25l:  [?12l[?25h    if exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local dictionary


[?25l:  [?12l[?25h    unlet local_dict


[?25l:  [?12l[?25h    echo 'local_dict: 0'


[?25l:  [?12l[?25h    if !exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing local curly-brace variable


[?25l:  [?12l[?25h    let str = "local"


[?25l:  [?12l[?25h    let curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local curly-brace variable


[?25l:  [?12l[?25h    unlet curly_{str}_var


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable


[?25l:  [?12l[?25h    let g:global_var = 1


[?25l:  [?12l[?25h    echo 'g:global_var: 1'


[?25l:  [?12l[?25h    if exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable with garbage


[?25l:  [?12l[?25h    echo 'g:global_var-n: 1'


[?25l:  [?12l[?25h    if !exists('g:global_var-n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global variable


[?25l:  [?12l[?25h    unlet g:global_var


[?25l:  [?12l[?25h    echo 'g:global_var: 0'


[?25l:  [?12l[?25h    if !exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global list


[?25l:  [?12l[?25h    let g:global_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'g:global_list: 1'


[?25l:  [?12l[?25h    if exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global list


[?25l:  [?12l[?25h    unlet g:global_list


[?25l:  [?12l[?25h    echo 'g:global_list: 0'


[?25l:  [?12l[?25h    if !exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global dictionary


[?25l:  [?12l[?25h    let g:global_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'g:global_dict: 1'


[?25l:  [?12l[?25h    if exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global dictionary


[?25l:  [?12l[?25h    unlet g:global_dict


[?25l:  [?12l[?25h    echo 'g:global_dict: 0'


[?25l:  [?12l[?25h    if !exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global curly-brace variable


[?25l:  [?12l[?25h    let str = "global"


[?25l:  [?12l[?25h    let g:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global curly-brace variable


[?25l:  [?12l[?25h    unlet g:curly_{str}_var


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window variable


[?25l:  [?12l[?25h    echo 'w:window_var: 1'


[?25l:  [?12l[?25h    let w:window_var = 1


[?25l:  [?12l[?25h    if exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window variable


[?25l:  [?12l[?25h    unlet w:window_var


[?25l:  [?12l[?25h    echo 'w:window_var: 0'


[?25l:  [?12l[?25h    if !exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window list


[?25l:  [?12l[?25h    let w:window_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'w:window_list: 1'


[?25l:  [?12l[?25h    if exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window list


[?25l:  [?12l[?25h    unlet w:window_list


[?25l:  [?12l[?25h    echo 'w:window_list: 0'


[?25l:  [?12l[?25h    if !exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window dictionary


[?25l:  [?12l[?25h    let w:window_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'w:window_dict: 1'


[?25l:  [?12l[?25h    if exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window dictionary


[?25l:  [?12l[?25h    unlet w:window_dict


[?25l:  [?12l[?25h    echo 'w:window_dict: 0'


[?25l:  [?12l[?25h    if !exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window curly-brace variable


[?25l:  [?12l[?25h    let str = "window"


[?25l:  [?12l[?25h    let w:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window curly-brace variable


[?25l:  [?12l[?25h    unlet w:curly_{str}_var


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer variable


[?25l:  [?12l[?25h    echo 'b:buffer_var: 1'


[?25l:  [?12l[?25h    let b:buffer_var = 1


[?25l:  [?12l[?25h    if exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer variable


[?25l:  [?12l[?25h    unlet b:buffer_var


[?25l:  [?12l[?25h    echo 'b:buffer_var: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer list


[?25l:  [?12l[?25h    let b:buffer_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'b:buffer_list: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer list


[?25l:  [?12l[?25h    unlet b:buffer_list


[?25l:  [?12l[?25h    echo 'b:buffer_list: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer dictionary


[?25l:  [?12l[?25h    let b:buffer_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer dictionary


[?25l:  [?12l[?25h    unlet b:buffer_dict


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer curly-brace variable


[?25l:  [?12l[?25h    let str = "buffer"


[?25l:  [?12l[?25h    let b:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer curly-brace variable


[?25l:  [?12l[?25h    unlet b:curly_{str}_var


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Script-local tests


[?25l:  [?12l[?25h    source test60.vim


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:version: 1'


[?25l:  [?12l[?25h    if exists('v:version')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:non_exists_var: 0'


[?25l:  [?12l[?25h    if !exists('v:non_exists_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function arguments


[?25l:  [?12l[?25h    function TestFuncArg(func_arg, ...)


[?25l:    [?12l[?25h        echo 'a:func_arg: 1'


[?25l:    [?12l[?25h        if exists('a:func_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:non_exists_arg: 0'


[?25l:    [?12l[?25h        if !exists('a:non_exists_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:1: 1'


[?25l:    [?12l[?25h        if exists('a:1')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:2: 0'


[?25l:    [?12l[?25h        if !exists('a:2')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h    endfunction


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    call TestFuncArg("arg1", "arg2")


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    echo ' g:footest#x =' g:footest#x


[?25l:    [?12l[?25h    echo '   footest#F()' footest#F()


[?25l:    [?12l[?25h    echo 'UndefFun()' UndefFun()


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    redir END


[?25l:    [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hcall TestExists()
[?25l#myagroup: 1

OK


#myagroup+b: 0


OK


#myagroup#BufEnter: 1


OK


#myagroup#BufEnter#*.my: 1


OK


#BufEnter: 1


OK


#BufEnter#*.my: 1


OK


#xyzagroup: 0


OK


#xyzagroup#BufEnter: 0


OK


#myagroup#CmdwinEnter: 0


OK


#myagroup#xyzacmd: 0


OK


#myagroup#BufEnter#xyzpat: 0


OK


#BufEnter#xyzpat: 0


OK


###: 0


OK


##: 0


OK


##FileReadCmd: 1


OK


##MySpecialCmd: 0


OK


&textwidth: 1


OK


&tw: 1


OK


&tw-: 0


OK


&g:errorformat: 1


OK


&l:errorformat: 1


OK


&nojoinspaces: 0


OK


&nojs: 0


OK


&myxyzoption: 0


OK


+incsearch: 1


OK


+incsearch!1: 0


OK


+is: 1


OK


+autoprint: 0


OK


$EDITOR_NAME: 1


OK


$NON_ENV_VAR: 0


OK


*bufnr: 1


OK


*bufnr(): 1


OK


*myxyzfunc: 0


OK


*bufnr&6: 0


OK


*TestExists: 1


OK


*MyxyzFunc: 0


OK


*UndefFun: 0


OK


*footest#F: 0


OK


:edit: 2


OK


:edit/a: 0


OK


:q: 1


OK


:invalidcmd: 0


OK


:MyCmd: 2


OK


:My: 3


OK


:rightbelow: 2


OK


:MyCmd: 0


OK


:My: 0


OK


local_var: 1


OK


local_var%n: 0


OK


local_var: 0


OK


footest#x: 0


OK


local_list: 1


OK


local_list[1]: 1


OK


local_list[1]+5: 0


OK


local_list[2]: 0


OK


local_list: 0


OK


local_dict: 1


OK


local_dict: 0


OK


curly_local_var: 1


OK


curly_local_var: 0


OK


g:global_var: 1


OK


g:global_var-n: 1


OK


g:global_var: 0


OK


g:global_list: 1


OK


g:global_list: 0


OK


g:global_dict: 1


OK


g:global_dict: 0


OK


g:curly_global_var: 1


OK


g:curly_global_var: 0


OK


w:window_var: 1


OK


w:window_var: 0


OK


w:window_list: 1


OK


w:window_list: 0


OK


w:window_dict: 1


OK


w:window_dict: 0


OK


w:curly_window_var: 1


OK


w:curly_window_var: 0


OK


b:buffer_var: 1


OK


b:buffer_var: 0


OK


b:buffer_list: 1


OK


b:buffer_list: 0


OK


b:buffer_dict: 1


OK


b:buffer_dict: 0


OK


b:curly_buffer_var: 1


OK


b:curly_buffer_var: 0


OK


s:script_var: 1


OK


s:script_var: 0


OK


s:script_list: 1


OK


s:script_list: 0


OK


s:script_dict: 1


OK


s:script_dict: 0


OK


s:curly_script_var: 1


OK


s:curly_script_var: 0


OK


*s:my_script_func: 1


OK


*s:my_script_func: 0


OK


v:version: 1


OK


v:non_exists_var: 0


OK


a:func_arg: 1


OK


a:non_exists_arg: 0


OK


a:1: 1


OK


a:2: 0


OK


 g:footest#x = 1


   footest#F() 0


UndefFun() 0


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hdelfunc TestExists
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestFuncArg
[?25l[?12l[?25h[?25l:[?12l[?25hedit! test.out
[?25l"test.out" [Incomplete last line] 206 lines, 1940 characters#myagroup: 1OK

#myagroup+b: 0OK

#myagroup#BufEnter: 1OK#myagroup#BufEnter#*.my: 1OK

#BufEnter: 1OK#BufEnter#*.my: 1OK

#xyzagroup: 0OK#xyzagroup#BufEnter: 0

OK#myagroup#CmdwinEnter: 0

OK

#myagroup#xyzacmd: 0

OK#myagroup#BufEnter#xyzpat: 0

OK[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test60 = test61; then \
#	  if diff test.out test60.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test60.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test64.failed test.ok test.out X* viminfo
cp test64.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test64.in" 654 lines, 27565 charactersTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns without multi-byte support.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 621 lines, 27090 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:for pat in [' \ze*', ' \zs*']

:  try

:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp engine
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"operator \|
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search single groups
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', '                    ab           ', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search multi-modifiers
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" no match here
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na


sfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" leading star as normal char when \{} follows
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test groups of characters and submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1', 


''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi


iiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe


lix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '


yyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aá ^I', 'aá '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa


','xayzxayz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx


ayzxa',''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test Character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test collections and character range []
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl


mnopqrstuvwxyz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[?12l[?25h[?25l:[?12l[?25h" filename regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[?12l[?25h[?25l:[?12l[?25h" special chars
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[?12l[?25h[?25l:[?12l[?25h" collation elem
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" middle of regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f', "  \na ", "\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f\+', "  \na ", "\na"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \z features
[?25l[?12l[?25h[?25l:[?12l[?25h" match ends at \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" match starts at \zs
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if 


last'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is   [a t', '  '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \@= and \& features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match, no matter the input text
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '


John is Bobs friend'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep


', 'test1'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']


)[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:', 


's'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', '   abxyzc ', 'abxyzc', 'xyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" \%u and friends
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \%[abc]
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'


])[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7


\8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e


', 'f', 'g', 'h', 'i'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo


.com', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo


.bat', 'bat', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$


{0}', '0'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Look-behind with limit
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<


'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<


<'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19


70'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" complicated look-behind match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \@>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Requiring lots of states.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}', "


12345678-1234-1234-1234-123456789012 ", "12345678-1234-1234-1234-123456789012",


"1234-"])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Skip adding state twice
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO", 


"#if", ' FOO'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""" Test \%V atom
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt


ausgabe [Salleck]    Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau


sgabe', 'Gesamt'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.

OK 2 - ^\(.\{-}b\)\@>.

OK 0 - \(.\{-}\)\(\)\@>$

OK 1 - \(.\{-}\)\(\)\@>$

OK 2 - \(.\{-}\)\(\)\@>$

OK 0 - \(a*\)\@>a\|a\+

OK 2 - \(a*\)\@>a\|a\+

OK 0 - \_[^8-9]\+

OK 1 - \_[^8-9]\+

OK 2 - \_[^8-9]\+

OK 0 - \_[^a]\+

OK 1 - \_[^a]\+

OK 2 - \_[^a]\+

OK 0 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 1 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 2 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 0 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 1 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 2 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 0 - \%>70vGesamt

OK 1 - \%>70vGesamt

OK 2 - \%>70vGesamt
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D


ir2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt


'], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" line breaks
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'


, 'XXjk', 'lmn']])
[?25lOK 0 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)


\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca


lnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the multi-line tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='multi-line tests'
[?25l

multi-line tests[?12l[?25h[?25l

:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let before = t[2]


[?25l:  [?12l[?25h:  let after = t[3]


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re ==1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    new


[?25l:    [?12l[?25h:    call setline(1, before)


[?25l:    [?12l[?25h:    exe '%s/' . pat . '/XX/'


[?25l:    [?12l[?25h:    let result = getline(1, '$')


[?25l:    [?12l[?25h:    q!


[?25l:    [?12l[?25h:    if result != after


[?25l:      [?12l[?25h:      $put ='ERROR: pat: \"' . pat . '\", text: \"' . string(before) . 


'\", expected: \"' . string(after) . '\", got: \"' . string(result) . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

:[?12l[?25hunlet t tl
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[?12l[?25h[?25l:[?12l[?25h" matchstr() with \ze in between.
[?25l[?12l[?25h[?25l:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2yank
[?25l[?12l[?25h[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

[?12l[?25h[?25l

<T="5">Ta 5</Title>
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[?12l[?25h[?25l/[?12l[?25h^Behind:
[?25lsearch hit BOTTOM, continuing at TOP:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[?12l[?25h[?25l:[?12l[?25h.yank
[?25l[?12l[?25h[?25lOK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l

[?12l[?25h[?25l

xxstart3
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching Visual area
[?25l[?12l[?25h[?25l/[?12l[?25h^Visual:
[?25lsearch hit BOTTOM, continuing at TOP<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

oooxofor foroxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

search hit BOTTOM, continuing at TOP[?12l[?25h

the[?25l[?12l[?25h[?25lxe the the[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 linexE thE thE
[?12l[?25h

[?25landaxand andaxand 
[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 lineAndAxAnd AndAxAnd[?12l[?25h

ooo[?25l[?12l[?25h[?25lxofor foro[?12l[?25h[?25lx

oooxofor foro[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 linesxOfOr fOrOx

oooxOfOr fOrO
[?12l[?25h[?25l:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25lsearch hit BOTTOM, continuing at TOP
4 lines yanked[?12l[?25h[?25lOK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3
[?12l[?25h[?25l

[?12l[?25h[?25l

4 more lines

thexE thE thExethe4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching marks
[?25l[?12l[?25h[?25l/[?12l[?25h^Marks:
[?25lsearch hit BOTTOM, continuing at TOPasdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

OK 0 - ab

OK 1 - ab

OK 2 - ab

OK 0 - b

OK 1 - b

OK 2 - b

search hit BOTTOM, continuing at TOP[?12l[?25h

asdf[?25l:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25lhereasdf[?12l[?25h

asdf

dfsa
dfsadf[?25l:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l

asdfagainasdfOK 0 - bc*[?12l[?25h[?25l:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25lsearch hit BOTTOM, continuing at TOP
3 lines yanked[?12l[?25h[?25lOK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo
[?12l[?25h[?25l

[?12l[?25h[?25l

3 more linesasdfhereasdf

asdfagainasdf3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check patterns matching cursor position.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! Postest()
[?25l

:  [?12l[?25h new


[?25l:  [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t


\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', '        xxxxxx


xxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx


xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx


xxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx


x xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx


xxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx


xxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x


xxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxxxxx


xxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx'])


[?25l:  [?12l[?25h call setpos('.', [0, 1, 0, 0])


[?25l:  [?12l[?25h s/\%>3c.//g


[?25l:  [?12l[?25h call setpos('.', [0, 2, 4, 0])


[?25l:  [?12l[?25h s/\%#.*$//g


[?25l:  [?12l[?25h call setpos('.', [0, 3, 0, 0])


[?25l:  [?12l[?25h s/\%<3c./_/g


[?25l:  [?12l[?25h %s/\%4l\%>5c./_/g


[?25l:  [?12l[?25h %s/\%6l\%>25v./_/g


[?25l:  [?12l[?25h %s/\%>6l\%3c./!/g


[?25l:  [?12l[?25h %s/\%>7l\%12c./?/g


[?25l:  [?12l[?25h %s/\%>7l\%<9l\%>5v\%<8v./#/g


[?25l:  [?12l[?25h $s/\%(|\u.*\)\@<=[^|\t]\+$//ge


[?25l:  [?12l[?25h 1,$yank


[?25l:  [?12l[?25h quit!


[?25l:  [?12l[?25hendfunc
[?25lOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf[?12l[?25h[?25l255\

OK 0 - a\n^b$\n^cOK 1 - a\n^b$\n^c2

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2<T="5">Ta 5</Title>

<T="7">Ac 7</Title>xxstart3thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooooooxOfOr fOrOxoooasdfhereasdfasdfagainasdf~                                                                               [?12l[?25h[?25l

-0-[?12l[?25h[?25l

:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25loooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf-0-ffobob__ooooo

koooo__moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[?12l[?25h[?25l

-1-[?12l[?25h[?25l

:[?12l[?25hset re=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l-1-

ffo

bob

__ooooo

koooo__

moooooo

   f__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxx xxxx xx xxxxxxxx xxx xxxxxxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-2-[?12l[?25h[?25l:[?12l[?25hset re=2
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l-2-

ffo

bob~                                                                               [?12l[?25h[?25l:[?12l[?25h" start and end of buffer
[?25l[?12l[?25h[?25l/[?12l[?25h\%^
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 2 - \v(a*)+

OK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%^..
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}

OK 1 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

:call add(tl, [2, 'ab', 'aab', 'ab'])

:call add(tl, [2, 'b', 'abcdef', 'b'])

:call add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])

:call add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])

:call add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])

:call add(tl, [2, 'bc*', 'abbdef', 'b'])

:call add(tl, [2, 'c*', 'ccc', 'ccc'])

:call add(tl, [2, 'bc*', 'abdef', 'b'])[?12l[?25h[?25l/[?12l[?25h..\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h
[?25l[?12l[?25h[?25lEN[?12l[?25h[?25l[?12l[?25h[?25lE[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check for detecting error
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=2
[?25l[?12l[?25h[?25l:[?12l[?25hfor pat in [' \ze*', ' \zs*']
[?25l

:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    let l = matchlist('x x', pat)


[?25l:    [?12l[?25h:    $put ='E888 NOT detected for ' . pat


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='E888 detected for ' . pat


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor
[?25lffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?ba

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxxxxxxx xxx xxxxxxx xxxxxxxxx  xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxx xxxx xxx xxxx xxx xxx xxxxxx x xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x x xx xxxxxx xxxxxxx  xxxxxxxxxx xxxxxxxxx xxx xxx xxxxxxxx   xxxx xxx xxxxxx xxxxx xxxxx xx   xxxxxxxxxxxx xxxx xxxxxxxxx xxxxx xxxxx xx xxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxTestEND

EN888 detected for  \ze*

E888 detected for  \zs*[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Write the results """""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1107 lines, 22167 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test64 = test61; then \
#	  if diff test.out test64.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test64.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test65.failed test.ok test.out X* viminfo
cp test65.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test65.in" 95 lines, 2153 charactersTest for floating point and logical operators.



STARTTEST

:so small.vim

:if !has("float")

:  e! test.ok

:  wq! test.out

:endif

:"

:$put =printf('%f', 123.456)

:$put =printf('%e', 123.456)

:$put =printf('%g', 123.456)

:" check we don't crash on division by zero

:echo 1.0 / 0.0

:$put ='+='

:let v = 1.234

:let v += 6.543

:$put =printf('%g', v)

:let v = 1.234

:let v += 5

:$put =printf('%g', v)

:let a = 5

:let a += 3.333[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for floating point and logical operators.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 89 lines, 2067 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'

:$put =and(127, 127)

:$put =and(127, 16)

:$put =and(127, 128)

:$put ='OR'

:$put =or(16, 7)

:$put =or(8, 7)

:$put =or(0, 123)

:$put ='XOR'

:$put =xor(127, 127)

:$put =xor(127, 16)

:$put =xor(127, 128)

:$put ='invert'

:$put =and(invert(127), 65535)

:$put =and(invert(16), 65535)

:$put =and(invert(128), 65535)

:$put =invert(1.0)

:/^Results/,$wq! test.out

ENDTEST



Results of test65:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("float")
[?25l

:  [?12l[?25h:  e! test.ok


[?25l:  [?12l[?25h:  wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%f', 123.456)
[?25l

123.456000[?12l[?25h[?25l

:[?12l[?25h$put =printf('%e', 123.456)
[?25l

1.234560e+02[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 123.456)
[?25l

123.456[?12l[?25h[?25l

:[?12l[?25h" check we don't crash on division by zero
[?25l[?12l[?25h[?25l:[?12l[?25hecho 1.0 / 0.0
[?25linf[?12l[?25h[?25l:[?12l[?25h$put ='+='
[?25l

+=[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 6.543
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

7.777[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 5
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

6.234[?12l[?25h[?25l

:[?12l[?25hlet a = 5
[?25l[?12l[?25h[?25l:[?12l[?25hlet a += 3.333
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(a)
[?25l

8.333[?12l[?25h[?25l

:[?12l[?25h$put ='=='
[?25l

==[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25h$put =v == 1.234
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =v == 1.2341
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='add-subtract'
[?25l

add-subtract[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l

5.234[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l

-6.766[?12l[?25h[?25l

:[?12l[?25h$put ='mult-div'
[?25l

mult-div[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l

4.936[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l

0.003241[?12l[?25h[?25l

:[?12l[?25h$put ='dict'
[?25l

dict[?12l[?25h[?25l

:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l

{'x': 1.234, 'y': -2.0e20}[?12l[?25h[?25l

:[?12l[?25h$put ='list'
[?25l

list[?12l[?25h[?25l

:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l

[-123.4, 2.0e-20][?12l[?25h[?25l

:[?12l[?25h$put ='abs'
[?25l

abs[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(1456))
[?25l

1456[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(-4))
[?25l

4[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25lE745: Using a List as a Number

-1[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l

14.56[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l

54.32[?12l[?25h[?25l

:[?12l[?25h$put ='ceil'
[?25l

ceil[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l

2.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l

-4.0[?12l[?25h[?25l

:[?12l[?25h$put ='floor'
[?25l

floor[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l

-6.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='log10'
[?25l

log10[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(1000))
[?25l

3.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l

-2.0[?12l[?25h[?25l

:[?12l[?25h$put ='pow'
[?25l

pow[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l

27.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l

65536.0[?12l[?25h[?25l

:[?12l[?25h$put ='round'
[?25l

round[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(0.456))
[?25l

0.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(4.5))
[?25l

5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put ='sqrt'
[?25l

sqrt[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l

10.0[?12l[?25h[?25l

:[?12l[?25hecho sqrt(-4.01)
[?25lnan[?12l[?25h[?25l:[?12l[?25h$put ='str2float'
[?25l

str2float[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l

1.0e40[?12l[?25h[?25l

:[?12l[?25h$put ='trunc'
[?25l

trunc[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='float2nr'
[?25l

float2nr[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(123.456)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(-123.456)
[?25l

-123[?12l[?25h[?25l

:[?12l[?25h$put ='AND'
[?25l

AND[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 127)
[?25l

127[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 16)
[?25l

16[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 128)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='OR'
[?25l

OR[?12l[?25h[?25l

:[?12l[?25h$put =or(16, 7)
[?25l

23[?12l[?25h[?25l

:[?12l[?25h$put =or(8, 7)
[?25l

15[?12l[?25h[?25l

:[?12l[?25h$put =or(0, 123)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put ='XOR'
[?25l

XOR[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 127)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 16)
[?25l

111[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 128)
[?25l

255[?12l[?25h[?25l

:[?12l[?25h$put ='invert'
[?25l

invert[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(127), 65535)
[?25l

65408[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(16), 65535)
[?25l

65519[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(128), 65535)
[?25l

65407[?12l[?25h[?25l

:[?12l[?25h$put =invert(1.0)
[?25lE805: Using a Float as a Number

0[?12l[?25h[?25l

:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 73 lines, 430 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test65 = test61; then \
#	  if diff test.out test65.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test65.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test66.failed test.ok test.out X* viminfo
cp test66.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test66.in" 33 lines, 509 charactersTest for visual block shift and tab characters.



STARTTEST

:so small.vim

/^one

fe^V4jR^[ugvr1:'<,'>w! test.out

/^abcdefgh

^V4jI    ^[j<<11|D

7|a^[

7|a^[

7|a^[4k13|^V4j<

:$-5,$w >> test.out

:$-4,$s/\s\+//g

^V4kI    ^[j<<

7|a^[

7|a^[

7|a^[4k13|^V4j3<

:$-4,$w >> test.out

:qa!

ENDTEST



one two three[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 234 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^one
[?25l[?12l[?25hon[?25l[?12l[?25h[?25le

one two three

one two three

one two three

one two three[?12l[?25h[?25l

4 fewer linesabcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz[?12l[?25h[?25lmore lines; before #1  0 seconds agoone two three

one two three

one two threeone two threeone two three[?12l[?25h[?25le

one

one

one

on[?12l[?25h[?25l1

on1

on1

on1

on1[?12l[?25h[?25l:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [New File] 5 lines, 70 characters written[?12l[?25h[?25l/[?12l[?25h^abcdefgh
[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25la

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc            defghijklmnopqrstuvwxyz[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 1 timeidefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"6 lines, 151 characters appended[?12l[?25h[?25l:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 linesabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

a

a

a[?12l[?25h[?25l

a

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghij

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghij[?12l[?25h

    ab[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                       defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                 defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 3 timesidefghijklmnopqrstuvwxyz    defghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"5 lines, 147 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test66 = test61; then \
#	  if diff test.out test66.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test66.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test67.failed test.ok test.out X* viminfo
cp test67.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test67.in" 33 lines, 1110 charactersTest that groups and patterns are tested correctly when calling exists() for

autocommands.



STARTTEST

:so small.vim

:let results=[]

:augroup auexists

:augroup END

:call add(results, "##BufEnter: " . exists("##BufEnter"))

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:au BufEnter * let g:entered=1

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:augroup auexists

:au BufEnter * let g:entered=1

:augroup END

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:au BufEnter *.test let g:entered=1

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:edit testfile.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:au BufEnter <buffer> let g:entered=1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest that groups and patterns are tested correctly when calling exists() for[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 999 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:edit testfile2.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:e! test.out

:call append(0, results)

:$d

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet results=[]
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l:[?12l[?25hcall append(0, results)
[?25l##BufEnter: 1

#BufEnter: 0

#BufEnter: 1

#auexists#BufEnter: 0

#auexists#BufEnter: 1

#BufEnter#*.test: 0

#BufEnter#*.test: 1

#BufEnter#<buffer>: 0

#BufEnter#<buffer>: 1

#BufEnter#<buffer>: 0[?12l[?25h[?25l:[?12l[?25h$d
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test67 = test61; then \
#	  if diff test.out test67.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test67.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test68.failed test.ok test.out X* viminfo
cp test68.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test68.in" 131 lines, 1004 charactersTest for text formatting.



Results of test68:



STARTTEST

:so small.vim

/^{/+1

:set noai tw=2 fo=t

gRa b^[

ENDTEST



{





}



STARTTEST

/^{/+1

:set ai tw=2 fo=tw

gqgqjjllab^[

ENDTEST



{[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 48 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset noai tw=2 fo=t
[?25l[?12l[?25h[?25la

b[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l

a  b[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tw
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

[?12l[?25h[?25l

a[?12l[?25ha [?25l

b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=3 fo=t

gqgqo

a ^V^A^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a ^A[?12l[?25h[?25l

:[?12l[?25hset tw=3 fo=t
[?25l[?12l[?25h[?25l

^A[?12l[?25h[?25la

^A
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tcq1 comments=:#

gqgqjgqgqo

a b

#a b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a b[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[?12l[?25h[?25l

#a b[?12l[?25h[?25la b

#a b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 46 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=tcn comments=:#

A b^[jA b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  1 a[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

# 1 a[?12l[?25h[?25l

#   b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+3
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 35 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=t2a si

i  ^[A_^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+3
[?25l{



  x a

  b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=t2a si
[?25l[?12l[?25h[?25l    b[?12l[?25h[?25l b_[?12l[?25h[?25l

c[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=qn comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# 1 a b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=q2 comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# x[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[?12l[?25h[?25l# x a
[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+2
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw& fo=a

I^^^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+2
[?25l{

   1aa

   2bb[?12l[?25h[?25l

:[?12l[?25hset tw& fo=a
[?25l[?12l[?25h[?25l1aa ^^2bb }STARTTEST[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h[?25l

/mno pqr/[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 69 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/

A vwx yz^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25hmno pqr/
[?25l/* abc def ghi jkl

 *    mno pqr stu[?12l[?25h[?25l

:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[?12l[?25h[?25l

*    vwx yz[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^#/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=12 fo=tqnc comments=:#

A foobar^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^#/
[?25l

# 1 xxxxx[?12l[?25h[?25l

:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[?12l[?25h[?25l

#   foobar[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines# 1 a#   b}{

# x a#   b}{ 1aa ^^2bb }/* abc def ghi jkl

 *    mno pqr stu

 *    vwx yz

 */# 1 xxxxx

#   foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 77 lines, 281 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test68 = test61; then \
#	  if diff test.out test68.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test68.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test69.failed test.ok test.out X* viminfo
cp test69.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test69.in" 192 lines, 2185 charactersTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for multi-byte text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 2 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=t
[?25l[?12l[?25h

[?25l

XYZ[?12l[?25h[?25l[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

Z

abc [?12l[?25h[?25l

X[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=1 fo=tm

gqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

X[?12l[?25h[?25l

:[?12l[?25hset tw=1 fo=tm
[?25l[?12l[?25h[?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l

X a
[?12l[?25h[?25l

a[?12l[?25h[?25l

XY
[?12l[?25h[?25l

Y
[?12l[?25h[?25l

X Y
[?12l[?25h[?25l

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c

abXY^[

ENDTEST



{

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h

[?25la[?12l[?25h

[?25la[?12l[?25h

[?25lY
[?12l[?25h

[?25lY 
[?12l[?25h[?25l

aX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abcX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX c
[?12l[?25h[?25lX

c[?12l[?25h[?25l

abXY
[?12l[?25h[?25lX

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25lY

a[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

abc[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

c

ab[?12l[?25h[?25l

X[?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set ai tw=2 fo=tm

gqgqjgqgqo

X

Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

  a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 53 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set noai tw=2 fo=tm

gqgqjgqgqo

  X

  Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset noai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 169 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa

XXY^[

ENDTEST



{

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[?12l[?25h



[?25lXY[?12l[?25h



[?25lXZ
[?12l[?25h



[?25l

X Z
[?12l[?25h[?25l

XX
[?12l[?25h[?25l

XXa
[?12l[?25h[?25l

XXY
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25l

Xa

[?12l[?25h[?25lXa[?12l[?25h[?25lXY

[?12l[?25h[?25lX[?12l[?25h[?25l

Y

[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25lXZ

[?12l[?25h[?25lX [?12l[?25h[?25l

Y

[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25lX Z

[?12l[?25h[?25lX[?12l[?25h[?25l

X

[?12l[?25h[?25lX[?12l[?25h[?25l

Xa

[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 30 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tm

RXa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set mps+=^Vu2018:^Vu2019

d%

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

‘two three ’four[?12l[?25h[?25l

:[?12l[?25hset mps+=^‘:^’
[?25l[?12l[?25h[?25l four[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^ra test
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 16 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTjVjra

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^ra test
[?25l

ra test[?12l[?25h[?25l

abba
[?12l[?25h[?25lbba 
[?12l[?25h[?25l

a

aab 
[?12l[?25h[?25laaaaaaa [?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set whichwrap+=h
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 43 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^x

dh

:set whichwrap-=h

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset whichwrap+=h
[?25l[?12l[?25h[?25l/[?12l[?25h^x
[?25láx[?12l[?25h[?25lx[?12l[?25h

[?25l

:[?12l[?25hset whichwrap-=h
[?25l[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:let a = '.é.' " one char of two bytes
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 548 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let b = '.é.' " normal e with composing char

/^byteidx

:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)])

:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])

/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)])

:let b = '.é.'

:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet a = '.é.' " one char of two bytes
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[?12l[?25h[?25l/[?12l[?25h^byteidx
[?25l

byteidx[?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei


dx(a, 4)])
[?25l:set whichwrap-=h

ENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei


dx(b, 4)])
[?25lENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5[?12l[?25h[?25l

/[?12l[?25h^byteidxcomp
[?25l

byteidxcomp[?12l[?25h[?25l

:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc


omp(a, 3), byteidxcomp(a, 4)])
[?25láxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hlet b = '.eé.'
[?25l[?12l[?25h[?25l:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc


omp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25lSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1]2, 4, 5, -1][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^substitute
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 75 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let y = substitute('123', '\zs', 'a', 'g')    | put =y

ENDTEST[?12l[?25h[?25lsubstitute[?12l[?25h[?25l



:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^substitute
[?25l[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')    | put =y
[?25la1a2a3a[?12l[?25h[?25l



/^STARTTEST


STARTTEST[?12l[?25h[?25l:g/^STARTTEST/.,/^ENDTEST/d

:1;/^Results/,$wq! test.out[?12l[?25h[?25l



:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l



/ENDTEST[?12l[?25h
[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines{ four}ra test

aaaaaaaáxbyteidx[0, 1, 3, 4, -1]

[0, 1, 4, 5, -1]byteidxcomp

[0, 1, 3, 4, -1]

[0, 1, 2, 4, 5, -1]substitute

a1a2a3a[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 166 lines, 730 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test69 = test61; then \
#	  if diff test.out test69.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test69.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test70.failed test.ok test.out X* viminfo
cp test70.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test70.in" 63 lines, 1501 charactersSmoke test for MzScheme interface and mzeval() function



STARTTEST

:so mzscheme.vim

:set nocompatible viminfo+=nviminfo

:function! MzRequire()

:redir => l:mzversion

:mz (version)

:redir END

:if strpart(l:mzversion, 1, 1) < "4"

:" MzScheme versions < 4.x:

:mz (require (prefix vim- vimext))

:else

:" newer versions:

:mz (require (prefix-in vim- 'vimext))

:mz (require r5rs)

:endif

:endfunction

:silent call MzRequire()

:mz (define l '("item0" "dictionary with list OK" "item2"))

:mz (define h (make-hash))

:mz (hash-set! h "list" l)

/^1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSmoke test for MzScheme interface and mzeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1398 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:if l2[2] == l2

:let res = "OK"

:else

:let res = "FAILED: " . l2[2]

:endif

:call setline(search("^3"), "circular test " . res)

:" funcrefs

:mz (define vim:max (vim-eval "function('max')"))

:mz (define m (vim:max '(1 100 8)))

:let m = mzeval('m')

:if m == 100

:let fref_res = "OK"

:else

:let fref_res = "FAILED: " . m

:end

:call append(line('$'), 'funcrefs '. fref_res)

:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mzscheme.vim
[?25l"test.ok" 6 lines, 94 characters


"test.out" [New File] 6 lines, 94 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test70 = test61; then \
#	  if diff test.out test70.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test70.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test73.failed test.ok test.out X* viminfo
cp test73.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test73.in" 169 lines, 3647 charactersTests for find completion.



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xfind directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a stale "Xfind" directory may exist, remove it so that

:" we start from a clean state.

:call delete("Xfind", "rf")

:new

:let cwd=getcwd()

:let test_out = cwd . '/test.out'

:call mkdir('Xfind')

:cd Xfind

:set path=

:find

:exec "w! " . test_out

:close[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for find completion.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 164 lines, 3600 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exec "cd " . cwd . "/Xfind/"

:set path=./path

:" Open the file where Jimmy Hoffa is found

:e in/file.txt

:" Find the file containing 'E.T.' in the Xfind/in/path directory

:find file

:exec "w >>" . test_out

:"

:" Test that completion works when path=.,,

:"

:set path=.,,

:" Open Jimmy Hoffa file

:e in/file.txt

:exec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu

:exec "w >>" . test_out

:q

:exec "cd " . cwd

:call delete("Xfind", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTESTtest73.in                                                                       [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xfind')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE345: Can't find file "" in path[?12l[?25h[?25l:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
</vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" [New] 0L, 0C written/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in                 [?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in                 [?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in                 [?12l[?25h[?25l:[?12l[?25hset path=./**
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in                 [?12l[?25h[?25l:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('in')
[?25l[?12l[?25h[?25l:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hcall mkdir('path')
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdirtest73.in                                                      [?12l[?25h[?25l:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File]Xfind/file.txt[?12l[?25h[?25l-- INSERT --Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File]in/file.txt[?12l[?25h[?25l-- INSERT --Jimmy Hoffa[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File]stuff.txt[?12l[?25h[?25l-- INSERT --Another Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File]path/file.txt[?12l[?25h[?25l-- INSERT --E.T.[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written    [?12l[?25h[?25l:[?12l[?25hset path=Xfind/**
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[?12l[?25h[?25l:[?12l[?25h" recursive location.
[?25l[?12l[?25h[?25l:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path+=Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[?12l[?25h[?25l:[?12l[?25h" is Xfind/in/file.txt.
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfindin/stuff.txtf       /<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[?12l[?25h
[?25l"file.txt" 1L, 11CHoly Grailfile.txt.     [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25h" Test shortening of
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[?12l[?25h[?25l:[?12l[?25h" of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/file.txt[?12l[?25h[?25l:[?12l[?25hcall mkdir('x')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('y')
[?25l[?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/x[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfindfile.txti                                                             [?12l[?25h[?25l:[?12l[?25h" We should now be in the Xfind directory
[?25l[?12l[?25h[?25l:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File]oo/x/bar/voyager.txt[?12l[?25h[?25l-- INSERT --Voyager 1[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File]y/[?12l[?25h[?25l-- INSERT --Voyager 2[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C1x/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25ly[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C2y/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[?12l[?25h[?25l:[?12l[?25h" order of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    ./voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/fooy/bar/voyager.txt.     [?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/ybar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/y/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25lx/bar/voyager.txt[?12l[?25h
[?25l<d/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/x/bar/voyager.txt"
<6ECvf/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C1<ild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/x/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check the opposite too:
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foox/bar/voyager.txti                                                               [?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/xbar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/x/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25ly/bar/voyager.txt[?12l[?25h
[?25l<d/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/y/bar/voyager.txt"
<6ECvf/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C2<ild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/y/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" 1L, 12CJimmy Hoffafile.txt-                                                                        [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfindin/file.txt[?12l[?25h[?25l:[?12l[?25hset path=./path
[?25l[?12l[?25h[?25l:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[?12l[?25h[?25l:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that completion works when path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h" Open Jimmy Hoffa file
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[?12l[?25h[?25l:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25hq
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test73 = test61; then \
#	  if diff test.out test73.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test73.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test75.failed test.ok test.out X* viminfo
cp test75.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test75.in" 41 lines, 1000 charactersTests for maparg().

Also test utf8 map with a 0x80 byte.



STARTTEST

:so small.vim

:so mbyte.vim

:set cpo-=<

:set encoding=utf8

:" Test maparg() with a string result

:map foo<C-V> is<F4>foo

:vnoremap <script> <buffer> <expr> <silent> bar isbar

:call append('$', maparg('foo<C-V>'))

:call append('$', string(maparg('foo<C-V>', '', 0, 1)))

:call append('$', string(maparg('bar', '', 0, 1)))

:map <buffer> <nowait> foo bar

:call append('$', string(maparg('foo', '', 0, 1)))

:"

:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for maparg().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 34 lines, 919 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"

:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" Test maparg() with a string result
[?25l[?12l[?25h[?25l:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc x<char-114>x
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc y<S-char-114>y
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25leof

is<F4>foo

{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr':: 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}

{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''sid': 0, 'rhs': 'isbar', 'buffer': 1}

{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''sid': 0, 'rhs': 'bar', 'buffer': 1}

xrx

yRy[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Outside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x1040> a
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25la[?12l[?25h[?25l:[?12l[?25h" Inside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x103f> b
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25lb[?12l[?25h[?25l:[?12l[?25h" Inside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25lc[?12l[?25h[?25l:[?12l[?25h" Outside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf040> d
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25ld[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^eof/+1,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 7 lines, 384 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test75 = test61; then \
#	  if diff test.out test75.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test75.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test77.failed test.ok test.out X* viminfo
cp test77.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test77.in" 30 lines, 719 charactersInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.



cksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST

:so small.vim

:if !executable("cksum")

: e! test.ok

: w! test.out

: qa!

:endif

:set fileformat=unix undolevels=-1

ggdG

:let i = 1

:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhileggdd

:w! Xtest[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 2 million lines with consecutive integers starting from 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 288 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:r !cksum Xtest

:s/\s/ /g

:set fileformat&

:.w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("cksum")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25lcksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST[?12l[?25h[?25l

:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[?12l[?25h[?25lInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil


e[?25l12345678910111213141516171819202122[?12l[?25h[?25l

23[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2000000 lines, 14888896 characters written[?12l[?25h[?25l:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[?25l1

2

3678979763 14888896 Xtest

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22[?12l[?25h[?25l:[?12l[?25hs/\s/ /g
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat&
[?25l[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 26 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test77 = test61; then \
#	  if diff test.out test77.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test77.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test79.failed test.ok test.out X* viminfo
cp test79.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test79.in" 255 lines, 3381 charactersTest for *sub-replace-special* and *sub-replace-expression* on :substitute.

Test for submatch() on :substitue.

Test for *:s%* on :substitute.

Test for :s replacing \n with  line break.



STARTTEST

:so small.vim

ENDTEST



Results of test71:



STARTTEST

:set magic

:set cpo&

/^TEST/

j:s/A/&&/

j:s/B/\&/

j:s/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/

j:s/D/d/

j:s/E/~/

j:s/F/\~/

j:s/G/\ugg/

j:s/H/\Uh\Eh/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_1:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25lA
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l&[?12l[?25h

[?25l:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set nomagic
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 351 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_2:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25l&&
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 203 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\='\\'/

j:s/C/\='^V^M'/

j:s/D/\='\^V^M'/

j:s/E/\='\\^V^M'/

j:s/F/\='\r'/

j:s/G/\='^V^@'/

j:s/H/\='\^V^@'/

j:s/I/\='\\^V^@'/

j:s/J/\='\n'/

j:s/K/\="\r"/

j:s/L/\="\n"/

ENDTEST



TEST_3:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\='\'/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\='\\'/
[?25l\\b
[?12l[?25h

[?25l:[?12l[?25hs/C/\='^^M'/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\='\^^M'/
[?25l\d[?12l[?25h

[?25l





:[?12l[?25hs/E/\='\\^^M'/
[?25l\\

efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\='\r'/
[?25l\rf
[?12l[?25h[?25l

gGg[?12l[?25h[?25l

:[?12l[?25hs/G/\='^^@'/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\='\^^@'/
[?25l

\h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\='\\^^@'/
[?25l

\\

i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\='\n'/
[?25l\nj
[?12l[?25h[?25l

kKk[?12l[?25h[?25l

:[?12l[?25hs/K/\="\r"/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\="\n"/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 611 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\=substitute(submatch(0), '.', '\\', '')/

j:s/C/\=substitute(submatch(0), '.', '^V^M', '')/

j:s/D/\=substitute(submatch(0), '.', '\^V^M', '')/

j:s/E/\=substitute(submatch(0), '.', '\\^V^M', '')/

j:s/F/\=substitute(submatch(0), '.', '\r', '')/

j:s/G/\=substitute(submatch(0), '.', '^V^@', '')/

j:s/H/\=substitute(submatch(0), '.', '\^V^@', '')/

j:s/I/\=substitute(submatch(0), '.', '\\^V^@', '')/

j:s/J/\=substitute(submatch(0), '.', '\n', '')/

j:s/K/\=substitute(submatch(0), '.', "\r", '')/

j:s/L/\=substitute(submatch(0), '.', "\n", '')/

ENDTEST



TEST_4:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^^M', '')/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^^M', '')/
[?25ld[?12l[?25h

[?25l





:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^^M', '')/
[?25l\efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l

f[?12l[?25h[?25l

gGg
[?12l[?25h[?25l

:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^^@', '')/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^^@', '')/
[?25l

h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^^@', '')/
[?25l

\i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l

j[?12l[?25h[?25l

kKk
[?12l[?25h[?25l

:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 445 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST/

j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .. submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch((3) . submatch(2) . submatch(1)/

j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subbmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subbmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l

TEST_5:[?12l[?25h[?25l

A123456789
[?12l[?25h[?25l

:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .


submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(


3) . submatch(2) . submatch(1)/
[?25li\

i987654321[?12l[?25h[?25l

B123456789
[?12l[?25h[?25l

:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub


match(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub


match(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25li

j[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^TEST/

:set cpo+=/

j:s/A/a/

j:s/B/%/

:set cpo-=/

j:s/C/c/

j:s/D/%/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25lTEST_6:

A

B[?12l[?25h[?25l





:[?12l[?25hset cpo+=/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/a/
[?25la[?12l[?25h

[?25l:[?12l[?25hs/B/%/
[?25la[?12l[?25h[?25l:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25lC

D[?12l[?25h[?25l





:[?12l[?25hs/C/c/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/%/
[?25l%[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 11 lines, 303 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST_7/

j:s/A./\=submatch(0)/

j:s/B./\=submatch(0)/

j:s/C./\=strtrans(string(submatch(0, 1)))/

j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/

j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/

/^Q$

:s/Q[^\n]Q/\=submatch(0)."foobar"/

:" Avoid :s error breaks dotest map on Windows.

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST_7/
[?25l

TEST_7:[?12l[?25h[?25l

A^MA
[?12l[?25h[?25l

:[?12l[?25hs/A./\=submatch(0)/
[?25l

A[?12l[?25h[?25l

B^@B
[?12l[?25h[?25l

:[?12l[?25hs/B./\=submatch(0)/
[?25l

B[?12l[?25h[?25l

C^@C
[?12l[?25h[?25l

:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l['C^@']C
[?12l[?25h[?25l

D^@[?12l[?25h[?25l

:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l['D^@', 'D']
[?12l[?25h[?25l

E^@[?12l[?25h[?25l

:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l/[?12l[?25h^Q$
[?25l

Q[?12l[?25h[?25l

:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25lE486: Pattern not found: Q[^\n]Q[?12l[?25h[?25l:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[?12l[?25h[?25l/^STARTTEST
Q



STARTTEST[?12l[?25h[?25l

:function! TitleString()
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 177 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTlet check = 'foo' =~ 'bar'

  return ""

endfunction

:set titlestring=%{TitleString()}

:/^test_one/s/.*/\="foo\nbar"/

:/^test_two/s/.*/\="foo\nbar"/c

y

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hfunction! TitleString()
[?25l

:  [?12l[?25h  let check = 'foo' =~ 'bar'


[?25l:  [?12l[?25h  return ""


[?25l:  [?12l[?25hendfunction
[?25lTEST_7:

A[?12l[?25h[?25l

:[?12l[?25hset titlestring=%{TitleString()}
[?25l[?12l[?25h[?25l:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25lfoo

bar[?12l[?25h[?25l

:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l

test_tworeplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l

foobar
[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 72 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer linesaa

c

%TEST_7:AABB['C^@']C['D^@', 'D']

['E^@', '^@', '^@', '^@', '^@E']

Q

Qfoo

bar

foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 134 lines, 574 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test79 = test61; then \
#	  if diff test.out test79.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test79.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test80.failed test.ok test.out X* viminfo
cp test80.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test80.in" 201 lines, 6298 charactersTest for *sub-replace-special* and *sub-replace-expression* on substitute().

Test for submatch() on substitute().

Test for *:s%* on :substitute.



STARTTEST

:so small.vim

ENDTEST



TEST_1:



STARTTEST

:set magic

:set cpo&

:$put =\"\n\nTEST_1:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

:$put =substitute('F', 'F', '\~', '')

:$put =substitute('G', 'G', '\ugg', '')

:$put =substitute('H', 'H', '\Uh\Eh', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on substitute().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1142 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25l:let y = substitute('123', '\zs.', 'a', 'g')| $put =y.\zs\ze', 'a', 'g') .', 'a', 'g').\ze1\|\ze', 'a', 'g')zs\|[23]', 'a', 'g')

/^TEST_11ENDTESTTEST_11:STARTTEST

:/^Results/,$wq! test.out

ENDTESTResults of test72:TEST_1:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l

x^Mx[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l

YyyY[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l

zZZz[?12l[?25h[?25l

/[?12l[?25h^TEST_2
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1144 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

u

u

v^Hv

w\w

x^Mx

YyyY

zZZz





TEST_2:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25lKk

l^Ml

mm

nn

op^Hp

q       q

r\rscs

uv^Hv

w\wx^Mx

YyyY

zZZzTEST_2:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l

t^Mt[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l

XxxX[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l

yYYy[?12l[?25h[?25l

/[?12l[?25h^TEST_3
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 642 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

t^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '')           | $put =y
[?25l

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '')         | $put =y
[?25l

b\\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\="^^M"', '')         | $put =y
[?25l

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^^M"', '')       | $put =y
[?25l

d\^Md[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^^M"', '')     | $put =y
[?25l

e\\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '')          | $put =y
[?25l

f\rf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '')          | $put =y
[?25l

j\nj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '')           | $put =y
[?25l

k^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '')           | $put =y
[?25ll

l[?12l[?25h[?25l

/[?12l[?25h^TEST_4
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST



TEST_4:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_4:\"

:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')        | $put =y

:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', ''')     | $put =y

:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^V^M", "")', ''')     | $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 912 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^V^M", "")',  '')   | $put =y

:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^V^M", "")'', '') | $put =y

:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))      | $put =y

:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more linest^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

a\a

b\\b

c^Mc

d\^Md

e\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')


      | $put =y
[?25lu



v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '


')     | $put =y
[?25lu

v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^^M", "")', '')


    | $put =y
[?25lv^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^^M", "")', '


')   | $put =y
[?25lw\w

XxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^^M", "")',


'') | $put =y
[?25lXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''


)      | $put =y
[?25lyYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''


)      | $put =y
[?25lTEST_3:

a\a

b\\bc^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')


      | $put =y
[?25lTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')


      | $put =y
[?25lb\\b

c^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jjk^Mk

l

l[?12l[?25h[?25l

/[?12l[?25h^TEST_5
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST



TEST_5:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 543 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more linese\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm


atch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25lf\rf

j\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su


bmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su


bmatch(1, 1)])', '')
[?25lj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/[?12l[?25h^TEST_6
[?25lsearch hit BOTTOM, continuing at TOP:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

ENDTEST



TEST_6:



STARTTEST

:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25lTEST_7:[?12l[?25h[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more linesl





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

3 more lines[?12l[?25h[?25l:[?12l[?25hset cpo+=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l

%[?12l[?25h[?25l

:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l

c[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l

%[?12l[?25h[?25l

/[?12l[?25h^TEST_7
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

ENDTEST



TEST_7:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 313 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more linesd^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A^^MA', 'A.', '\=submatch(0)', '')
[?25l

A^MA[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25lB

B[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l['B

']B[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l

-abab[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l

c-cbcbc[?12l[?25h[?25l

/[?12l[?25h^TEST_8
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

ENDTEST



TEST_8:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 10 lines, 186 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTyy/^TEST_9:

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more linesTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =',,X'
[?25l

,,X[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25lN,,NX
[?12l[?25h[?25l:[?12l[?25h$put =',,Y'
[?25l

,,Y[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,NY
[?12l[?25h[?25l

:[?12l[?25h$put =',,Z'
[?25l

,,Z[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,Z

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l,NZ
[?12l[?25h[?25l

/[?12l[?25h^TEST_9:
[?25lsearch hit BOTTOM, continuing at TOP:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

yy/^TEST_9:

ENDTEST



TEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 82 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more linesa

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put ='xxx'
[?25l

xxx[?12l[?25h[?25l

:[?12l[?25hs/x/X/gc
[?25lx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lx[?12l[?25h[?25l

/[?12l[?25h^TEST_10:
[?25lsearch hit BOTTOM, continuing at TOPTEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 584 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more linesTEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

XXx





TEST_10:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g')            | $put =y
[?25l

1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g')            | $put =y
[?25l

a1a2a3[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g')          | $put =y
[?25l

aa2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y
[?25l

1aaa[?12l[?25h[?25l

/[?12l[?25h^TEST_11
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

AA

&

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [New File] 131 lines, 617 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test80 = test61; then \
#	  if diff test.out test80.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test80.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test82.failed test.ok test.out X* viminfo
cp test82.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test82.in" 103 lines, 3166 charactersTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 97 lines, 3055 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("multi_byte")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor[?12l[?25h[?25l





:[?12l[?25hset enc=utf8
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Ch(a, op, b, expected)
[?25l

:  [?12l[?25h:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected


[?25l:    [?12l[?25h:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a


:op, a:b, a:expected))


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    let b:passed += 1


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Chk(a, b, result)
[?25l

:  [?12l[?25h:  if a:result == 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  elseif a:result > 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 1)


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Check(a, b, result)
[?25l

:  [?12l[?25h:  call Chk(a:a, a:b, a:result)


[?25l:  [?12l[?25h:  call Chk(a:b, a:a, -a:result)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! LT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, -1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! EQ(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 0)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet b:passed=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('', '')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('', 'a')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('abc', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('AB', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'aBc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\


xd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\


xd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x


aakk\xe2\x84\xa6')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def')  " case folding stops at the first bad cha


racter
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a')  " FF3A (upper), FF5A (lower)
[?25l[?12l[?25h[?25l:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff')  " first string is ok and equals \xef\


xbd\x9a after folding, second string is illegal and was left unchanged, then the


strings were bytewise compared
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.


2X', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l3732 checks passed[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       3732 checks passedtest82.in [+]                                                                   [?12l[?25h[?25labcddefg[+][?12l[?25h[?25lABCD
[?12l[?25h[?25l:[?12l[?25hlet lns = getline(1,3)
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l3732 checks passed



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), lns)
[?25lABCDdefg[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 5 lines, 31 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test82 = test61; then \
#	  if diff test.out test82.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test82.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test84.failed test.ok test.out X* viminfo
cp test84.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test84.in" 35 lines, 786 charactersTests for curswant not changing when setting an option



STARTTEST

:so small.vim

:/^start target options$/+1,/^end target options$/-1 yank

:let target_option_names = split(@0)

:function TestCurswant(option_name)

:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction

:

:new

:put =['1234567890', '12345']

:1 delete _

:let result = []

:for option_name in target_option_names

:  call add(result, TestCurswant(option_name))

:endfor

:

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for curswant not changing when setting an option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 637 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _

:write test.out

:

:qall!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[?12l[?25h[?25l:[?12l[?25hlet target_option_names = split(@0)
[?25l[?12l[?25h[?25l:[?12l[?25hfunction TestCurswant(option_name)
[?25l

:  [?12l[?25h:  normal! ggf8j


[?25l:  [?12l[?25h:  let curswant_before = winsaveview().curswant


[?25l:  [?12l[?25h:  execute 'let' '&'.a:option_name '=' '&'.a:option_name


[?25l:  [?12l[?25h:  let curswant_after = winsaveview().curswant


[?25l:  [?12l[?25h:  return [a:option_name, curswant_before, curswant_after]


[?25l:  [?12l[?25h:endfunction
[?25l:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       endfornew

:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _write test.outqall!

ENDTESTtest84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =['1234567890', '12345']
[?25l123456789012345[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hlet result = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor option_name in target_option_names
[?25l

:  [?12l[?25h:  call add(result, TestCurswant(option_name))


[?25l:  [?12l[?25h:endfor
[?25l1234567890

12345[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       1234567890

12345

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   :1 delete _

:write test.out

:

:qall!

ENDTEST



test84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more linestabstop 7 4timeoutlen 7 7ttimeoutlen 7 7[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hwrite test.out
[?25l"test.out" [New File] 3 lines, 43 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hqall!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test84 = test61; then \
#	  if diff test.out test84.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test84.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test88.failed test.ok test.out X* viminfo
cp test88.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test88.in" 99 lines, 1449 charactersvim: set ft=vim



Tests for correct display (cursor column position) with +conceal and

tabulators.



STARTTEST

:so small.vim

:if !has('conceal')

   e! test.ok

   wq! test.out

:endif

:" Conceal settings.

:set conceallevel=2

:set concealcursor=nc

:syntax match test /|/ conceal

:" Save current cursor position. Only works in <expr> mode, can't be used

:" with :normal because it moves the cursor to the command line. Thanks to ZyX

:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.

:let positions = []

:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"

:" Start test.

/^start:

:normal ztj[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lvim: set ft=vim[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 82 lines, 1216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:normal W

GGk

:normal W

GGk

:normal W

GGk

:normal $

GGk

:" Display result.

:call append('$', 'end:')

:call append('$', positions)

:/^end/,$wq! test.out

ENDTEST



start:

.concealed.     text

|concealed|     text.concealed.     text|concealed|     text



.a.     .b.     .c.     .d.

|a|     |b|     |c|     |d|[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('conceal')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:normal W

GGk

:normal W[?12l[?25h[?25l:[?12l[?25h" Conceal settings.
[?25l[?12l[?25h[?25l:[?12l[?25hset conceallevel=2
[?25l[?12l[?25h[?25l:[?12l[?25hset concealcursor=nc
[?25l[?12l[?25h[?25l:[?12l[?25hsyntax match test /|/ conceal
[?25lconcealed  concealed  





a       b       c       d[?12l[?25h[?25l:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[?12l[?25h[?25l:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[?12l[?25h[?25l:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[?12l[?25h[?25l:[?12l[?25hlet positions = []
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[?12l[?25h[?25l:[?12l[?25h" Start test.
[?25l[?12l[?25h[?25l/[?12l[?25h^start:
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ztj
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:let positions += ['2:1']
[?12l[?25h[?25l:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[?12l[?25h[?25l:[?12l[?25h" lines.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['2:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['2:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['3:1']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['3:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['3:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['5:8']
[?12l[?25h[?25l:[?12l[?25h" Same for next test block.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['5:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['5:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['6:8']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['6:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['6:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['8:1']
[?12l[?25h[?25l:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['8:27']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset lbr
[?25l[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset list listchars=tab:>-
[?25l>------



>------->----

>------->------>----.b.>----.c.>----

a>------b>------c>------[?12l[?25h[?25l:[?12l[?25hnormal 0
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25h" Display result.
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', 'end:')
[?25lend:[?12l[?25h[?25l:[?12l[?25hcall append('$', positions)
[?25l2:12:172:203:13:173:205:85:255:286:86:256:288:1[?12l[?25h[?25l:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [New File] 29 lines, 135 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test88 = test61; then \
#	  if diff test.out test88.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test88.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test90.failed test.ok test.out X* viminfo
cp test90.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test90.in" 53 lines, 1204 charactersTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :



STARTTEST

:so small.vim

:if !has('cryptv') || !exists('*sha256')

   e! test.ok

   wq! test.out

:endif

:"

:let testcase='test for empty string: '

:if sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522b855'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for 1 char: '

:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afeee48bb'

: let res='ok'

:else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for contains non-ascii char: '

:if sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00b8d27db8d5feaa813953'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc3[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for empty string: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785


2b855'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25l

test for empty string: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 1 char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af


ee48bb'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for 1 char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61


f20015ad'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25ltest for 3 chars: ok

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c


c39ed110ca776'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25ltest for contains meta char: ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb


0b8d27db8d5feaa813953'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for contains non-ascii char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 6 lines, 143 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test90 = test61; then \
#	  if diff test.out test90.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test90.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test91.failed test.ok test.out X* viminfo
cp test91.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test91.in" 116 lines, 3240 charactersTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().

vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Use strings to test for memory leaks.

:" First, check that in an empty window, gettabvar() returns the correct value

:let t:testvar='abcd'

:$put =string(gettabvar(1,'testvar'))

:$put =string(gettabvar(1,'testvar'))

:" Test for getbufvar()

:let b:var_num = '1234'

:let def_num = '5678'

:$put =string(getbufvar(1, 'var_num'))

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))

:unlet b:var_num

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 109 lines, 3127 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:tabnext

:3wincmd w

:unlet w:var_dict

:tabrewind

:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:$put =string(gettabwinvar(2, 9, ''))

:$put =string(gettabwinvar(2, 9, '', def_dict))

:$put =string(gettabwinvar(9, 3, ''))

:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict

:$put =string(gettabwinvar(2, 3, '&nux'))

:$put =string(gettabwinvar(2, 3, '&nux', 1))

:tabonly

:"

:/^start/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Use strings to test for memory leaks.
[?25l[?12l[?25h[?25l:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:testvar='abcd'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h" Test for getbufvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:var_num = '1234'
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_num = '5678'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25hunlet b:var_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25hunlet def_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Open new window with forced option values
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       {'var_num': '1234'}



'5678'{}''

'5678'

0test91.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25l:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict:$put =string(gettabwinvar(2, 3, '&nux')):$put =string(gettabwinvar(2, 3, '&nux', 1)):tabonly:":/^start/,$wq! test.outENDTESTstart:'abcd''abcd''1234'{'var_num': '1234'}

'5678'



{}

'''5678'



0[?12l[?25h[?25l:[?12l[?25h$put =otherff
[?25l

dos[?12l[?25h[?25l

:[?12l[?25h$put =string(otherbin)
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =otherfenc
[?25l

iso-8859-2[?12l[?25h[?25l

:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[?12l[?25h[?25l:[?12l[?25h" test for getwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet w:var_str = "Dance"
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_str = "Chance"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25hunlet w:var_str
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu',  1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25hunlet def_str
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:other = 777
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X{'var_num': '1234'}

'5678'

{}

{}

''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list'))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25htablast
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hunlet t:var_list
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25hunlet def_list
[?25l[?12l[?25h[?25l:[?12l[?25htabonly
[?25ldos[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabprev
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hsplit
[?25l2N o[No Name]  [No Name]  X[No Name]                                                                       [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hsplit
[?25l + test91.in  3 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                                                        [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25hvert split
[?25l4  X||||||~~~~~[No Name]                              [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                 [No Name]                               X[?12l[?25h[?25l:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd b
[?25l[No Name]                               [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict'))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25htabnext
[?25l + test91.in  4 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ||||||~                                       

~                                       

~                                       

~                                       

~                                       

[No Name]                                ~                                      ~                                      ~                                      ~                                      ~                                      [No Name]                              ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                              [No Name]                                                                         X[?12l[?25h[?25l:[?12l[?25hunlet w:var_dict
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]

{'dict': 'tabwin'}

{'dict': 'tabwin'}

{'var_dict': {'dict': 'tabwin'}}

{'var_dict': {'dict': 'tabwin'}}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25hunlet def_dict
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l

1[?12l[?25h[?25l

:[?12l[?25htabonly
[?25l0[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 50 lines, 530 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test91 = test61; then \
#	  if diff test.out test91.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test91.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test94.failed test.ok test.out X* viminfo
cp test94.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test94.in" 256 lines, 4824 charactersTest for Visual mode and operators



Tests for the two kinds of operations: Those executed with Visual mode

followed by an operator and those executed via Operator-pending mode. Also

part of the test are mappings, counts, and repetition with the . command.



Test cases:

- Visual modes (v V CTRL-V) followed by an operator; count; repeating

- Visual mode maps; count; repeating

  - Simple

  - With an Ex command (custom text object)

- Operator-pending mode maps

  - Simple

  - With Ex command moving the cursor

  - With Ex command and Visual selection (custom text object)

- Patch 7.3.879: Properly abort Ex command in Operator-pending mode



STARTTEST

:so small.vim

:set enc=utf-8 nocp viminfo+=nviminfo

:

:" User functions

:function MoveToCap()[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Visual mode and operators[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 211 lines, 3837 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" User functions
[?25l[?12l[?25h[?25l:[?12l[?25hfunction MoveToCap()
[?25l

:  [?12l[?25h:  call search('\u', 'W')


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'[?12l[?25h[?25l:[?12l[?25hfunction SelectInCaps()
[?25l

:  [?12l[?25h:  let [line1, col1] = searchpos('\u', 'bcnW')


[?25l:  [?12l[?25h:  let [line2, col2] = searchpos('.\u', 'nW')


[?25l:  [?12l[?25h:  call setpos("'<", [0, line1, col1, 0])


[?25l:  [?12l[?25h:  call setpos("'>", [0, line2, col2, 0])


[?25l:  [?12l[?25h:  normal! gv


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual modes followed by operator
[?25l[?12l[?25h[?25l/[?12l[?25h^apple
[?25l[?12l[?25ha[?25l-- VISUAL --[?12l[?25h[?25lp[?12l[?25h[?25lle banana cherry[?12l[?25h[?25l banana cherry[?12l[?25h [?25lbanan-- VISUAL --[?12l[?25h[?25l
a  cherry[?12l[?25h[?25ly[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^line 1
[?25l[?12l[?25h[?25lline 1 line 1 -- VISUAL LINE --[?12l[?25h[?25lINSERT --Nnewline[?12l[?25h[?25l-- INSERT --newline[?12l[?25h[?25l
line 3 line 3 

line 4 line 4 





-- VISUAL LINE --[?12l[?25h[?25lline 5 line 5line 6 line 6xxxxxxxxxxxxx[?12l[?25h[?25lxxxxxxxxxxxxx

xxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^xxxx
[?25l[?12l[?25h[?25l





-- VISUAL BLOCK --[?12l[?25h[?25lx

[?12l[?25h[?25lx

x[?12l[?25h[?25lINSERT --O  

  [?12l[?25h [?25l





-- INSERT --  

    [?12l[?25h [?25l

xxxx

    xxxx

xxxxxxxx

xxxxxxxxxxxxx

-- VISUAL BLOCK --[?12l[?25h[?25l

-- INSERT --O----

    ----

xxxx----

xxxx----[?12l[?25h-[?25l-- INSERT ------------------[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Kiwi
[?25lKiwiRaspberryDateWatermelonPeach[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25l/\u/s-1
Kiw[?12l[?25h[?25l

-- INSERT --NoRaspberryDateWatermelonPeach[?12l[?25ho[?25l

-- INSERT --NoberryDateWatermelonPeach[?12l[?25hoberry[?25lDateWat

-- VISUAL --[?12l[?25h[?25lrmelonPeach[?12l[?25h[?25lach[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Jambu
[?25l

JambuRambutanBananaTangerineMango[?12l[?25hJa[?25l

-- VISUAL --[?12l[?25h[?25l:'<,'>call SelectInCaps()
Jamb[?12l[?25h[?25l

-- INSERT ---RambutanBananaTangerineMango[?12l[?25h-[?25l

-- INSERT ---tanBananaTangerineMango[?12l[?25h-[?25ltanBanana

-- VISUAL --[?12l[?25h[?25l
--angerineMango[?12l[?25ha[?25lgo[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25honoremap W /\u/<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Pineapple
[?25lPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h[?25l

/\u/
-QuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---LoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---GrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---Z[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Juniper
[?25l

JuniperDurianZ[?12l[?25h[?25l

:call MoveToCap()
Whavcre
[?12l[?25h[?25l:call MoveToCap()
Qhevna[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Lemon
[?25l

LemonNectarineZ[?12l[?25h[?25l

:call SelectInCaps()
[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l:call SelectInCaps()
NewNectarineZ[?12l[?25hwNecta[?25l

:call SelectInCaps()
wZ[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[?12l[?25h[?25l/[?12l[?25h^zzzz
[?25lzzzz[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25lE21: Cannot make changes, 'modifiable' is off[?12l[?25h[?25l:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l

characterwise visual mode: replace last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25hlet @" = 'x'
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l

v:errmsg=[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l

characterwise visual mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l

characterwise visual mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l

characterwise visual mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l

characterwise visual mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Select mode maps
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>End> <End>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l

characterwise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l

characterwise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l

characterwise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- SELECT --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l

characterwise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- SELECT --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l

linewise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25lbc

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l

linewise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25la

b 
[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l

linewise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lc 

-- SELECT LINE --[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l

linewise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lb 



-- SELECT LINE --[?12l[?25h[?25lb

c 
[?12l[?25h[?25l~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l

v_p: replace last character with line register at middle line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25laaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25lccc

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting


newline'
[?25llinewise select mode: delete middle two line

c---linewise select mode: delete last line

ab

---linewise select mode: delete last two line

a---v_p: replace last character with line register at middle line

aaabbaaaccc

---v_p: replace last character with line register at middle line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25lb[?12l[?25h[?25laaa[?12l[?25h[?25l

ccc
[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l

v_p: replace last character with line register at last line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n


ewline'
[?25laaa

bbaaaccc

---v_p: replace last character with line register at middle line selecting newline

aaabbaaa

ccc

---v_p: replace last character with line register at last line

aaabbb

ccaaa---v_p: replace last character with line register at last line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l

gv in exclusive select mode after operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25h$put ='äà '
[?25l

äÃ[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h

[?25l

-- VISUAL --[?12l[?25h[?25läÃ[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l

gv in exclusive select mode without operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h/^start:/+2,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 123L, 1328C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test94 = test61; then \
#	  if diff test.out test94.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test94.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test95.failed test.ok test.out X* viminfo
cp test95.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test95.in" 141 lines, 5827 charactersTest for regexp patterns with multi-byte support, using utf-8.

See test64 for the non-multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:so mbyte.vim

:set nocp encoding=utf-8 viminfo+=nviminfo nomore

:" tl is a List of Lists with:

:"    2: test auto/old/new  0: test auto/old  1: test auto/new

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:

:"""" Multi-byte character tests. These will fail unless vim is compiled

:"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns with multi-byte support, using utf-8.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 131 lines, 5590 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h[?25l





:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    2: test auto/old/new  0: test auto/old  1: test auto/new
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[?12l[?25h[?25l:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])^I^I^I^I^I^I^I^I" equivalence


classes
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij


asoifjos'])
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']


)[?25l:endif[?12l[?25h[?25l





:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" this is not a normal "i" but 0xec
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p\+', 'ìa', 'ìa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aあ', 'aあ'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of some character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\i\+', '&*¨xx ', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\f\+', '&*<9f>fname ', 'fname'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test composing character matching
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.ม', 'xมม่x yมy', 'yม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.มม่', 'xมม่x yมy', 'xมม่'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ca", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\%C', "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%C', "ca\u0300t", "ca\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%Ct', "ca\u0300t", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test \Z
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ú\Z', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְ\Z', 'ווְייַ', 'ייַ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\\+\\Z", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\\Z\u05b9\\+", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[=a=]]\+', 'ddaãâbcd', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25lOK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi double: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25lOK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25lOK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0

eng 2 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi double: 0[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 140L, 2022C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test95 = test61; then \
#	  if diff test.out test95.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test95.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test98.failed test.ok test.out X* viminfo
cp test98.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test98.in" 43 lines, 908 charactersTest for 'scrollbind' causing an unexpected scroll of one of the windows.

STARTTEST

:so small.vim

:" We don't want the status line to cause problems:

:set laststatus=0

:let g:totalLines = &lines * 20

:let middle = g:totalLines / 2

:wincmd n

:wincmd o

:for i in range(1, g:totalLines)

:    call setline(i, 'LINE ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:aboveleft vert new

:for i in range(1, g:totalLines)

:    call setline(i, 'line ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:" Execute the following two command at once to reproduce the problem.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind' causing an unexpected scroll of one of the windows.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 791 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:setl scb | wincmd p

:setl scb

:wincmd w

:let topLineLeft = line('w0')

:wincmd p

:let topLineRight = line('w0')

:setl noscrollbind

:wincmd p

:setl noscrollbind

:q!

:%del _

:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight))

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We don't want the status line to cause problems:
[?25l[?12l[?25h[?25l:[?12l[?25hset laststatus=0
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[?12l[?25h[?25l:[?12l[?25hlet middle = g:totalLines / 2
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd n
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd o
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'LINE ' . i)


[?25l:  [?12l[?25h:endfor
[?25lLINE 1

LINE 2

LINE 3LINE 4LINE 5LINE 6LINE 7LINE 8LINE 9LINE 10LINE 11LINE 12LINE 13LINE 14LINE 15LINE 16LINE 17LINE 18LINE 19LINE 20LINE 21LINE 22LINE 23[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25lLINE 229

LINE 230

LINE 231

LINE 232

LINE 233

LINE 234

LINE 235

LINE 236

LINE 237

LINE 238

LINE 239

LINE 240

LINE 241

LINE 242

LINE 243

LINE 244

LINE 245

LINE 246

LINE 247

LINE 248

LINE 249

LINE 250

LINE 251[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lLINE 252

LINE 253

LINE 254

LINE 255

LINE 256

LINE 257

LINE 258

LINE 259

LINE 260

LINE 261

LINE 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25haboveleft vert new
[?25l        |||||||||||||||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       LINE 240LINE 241LINE 242LINE 243LINE 244LINE 245LINE 246LINE 247LINE 248LINE 249LINE 250LINE 251LINE 252LINE 253LINE 254LINE 255LINE 256LINE 257LINE 258LINE 259LINE 260LINE 261LINE 262[?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'line ' . i)


[?25l:  [?12l[?25h:endfor
[?25lline 1|

line 2|

line 3                                  

line 4                                  

line 5                                  

line 6                                  

line 7                                  

line 8                                  

line 9                                  

line 10                                 

line 11                                 

line 12                                 

line 13                                 

line 14                                 

line 15                                 

line 16                                 

line 17                                 

line 18                                 

line 19                                 

line 20                                 

line 21                                 

line 22                                 

line 23                                 LINE 240LINE 241[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25l2293023123223323423523623723823924024124224324424524624748495051[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lline 240                                

line 241                                

line 242                                

line 243                                

line 244                                

line 245                                

line 246                                

line 247                                

line 248                                

line 249                                

line 250                                

line 251                                

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        line 252

line 253

line 254

line 255

line 256

line 257

line 258

line 259

line 260

line 261

line 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb | wincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineLeft = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineRight = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25lLINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINE[?12l[?25h[?25l:[?12l[?25h%del _
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t


opLineLeft - topLineRight))
[?25lDifference between the top lines (left - right): 0[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 51 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters:normal M:" Execute the following two command at once to reproduce the problem.:setl scb | wincmd p:setl scb:wincmd w:let topLineLeft = line('w0'):wincmd p:let topLineRight = line('w0'):setl noscrollbind:wincmd p:setl noscrollbind:q!:%del _:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight)):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test98 = test61; then \
#	  if diff test.out test98.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test98.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test99.failed test.ok test.out X* viminfo
cp test99.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test99.in" 69 lines, 1400 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test44 for exactly the same test with re=1.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=2

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 43 lines, 931 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


/[?12l[?25h[\u4f7f\u5929]\+
[?25l


/[?12l[?25h\%U12345678
[?25l


/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l"test.out" 23L, 264C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test99 = test61; then \
#	  if diff test.out test99.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test99.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test103.failed test.ok test.out X* viminfo
cp test103.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test103.in" 37 lines, 823 charactersTest for visual mode not being reset causing E315 error.

STARTTEST

:so small.vim

:enew

:let g:msg="Everything's fine."

:function! TriggerTheProblem()

:" At this point there is no visual selection because :call reset it.

:" Let's restore the selection:

:normal gv

:'<,'>del _

:try

:exe "normal \<Esc>"

:catch /^Vim\%((\a\+)\)\=:E315/

:echom 'Snap! E315 error!'

:let g:msg='Snap! E315 error!'

:endtry

:endfunction

:enew

:setl buftype=nofile

:call append(line('$'), 'Delete this line.')

:"

:"

:" NOTE: this has to be done by a call to a function because executing :del the[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for visual mode not being reset causing E315 error.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 723 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"ex-way will require the colon operator which resets the visual mode thuus

:"preventing the problem:

:"

GV:call TriggerTheProblem()

:%del _

:call append(line('$'), g:msg)

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25henew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:msg="Everything's fine."
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! TriggerTheProblem()
[?25l

:  [?12l[?25h:^I" At this point there is no visual selection because :call reset it.


[?25l:  [?12l[?25h:^I" Let's restore the selection:


[?25l:  [?12l[?25h:^Inormal gv


[?25l:  [?12l[?25h:^I'<,'>del _


[?25l:  [?12l[?25h:^Itry


[?25l:    [?12l[?25h:^I^Iexe "normal \<Esc>"


[?25l:    [?12l[?25h:^Icatch /^Vim\%((\a\+)\)\=:E315/


[?25l:    [?12l[?25h:^I^Iechom 'Snap! E315 error!'


[?25l:    [?12l[?25h:^I^Ilet g:msg='Snap! E315 error!'


[?25l:    [?12l[?25h:^Iendtry


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25henew
[?25l[?12l[?25h[?25l:[?12l[?25hsetl buftype=nofile
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25lDelete this line.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[?12l[?25h[?25l:[?12l[?25h"       ex-way will require the colon operator which resets the visual mode th


us[?25l[?12l[?25h[?25l:[?12l[?25h"       preventing the problem:
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h

[?25lDelete this line. 
[?12l[?25h[?25l:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h%del _
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), g:msg)
[?25lEverything's fine.[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters:endtry

:endfunction:enew:setl buftype=nofile:call append(line('$'), 'Delete this line.'):":":" NOTE: this has to be done by a call to a function because executing :del the:"       ex-way will require the colon operator which resets the visual mode thuus:"       preventing the problem::"GV:call TriggerTheProblem():%del _:call append(line('$'), g:msg):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test103 = test61; then \
#	  if diff test.out test103.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test103.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test104.failed test.ok test.out X* viminfo
cp test104.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test104.in" 30 lines, 698 charactersTests for :let.  vim: set ft=vim ts=8 :



STARTTEST

:so small.vim

:set runtimepath+=./sautest

:" Test to not autoload when assigning.  It causes internal error.

:try

:  let Test104#numvar = function('tr')

:  $put ='OK: ' . string(Test104#numvar)

:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try

:    redir => messages

:    execute 'let' letargs

:    redir END

:    $put ='OK:'

:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :let.  vim: set ft=vim ts=8 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 24 lines, 618 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:    $put ='FAIL: ' . v:exception

:    redir END

:  endtry

:endfor

:/^Results/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset runtimepath+=./sautest
[?25l[?12l[?25h[?25l:[?12l[?25h" Test to not autoload when assigning.  It causes internal error.
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let Test104#numvar = function('tr')


[?25l:  [?12l[?25h:  $put ='OK: ' . string(Test104#numvar)


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  $put ='FAIL: ' . v:exception


[?25l:  [?12l[?25h:endtry
[?25l:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try:    redir => messages

:    execute 'let' letargsEND$put ='OK:'$put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch'FAIL: ' . v:exception  redir END

:  endtryendfor/^Results/,$wq! test.out

ENDTESTResults of test104:

OK: function('tr')[?12l[?25h[?25l

:[?12l[?25hlet a = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = 2
[?25l[?12l[?25h[?25l:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0


== 1 ? "a" : "b"}']
[?25l:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    redir => messages


[?25l:    [?12l[?25h:    execute 'let' letargs


[?25la#1


b#2


:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:    $put ='OK:'


[?25l:    [?12l[?25h:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='FAIL: ' . v:exception


[?25l:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor


[?25lb#2


b#2


a#1


a#1


b#2


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 13 lines, 244 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test104 = test61; then \
#	  if diff test.out test104.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test104.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test107.failed test.ok test.out X* viminfo
cp test107.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test107.in" 38 lines, 717 charactersTests for adjusting window and contents     vim: set ft=vim :



STARTTEST

:so small.vim

:new

:call setline(1, range(1,256))

:let r=[]

:func! GetScreenStr(row)

:   let str = ""

:   for c in range(1,3)

:let str .= nr2char(screenchar(a:row, c))

:   endfor

:   return str

:endfunc

:

:exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for adjusting window and contents     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 32 lines, 628 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:"/^start:/,$wq! test.out

ENDTESTtest107.in                                                                      [?12l[?25h[?25l:[?12l[?25hcall setline(1, range(1,256))
[?25l1

234567891011[+][?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! GetScreenStr(row)
[?25l

:  [?12l[?25h:   let str = ""


[?25l:  [?12l[?25h:   for c in range(1,3)


[?25l:    [?12l[?25h:       let str .= nr2char(screenchar(a:row, c))


[?25l:    [?12l[?25h:   endfor


[?25l:  [?12l[?25h:   return str


[?25l:  [?12l[?25h:endfunc
[?25l1

2

3

4

5

6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[No Name] [+]                                                                   :let s3=GetScreenStr(1)test107.in                                                                      [?12l[?25h[?25l:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l50

51

52

53

54

55

56

57

58

59

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l59

60

61

62

63

64

65

66

67

68

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25h:wincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l::exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

::exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:":/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

[1, '1  ']

[50, '50 ']

[59, '59 ']3 more lines[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 4 lines, 42 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test107 = test61; then \
#	  if diff test.out test107.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test107.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test108.failed test.ok test.out X* viminfo
cp test108.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test108.in" 88 lines, 1329 charactersTests for backtrace debug commands.     vim: set ft=vim :



STARTTEST

:so small.vim

:lang mess C

:function! Foo()

:   let var1 = 1

:   let var2 = Bar(var1) + 9

:   return var2

:endfunction

:

:function! Bar(var)

:    let var1 = 2 + a:var

:    let var2 = Bazz(var1) + 4

:    return var2

:endfunction

:

:function! Bazz(var)

:    let var1 = 3 + a:var

:    let var3 = "another var"

:    return var1

:endfunction

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for backtrace debug commands.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 83 lines, 1251 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTup

b

echo "fil is not frame or finish, it is file"

fil

echo "\n- relative backtrace movement\n"

fr -1

frame

fra +1

fram

echo "\n- go beyond limits does not crash\n"

fr 100

fra

frame -40

fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Foo()
[?25l

:  [?12l[?25h:   let var1 = 1


[?25l:  [?12l[?25h:   let var2 = Bar(var1) + 9


[?25l:  [?12l[?25h:   return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bar(var)
[?25l

:  [?12l[?25h:    let var1 = 2 + a:var


[?25l:  [?12l[?25h:    let var2 = Bazz(var1) + 4


[?25l:  [?12l[?25h:    return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bazz(var)
[?25l

:  [?12l[?25h:    let var1 = 3 + a:var


[?25l:  [?12l[?25h:    let var3 = "another var"


[?25l:  [?12l[?25h:    return var1


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       echo "\n- final result 19:"

cont:0debuggreedy

:redir END$put =out

:w! test.out

:qa!ENDTESTtest108.in                                                                      [?12l[?25h[?25l:[?12l[?25hdebuggreedy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => out
[?25l[?12l[?25h[?25l:[?12l[?25hdebug echo Foo()
[?25lEntering Debug mode.  Type "cont" to continue.


cmd: echo Foo()


>[?12l[?25hstep


[?25lfunction Foo


line 1: let var1 = 1


>[?12l[?25hstep


[?25lfunction Foo


line 2: let var2 = Bar(var1) + 9


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 1: let var1 = 2 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 2: let var2 = Bazz(var1) + 4


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 1: let var1 = 3 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "- show backtrace:\n"


[?25l- show backtrace:


>[?12l[?25hbacktrace


[?25l  2 function Foo[2]


  1 Bar[2]


->0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "\nshow variables on different levels:\n"


[?25l

show variables on different levels:


>[?12l[?25hecho var1


[?25l6

>[?12l[?25hup


[?25l>[?12l[?25hback


[?25l  2 function Foo[2]


->1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l3

>[?12l[?25hu


[?25l>[?12l[?25hbt


[?25l->2 function Foo[2]


  1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l1

>[?12l[?25hecho "\n- undefined vars:\n"


[?25l

- undefined vars:


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: return var1


>[?12l[?25hframe 2


[?25l>[?12l[?25hecho "undefined var3 on former level:"


[?25lundefined var3 on former level:


>[?12l[?25hecho var3


[?25lError detected while processing function Foo[2]..Bar[2]..Bazz:


line    3:


E121: Undefined variable: var3


E15: Invalid expression: var3


>[?12l[?25hfr 0


[?25l>[?12l[?25hecho "here var3 is defined with \"another var\":"


[?25lhere var3 is defined with "another var":


>[?12l[?25hecho var3


[?25lanother var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: End of function


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: return var2


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: End of function


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nundefined var2 on former level"


[?25l

undefined var2 on former level


>[?12l[?25hecho var2


[?25lError detected while processing function Foo[2]..Bar:


line    3:


E121: Undefined variable: var2


E15: Invalid expression: var2


>[?12l[?25hdown


[?25l>[?12l[?25hecho "here var2 is defined with 10:"


[?25lhere var2 is defined with 10:


>[?12l[?25hecho var2


[?25l10


>[?12l[?25hecho "\n- backtrace movements:\n"


[?25l

- backtrace movements:


>[?12l[?25hb


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\nnext command cannot go down, we are on bottom\n"


[?25l

next command cannot go down, we are on bottom


>[?12l[?25hdown


[?25lframe is zero


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nnext command cannot go up, we are on top\n"


[?25l

next command cannot go up, we are on top


>[?12l[?25hup


[?25lframe at highest level: 1


>[?12l[?25hb


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "fil is not frame or finish, it is file"


[?25lfil is not frame or finish, it is file


>[?12l[?25hfil


[?25l"[No Name]" --No lines in buffer--


>[?12l[?25hecho "\n- relative backtrace movement\n"


[?25l

- relative backtrace movement


>[?12l[?25hfr -1


[?25l>[?12l[?25hframe


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hfra +1


[?25l>[?12l[?25hfram


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "\n- go beyond limits does not crash\n"


[?25l

- go beyond limits does not crash


>[?12l[?25hfr 100


[?25lframe at highest level: 1


>[?12l[?25hfra


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hframe -40


[?25lframe is zero


>[?12l[?25hfram


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\n- final result 19:"


[?25l

- final result 19:


>[?12l[?25hcont


[?25l19


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h0debuggreedy
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST



test108.in                                                                      [?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25h$put =out
[?25l83 more lines->1 function Foo[2]

  0 Barline 3: End of functionframe is zero  1 function Foo[2]->0 Barline 3: End of function- final result 19:19[+][?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 84 lines, 1390 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test108 = test61; then \
#	  if diff test.out test108.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test108.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autocmd_option.failed test.ok test.out X* viminfo
cp test_autocmd_option.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autocmd_option.in" 77 lines, 2954 charactersTest for option autocommand



STARTTEST

:so small.vim

:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! ttest.out | qa! | endif

:fu! AutoCommand(match)

:let c=g:testcase

:let item=remove(g:options, 0)

:let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope:  <%s>\n", item[0], item[1], item[2], item[3])

:let c.=printf("Autocmd Option: <%s>,", a:match)

:let c.=printf(" OldVal: <%s>,", v:option_old)

:let c.=printf(" NewVal: <%s>,", v:option_new)

:let c.=printf(" Scope: <%s>\n", v:option_type)

:call setreg('r', printf("%s\n%s", getreg('r'), c))

:endfu

:au OptionSet * :call AutoCommand(expand("<amatch>"))

:let g:testcase="1: Setting number option\n"

:let g:options=[['number', 0, 1, 'global']]

:set nu

:let g:testcase="2: Setting local number option\n"

:let g:options=[['number', 1, 0, 'local']][?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for option autocommand[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 2896 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)

:" Write register now, because next test shouldn't output anything.

:$put r

:let @r=''

:let g:testcase="\n15: Setting key option, shouldn't trigger\n"

:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

:setlocal key=blah

:setlocal key=

:$put =g:testcase

:$put r

:/^dummy text/,$w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! 


test.out | qa! | endif
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hfu! AutoCommand(match)
[?25l

:  [?12l[?25h:^Ilet c=g:testcase


[?25l:  [?12l[?25h:       let item=remove(g:options, 0)


[?25l:  [?12l[?25h:       let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Sco


pe: <%s>\n", item[0], item[1], item[2], item[3])


[?25l:  [?12l[?25h:       let c.=printf("Autocmd Option: <%s>,", a:match)


[?25l:  [?12l[?25h:       let c.=printf(" OldVal: <%s>,", v:option_old)


[?25l:  [?12l[?25h:       let c.=printf(" NewVal: <%s>,", v:option_new)


[?25l:  [?12l[?25h:       let c.=printf(" Scope: <%s>\n", v:option_type)


[?25l:  [?12l[?25h:       call setreg('r', printf("%s\n%s", getreg('r'), c))


[?25l:  [?12l[?25h:endfu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)[?12l[?25h[?25l

:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ai!
[?25l[?12l[?25h[?25l:[?12l[?25h Should not print anything, use :noa
[?25lE492: Not an editor command: Should not print anything, use :noa[?12l[?25h[?25l:[?12l[?25hnoa :set nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset list nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"$

     57 :let g:options=[['backup', '', '1', 'local']]$

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger$

     59 :call setbufvar(1, '&l:bk', 1)$

     60 : "should trigger, use correct option name$

     61 :call setbufvar(1, '&backup', 1)$

     62 :let g:testcase="14: Setting number option using setwinvar\n"$

     63 :let g:options=[['number', 0, 1, 'local']]$

     64 :call setwinvar(0, '&number', 1)$

     65 :" Write register now, because next test shouldn't output anything.$

     66 :$put r$

     67 :let @r=''$

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"$

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]$

     70 :setlocal key=blah$

     71 :setlocal key=$

     72 :$put =g:testcase$

     73 :$put r$

     74 :/^dummy text/,$w! test.out$

     75 :qa!$

     76 ENDTEST$

     77 dummy text$[?12l[?25h[?25l:[?12l[?25hnoa set nolist nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal acd
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal invar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hlet &bs="eol,indent,start"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec


ond time, it should trigger
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25lE355: Unknown option: l:bk[?12l[?25h[?25l:[?12l[?25h "should trigger, use correct option name
[?25l[?12l[?25h[?25l:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[?12l[?25h[?25l:[?12l[?25h$put r
[?25l60 more lines117Autocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>11811910: Setting local autoread    120 Expected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>121Autocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>12212311: Setting global autoread124Expected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>125Autocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>12612712: Setting option backspace through :let128Expected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoope: <global>129Autocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoope: <global>131313: Setting option backspace through setbufvar()13Expected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>13Autocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>131314: Setting number option using setwinvar13xpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>13Autocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[?12l[?25h[?25l:[?12l[?25hlet @r=''
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=blah
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:testcase
[?25l    138 

    139 15: Setting key option, shouldn't trigger[?12l[?25h[?25l

:[?12l[?25h$put r
[?25l

    140 [?12l[?25h[?25l

:[?12l[?25h/^dummy text/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 64 lines, 2700 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autocmd_option = test61; then \
#	  if diff test.out test_autocmd_option.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autocmd_option.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autoformat_join.failed test.ok test.out X* viminfo
cp test_autoformat_join.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autoformat_join.in" 23 lines, 524 charactersTests for setting the '[,'] marks when joining lines.



STARTTEST

:so small.vim

:/^\t\t/

0gqj:

:let a=string(getpos("'[")).'/'.string(getpos("']"))

:/^This line/;'}-join

:let b=string(getpos("'[")).'/'.string(getpos("']"))

:$put ='First test: Start/End '.string(a)

:$put ='Second test: Start/End '.string(b)

:/^\t\t/,$wq! test.out

ENDTESTO sodales, ludite, vos qui

attamen consulite per voster honur. Tua pulchra facies me fay planszer milies



This line.

Should be joined with the next line

and with this line



Results:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for setting the '[,'] marks when joining lines.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 9 lines, 265 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^\t\t/
[?25l[?12l[?25h[?25lattamen consulite per voster honur.

Tua pulchra facies me fay planszer milies[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h/^This line/;'}-join
[?25lThis line.  Should be joined with the next line and with this line





~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25lFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[?12l[?25h[?25l:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25lSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[?12l[?25h[?25l:[?12l[?25h/^\t\t/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 292 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autoformat_join = test61; then \
#	  if diff test.out test_autoformat_join.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autoformat_join.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_changelist.failed test.ok test.out X* viminfo
cp test_changelist.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_changelist.in" 22 lines, 288 charactersTest changelist position after splitting window

Set 'undolevels' to make changelist for sourced file



STARTTEST

:so small.vim

Gkylp:set ul=100

Gylp:set ul=100

gg

:vsplit

:try

:  normal g;

:  normal ggVGcpass^[

:catch

:  normal ggVGcfail^[

:finally

:  %w! test.out

:endtry

:qa!

ENDTEST



1

2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest changelist position after splitting window[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 163 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h



[?25l11[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l22[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l:[?12l[?25hvsplit
[?25l|

 window                                 |

Set 'undolevels' to make changelist for |

sourced file|

             |

STARTTEST       |

:so small.vim  |

Gkylp:set ul=100|

Gylp:set ul=100|

gg  |

:vsplit     |

:try                  |

:  normal g;|pass|

:catch  |

:  normal ggVGcfail^[|

:finally|

:  %w! test.out|

:endtry|

:qa!|

ENDTEST|

  |

test_changelist.in [+]                   Test changelist position after splitting windowSet 'undolevels' to make changelist forsourced fileSTARTTEST:so small.vimGkylp:set ul=100Gylp:set ul=100gg:vsplit:try:  normal g;:  normal ggVGcpass^[:catch:  normal ggVGcfail^[:finally:  %w! test.out:endtry:qa!ENDTESTtest_changelist.in [+]                 [?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  normal g;


[?25l:  [?12l[?25h:  normal ggVGcpass
[?25l21 fewer lines

:  


:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  normal ggVGcfail


[?25l:  


:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  %w! test.out


[?25l"test.out" [New File] 1 line, 5 characters written


:  [?12l[?25h:endtry
[?25lpass||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                           pass~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                         [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_changelist = test61; then \
#	  if diff test.out test_changelist.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_changelist.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_close_count.failed test.ok test.out X* viminfo
cp test_close_count.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_close_count.in" 153 lines, 2665 charactersTests for :[count]close! and :[count]hide     vim: set ft=vim :



STARTTEST

:so small.vim

:let tests = []

:for i in range(5)

:new

:endfor

:4wincmd w

:close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:$close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

:2close![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :[count]close! and :[count]hide     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 41 lines, 749 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(tests, buffers)

:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:for i in range(5)

:new

:endfor

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:4wincmd w

:.hide[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hclose!
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 5~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w:only!:b1ENDTESTSTARTTEST:let tests = []:for i in range(5):new:endfor:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers):4wincmd w:.hide:let buffers = [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 44 lines, 815 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:2wincmd w

:+hide

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:1wincmd w

:$ hide

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                       test_close_count.in                                                              [?12l[?25h[?25l:[?12l[?25h.hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 7 lines, 39 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l13 12 11 10 9 113 12 11 9 112 11 9 112 11 9[+][?12l[?25h[?25l12 9

15 12 9

15 12[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 9

15 12~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:+hide:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5):new:endfor:1wincmd w:$ hide:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 93 of 153 --60%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 448 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:1wincmd w

:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:4wincmd w

^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[?12l[?25h[?25l:[?12l[?25h$ hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$-1 close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h.+close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 15 lines, 106 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[+][?12l[?25h[?25l15 12 915 120 19 18 17 16

20 19 18 16

20 18 16
[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5



13 12 11 10 9 1

13 12 11 9 1

12 11 9 1

12 11 9

12 9

15 12 9

15 12



20 19 18 17 16

20 19 18 16

20 18 16



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new:endfor:4wincmd w

^Wc:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 121 of 153 --79%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 28 lines, 511 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST1^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

9^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

2^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:only!

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 16 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 915 1220 19 18 17 1620 19 18 1620 18 16[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l25 24 23 21 124 23 21 124 23 2124 21[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_close_count = test61; then \
#	  if diff test.out test_close_count.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_close_count.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_comparators.failed test.ok test.out X* viminfo
cp test_comparators.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_comparators.in" 21 lines, 283 characters" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'

:  else

:    $put ='ng'

:  endif

:finally

:  let &isident=oldisident

:endtry

:"

:/^marker/+1,$wq! test.out

ENDTEST



marker

~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l" Test for expression comparators.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 200 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let oldisident=&isident


[?25l:  [?12l[?25h:  set isident+=#


[?25l:  [?12l[?25h:  if 1 is#1


[?25l:    [?12l[?25h:    $put ='ok'


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    $put ='ng'


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  let &isident=oldisident


[?25l:  [?12l[?25h:endtry
[?25l" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'ok[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^marker/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1 line, 3 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_comparators = test61; then \
#	  if diff test.out test_comparators.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_comparators.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_erasebackword.failed test.ok test.out X* viminfo
cp test_erasebackword.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_erasebackword.in" 19 lines, 427 charactersTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G







:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for erasing backword[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 12 lines, 362 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G

o wwwこんにちわ世界ワールドvim ^W^[

o wwwこんにちわ世界ワールドvim ^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^W^[

:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h



[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25lド[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h/^test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 111 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_erasebackword = test61; then \
#	  if diff test.out test_erasebackword.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_erasebackword.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_eval.failed test.ok test.out X* viminfo
cp test_eval.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_eval.in" 247 lines, 6201 charactersTest for various eval features.   vim: set ft=vim :



Note: system clipboard is saved, changed and restored.



clipboard contents

something else



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:lang C

:fun AppendRegContents(reg)

  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:rreg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))

:endfun

:fun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)

  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, aa:type, a:cont, a:strcont, a:cont1, a:strcont1))

endfun

:command -nargs=? AR :call AppendRegContents(<q-args>)

:fun SetReg(...)

    call call('setreg', a:000)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for various eval features.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 233 lines, 6010 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun AppendRegContents(reg)
[?25l

:  [?12l[?25h  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg


(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))


[?25l:  [?12l[?25h:endfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hfun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)
[?25l

:  [?12l[?25h  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:re


g, a:type, a:cont, a:strcont, a:cont1, a:strcont1))


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[?12l[?25h[?25l:[?12l[?25hfun SetReg(...)
[?25l

:  [?12l[?25h    call call('setreg', a:000)


[?25l:  [?12l[?25h    call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2]))


[?25l:  [?12l[?25h    call AppendRegContents(a:1)


[?25l:  [?12l[?25h    if a:1 isnot# '='


[?25l:    [?12l[?25h        execute "silent normal! Go==\n==\e\"".a:1."P"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun ErrExe(str)
[?25l

:  [?12l[?25h    call append('$', 'Executing '.a:str)


[?25l:  [?12l[?25h    try


[?25l:    [?12l[?25h        execute a:str


[?25l:    [?12l[?25h    catch


[?25l:    [?12l[?25h        $put =v:exception


[?25l:    [?12l[?25h    endtry


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h$put ='{{{1 let tests'


[?25l:  [?12l[?25hlet @" = 'abc'


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\n"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\<C-m>"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @= = '"abc"'


[?25l:  [?12l[?25hAR =


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Basic setreg tests'


[?25l:  [?12l[?25hcall SetReg('a', 'abcA', 'c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcB', 'v')


[?25l:  [?12l[?25hcall SetReg('c', 'abcC', 'l')


[?25l:  [?12l[?25hcall SetReg('d', 'abcD', 'V')


[?25l:  [?12l[?25hcall SetReg('e', 'abcE', 'b')


[?25l:  [?12l[?25hcall SetReg('f', 'abcF', "\<C-v>")


[?25l:  [?12l[?25hcall SetReg('g', 'abcG', 'b10')


[?25l:  [?12l[?25hcall SetReg('h', 'abcH', "\<C-v>10")


[?25l:  [?12l[?25hcall SetReg('I', 'abcI')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending single lines with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc', 'c')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAl', 'l')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc2','c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc', 'ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb', 'ba')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc2','ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb2','b50a')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('C', 'abcCl', 'l')


[?25l:  [?12l[?25hcall SetReg('C', 'abcCc', 'c')


[?25l:  [?12l[?25hcall SetReg('D', 'abcDb', 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('E', 'abcEb', 'b')


[?25l:  [?12l[?25hcall SetReg('E', 'abcEl', 'l')


[?25l:  [?12l[?25hcall SetReg('F', 'abcFc', 'c')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending NL with setreg()'


[?25l:  [?12l[?25hcall setreg('a', 'abcA2', 'c')


[?25l:  [?12l[?25hcall setreg('b', 'abcB2', 'v')


[?25l:  [?12l[?25hcall setreg('c', 'abcC2', 'l')


[?25l:  [?12l[?25hcall setreg('d', 'abcD2', 'V')


[?25l:  [?12l[?25hcall setreg('e', 'abcE2', 'b')


[?25l:  [?12l[?25hcall setreg('f', 'abcF2', "\<C-v>")


[?25l:  [?12l[?25hcall setreg('g', 'abcG2', 'b10')


[?25l:  [?12l[?25hcall setreg('h', 'abcH2', "\<C-v>10")


[?25l:  [?12l[?25hcall setreg('I', 'abcI2')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', "\n")


[?25l:  [?12l[?25hcall SetReg('B', "\n", 'c')


[?25l:  [?12l[?25hcall SetReg('C', "\n")


[?25l:  [?12l[?25hcall SetReg('D', "\n", 'l')


[?25l:  [?12l[?25hcall SetReg('E', "\n")


[?25l:  [?12l[?25hcall SetReg('F', "\n", 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA3'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3'], 'l')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC3'], 'b')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD3'])


[?25l:  [?12l[?25hcall SetReg('e', [1, 2, 'abc', 3])


[?25l:  [?12l[?25hcall SetReg('f', [1, 2, 3])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ['abcA3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3l'], 'la')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3b'], 'lb')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD32'])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', ['abcA32'])


[?25l:  [?12l[?25hcall SetReg('B', ['abcB3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3l'], 'l')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD3b'], 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with NL with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ["\n", 'abcA3l2'], 'l')


[?25l:  [?12l[?25hcall SetReg('B', ["\n", 'abcB3c2'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ["\n", 'abcC3b2'], 'b')


[?25l:  [?12l[?25hcall SetReg('D', ["\n", 'abcD3b50'],'b50')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with NLs with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4


-4-2"])


[?25l:  [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na


bcB4c-4-2"], 'c')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na


bcC4l-4-2"], 'l')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na


bcD4b-4-2"], 'b')


[?25l:  [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4


b10-4\nabcE4b10-4-2"], 'b10')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Search and expressions'


[?25l:  [?12l[?25hcall SetReg('/', ['abc/'])


[?25l:  [?12l[?25hcall SetReg('/', ["abc/\n"])


[?25l:  [?12l[?25hcall SetReg('=', ['"abc/"'])


[?25l:  [?12l[?25hcall SetReg('=', ["\"abc/\n\""])


[?25l:  [?12l[?25h$put ='{{{1 System clipboard'


[?25l:  [?12l[?25hif has('clipboard')


[?25l:    [?12l[?25h" Save and restore system clipboard.


[?25l:    [?12l[?25h" If no connection to X-Server is possible, test should succeed.


[?25l:    [?12l[?25hlet _clipreg = ['*', getreg('*'), getregtype('*')]


[?25l:    [?12l[?25hlet _clipopt = &cb


[?25l:    [?12l[?25hlet &cb='unnamed'


[?25l:    [?12l[?25h5y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25htabdo :windo :echo "hi"


[?25l:    [?12l[?25h6y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25hlet &cb=_clipopt


[?25l:    [?12l[?25hcall call('setreg', _clipreg)


[?25l:    [?12l[?25helse


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard conte


nts']", "clipboard contents\n", "['clipboard contents']")


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "something else\n", "['something else']", 


"something else\n", "['something else']")


[?25l:    [?12l[?25hendif


[?25l:  [?12l[?25h$put ='{{{1 Errors'


[?25l:  [?12l[?25hcall ErrExe('call setreg()')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, 3, 4)')


[?25l:  [?12l[?25hcall ErrExe('call setreg([], 2)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, {})')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, [])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("/", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("=", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, ["", "", [], ""])')


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test()
[?25lhi*: type V; value: something else^@ (['something else']), expr: something else^@  (['something else'])

{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)

Vim(call):E730: using List as a String

Executing call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction SetReg
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction AppendRegContents
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction ErrExe
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hdelcommand AR
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name not starting with capital
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! g:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)8: Too many arguments for function: setreg[], 2)730: using List as a String1, {}1Dictionary as a String2, [])0List as a String"/", ["1", "2"])883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name includes a colon
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! b:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)Vim(function):E128: Function name must start with a capital or "s:": b:test()[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name folowed by #
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! test2() "#


[?25l:  [?12l[?25h:echo "test2"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)Vim(call):E730: using List as a String

Executing call setreg(1, {})Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! g:Foo(n)
[?25l

:  [?12l[?25h:  $put ='called Foo(' . a:n . ')'


[?25l:  [?12l[?25h:endfunction
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg[?12l[?25h[?25l

:[?12l[?25hlet b:my_func = function('Foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcall b:my_func(1)
[?25l

called Foo(1)[?12l[?25h[?25l

:[?12l[?25hecho g:Foo(2)
[?25l0

called Foo(2)[?12l[?25h[?25l

:[?12l[?25hecho Foo(3)
[?25l0

called Foo(3)[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[?12l[?25h[?25l:[?12l[?25hso test_eval_func.vim
[?25ls:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h: call append($, 'foobar')


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#

called Foo(123

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1func Bar exists: 1

Vim(call):E116: Invalid arguments for function append[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l

{{{1 getcurpos/setpos[?12l[?25h[?25l

/[?12l[?25h^012345678
[?25lsearch hit BOTTOM, continuing at TOP:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:

{{{1 let tests

": type v; value: abc (['abc']), expr: abc (['abc'])

": type V; value: abc^@ (['abc']), expr: abc^@ (['abc'])

": type V; value: abc^M^@ (['abc^M']), expr: abc^M^@ (['abc^M'])

=: type v; value: abc (['abc']), expr: "abc" (['"abc"'])

{{{1 Basic setreg tests

{{{2 setreg('a', 'abcA', 'c')

a: type v; value: abcA (['abcA']), expr: abcA (['abcA'])

search hit BOTTOM, continuing at TOP[?12l[?25h012345[?25l:[?12l[?25hlet sp = getcurpos()
[?25l[?12l[?25h
[?25l:[?12l[?25hcall setpos('.', sp)
[?25l[?12l[?25h[?25l:[?12l[?25h$put
[?25lExecuting call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

Vim(function):E128: Function name must start with a capital or "s:": b:test()

Vim(function):E128: Function name must start with a capital or "s:": test2() "#

called Foo(1)

called Foo(2)

called Foo(3)

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1

Vim(call):E116: Invalid arguments for function append

{{{1 getcurpos/setpos

6[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" substring and variable name
[?25l[?12l[?25h[?25l:[?12l[?25hlet str = 'abcdef'
[?25l[?12l[?25h[?25l:[?12l[?25hlet n = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[n:]
[?25l

def[?12l[?25h[?25l

:[?12l[?25h$put =str[:n]
[?25l

abcd[?12l[?25h[?25l

:[?12l[?25h$put =str[n:n]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet n
[?25l[?12l[?25h[?25l:[?12l[?25hlet nn = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[nn:]
[?25ldef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:nn]
[?25labcd[?12l[?25h[?25l:[?12l[?25h$put =str[nn:nn]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet nn
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:nn = 4
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:]
[?25lef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:b:nn]
[?25labcde[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:b:nn]
[?25l

e[?12l[?25h[?25l

:[?12l[?25hunlet b:nn
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 362 lines, 11279 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_eval = test61; then \
#	  if diff test.out test_eval.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_eval.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_fixeol.failed test.ok test.out X* viminfo
cp test_fixeol.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fixeol.in" 40 lines, 780 charactersTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol

:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol

:w! XXTestNoEol

:bwipe XXEol XXNoEol XXTestEol XXTestNoEol

:set fixeol[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'fixeol'vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 698 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Append "END" to each file so that we can see what the last written char was.

ggdGaEND^[:w >>XXEol

:w >>XXNoEol

:w >>XXTestEol

:w >>XXTestNoEol

:"

:" Concatenate the results

:e! test.out

a0^[:$r XXEol

:$r XXNoEol

Go1^[:$r XXTestEol

:$r XXTestNoEol

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?25l[?12l[?25h[?25l:[?12l[?25h" use Unix fileformat for consistency
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lwith eol[?12l[?25h[?25l:[?12l[?25hw! XXEol
[?25l"XXEol" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25henew!
[?25l[?12l[?25h[?25l:[?12l[?25hset noeol nofixeol
[?25l[?12l[?25h[?25lwithout eol[?12l[?25h[?25l:[?12l[?25hw! XXNoEol
[?25l"XXNoEol" [New File][Incomplete last line] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hset eol fixeol
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


2 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" 1 line, 9 characterswith eol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l

stays eol[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [New File] 2 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [Incomplete last line] 1 line, 11 charactersout eol

~                                                                               [?12l[?25h[?25l

stays without[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [New File][Incomplete last line] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fixeol
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25lTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXEol
[?25l"XXEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l0[?12l[?25h[?25l:[?12l[?25h$r XXEol
[?25l"XXEol" 2 lines, 13 characterswith eolEND[?12l[?25h[?25l:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" 1 line, 15 characterswithout eolEND[?12l[?25h[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" 3 lines, 23 characterswith eolstays eolEND[?12l[?25h[?25l:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" 2 lines, 29 characterswithout eolstays withoutEND[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_fixeol = test61; then \
#	  if diff test.out test_fixeol.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_fixeol.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_getcwd.failed test.ok test.out X* viminfo
cp test_getcwd.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_getcwd.in" 96 lines, 2374 charactersTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xtopdir directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a swapfile in Xtopdir prevents it from being cleaned up.

:set noswapfile

:"

:function! GetCwdInfo(win, tab)

: let tab_changed = 0

: let mod = ":t"

: if a:tab > 0 && a:tab != tabpagenr()

:   let tab_changed = 1

:   exec "tabnext " . a:tab

: endif

: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)

: if tab_changed[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 90 lines, 2273 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GetCwdInfo(win, tab)
[?25l

:  [?12l[?25h: let tab_changed = 0


[?25l:  [?12l[?25h: let mod = ":t"


[?25l:  [?12l[?25h: if a:tab > 0 && a:tab != tabpagenr()


[?25l:    [?12l[?25h:   let tab_changed = 1


[?25l:    [?12l[?25h:   exec "tabnext " . a:tab


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)


[?25l:  [?12l[?25h: if tab_changed


[?25l:    [?12l[?25h:   tabprevious


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: if a:win == 0 && a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir()


[?25l:    [?12l[?25h: elseif a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win)


[?25l:    [?12l[?25h: else


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win, a:tab), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win, a:tab)


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: return bufname . ' ' . dirname . ' ' . lflag


[?25l:  [?12l[?25h:endfunction
[?25l:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST

[?12l[?25h[?25l



:[?12l[?25h" On windows a stale "Xtopdir" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       test_getcwd.in                                                                  [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xtopdir')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir1')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir2')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir3')
[?25l[?12l[?25h[?25l:[?12l[?25hnew a
[?25l"a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l:[?12l[?25hnew b
[?25l"b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l:[?12l[?25hnew c
[?25l"c" [New File]~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lc                                                                                a                                                                               [?12l[?25h[?25l:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir1/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                              b                                                                               ab                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                                               b                                                                                [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir3/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lcb                                                                               b                                                              a                                                              /<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25htabnew x
[?25l"x" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  x                                               X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hnew y
[?25l"y" [New File]2 y  Xy                                                                                x                                                                                [?12l[?25h[?25l:[?12l[?25hnew z
[?25l"z" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               z                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               y                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               x                                                                               [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lz                                                                                x                                                                               x  X[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25ly                                                                               x                                                                                y  X[?12l[?25h[?25l:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir2/b/v/v/s/v/t/X/y  X/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lzb /                Xz                                                                               yb                                                                               x                                                              [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir3/b/v/v/s/v/t/X/z  X/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in            [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[?12l[?25h[?25l:[?12l[?25hq
[?25l 4 [No Name]  3 z                                                               X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdirX/z  XXtopdir/cXtopdir/bXtopdir/a

[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_getcwd = test61; then \
#	  if diff test.out test_getcwd.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_getcwd.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_insertcount.failed test.ok test.out X* viminfo
cp test_insertcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_insertcount.in" 14 lines, 204 charactersTests for repeating insert and replace.



STARTTEST

:so small.vim

:/Second

4gro

:/^First/,$wq! test.out

:" get here when failed and in Insert mode

^[:.wq! test.out

ENDTEST



First line

Second line

Last line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for repeating insert and replace.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 111 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/Second
[?25l[?12l[?25h[?25looooecond line
ooo[?12l[?25h

Las[?25l:[?12l[?25h/^First/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 3 lines, 36 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_insertcount = test61; then \
#	  if diff test.out test_insertcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_insertcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listchars.failed test.ok test.out X* viminfo
cp test_listchars.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listchars.in" 54 lines, 705 charactersTests for 'listchars' display with 'list' and :list



STARTTEST

:so small.vim

:set ff=unix

:let g:lines = []

:function GetScreenCharsForLine(lnum)

:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))')), '')

:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"

:set listchars+=tab:>-,space:.,trail:<

:set list

:

/^start:/

:normal! jzt

GG

GG

GG

GG

GGH:

:set listchars-=trail:<[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'listchars' display with 'list' and :list[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 431 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTGG

GG

GG

GG

GG:

:put =g:lines

:'[,']w! test.out

ENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:lines = []
[?25l[?12l[?25h[?25l:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l

:  [?12l[?25h:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val


))'), '')


[?25l:  [?12l[?25h:endfunction
[?25l:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"[?12l[?25h[?25l

:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))


\<CR>"
[?25l:endfunction[?12l[?25h[?25l

:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset list
[?25l$.<expr>.GG.":call..\\<CR>"$

:set.$

:set.list$

:$$.jzt$

GG$

GG$

GG$

GG$

GGH:$

:set.$

GG$

GG$

GG$

GG$

GG:$

:put.$.$$

$[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:$[?12l[?25h[?25l

:[?12l[?25hnormal! jzt
[?25l>-------aa>-----$

..bb>---<<$

...cccc><$

dd........ee<<>-$

<$

$

$

STARTTEST$

:set.listchars+=trail:<$

:set.nolist$

:$

/^start:/$

:redir!.>>.test.out$

:+1,$list$

:redir.END$

:q!$

ENDTEST$

$

start:$

..fff>--<<$

>-------gg>-----$

.....h>-$

iii<<<<><<$[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset listchars-=trail:<
[?25l.....

.......>..[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hput =g:lines
[?25l10 more >-------aa>-----$$

..bb>---<<$$

...cccc><$$

dd........ee<<>-$$

<$$

>-------aa>-----$$

..bb>---..$$

...cccc>.$$

dd........ee..>-$$

.$$10 more lines[?12l[?25h[?25l:[?12l[?25h'[,']w! test.out
[?25l"test.out" [New File] 10 lines, 124 characters written[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 93 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:+1,$list$

:redir.END$

:q!$

ENDTEST$[?12l[?25h[?25l

$[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset listchars+=trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist
[?25l   >>  [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:[?12l[?25h[?25l

:[?12l[?25hredir! >> test.out
[?25l[?12l[?25h[?25l:[?12l[?25h+1,$list
[?25l..fff>--<<$


>-------gg>-----$


.....h>-$


iii<<<<><<$


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l>-------aa>-----$

..bb>---..$

...cccc>.$

dd........ee..>-$

.$STARTTEST:set listchars+=trail:<

:set nolist

:

/^start:/

:redir! >> test.out+1,$listredir END

:q!ENDTESTstart:  fff

        ggh

iii   [?12l[?25h[?25l

:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listchars = test61; then \
#	  if diff test.out test_listchars.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listchars.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr.failed test.ok test.out X* viminfo
cp test_listlbr.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr.in" 119 lines, 2868 charactersTest for linebreak and list option (non-utf8)



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |  endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width)

:let c=''

:for j in range(1,4)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu

:fu! DoRecordScreen()

:wincmd l

:$put =printf(\"\n%s\", g:test)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option (non-utf8)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 114 lines, 2792 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTabcd{ef

ghijklm

no}pqrs^[2k0f{^V^Vc%^[

:"

:let g:test ="Test 11: using block replace mode after wrapping"

:$put =g:test

:set linebreak wrap

Go^[150aa^[yypk147|^Vjr0

:"

:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$":set list listchars=space:_,trail:-,tab:>-,eol:$

:$put =g:test

:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |


endif
[?25labcd{ef[?12l[?25h[?25l

:[?12l[?25h10new|:vsp|:vert resize 20
[?25l       ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =linenorm! zt

:redraw!let line=ScreenChar(winwidth(0))

:call DoRecordScreen()%w! test.outqaENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,4)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 1: set         

+linebreak          

    abcdef          

+hijklmn            

+pqrstuvwxyz_1060ABCTest 1: set linebreak    abcdef          +hijklmn            +pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[?12l[?25h[?25l:[?12l[?25hset linebreak list listchars=
[?25l^Iabcdef hijklmn^I  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP      

              

Test 1: set

+linebreak 

    abcdef

+hijklmn  

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l^Iabcdef hijklmn^I  |

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOPTest 1: set linebreakabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines    abcdef                                                 +hijklmn                                                   +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                             ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l    abcdef          hijklmn            pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

           

Test 1: set

+linebreak

    abcdef

+hijklmn            

+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

[No Name] [+]        abcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines^Iabcdef hijklmn^I                                         +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Test 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou


ld break!"
[?25labcdef|^Iabcdef hijklmn^I[?12l[?25h[?25l:[?12l[?25hset nolist linebreak ts=8
[?25l    abcdef[?12l[?25h[?25l:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25l      

        

Test 3: set         linebreak nolist

    abcdef

+hijklmn   

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

1       

+aaaaaaaaaaaaaaaaaa [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l1|

+aaaaaaaaaaaaaaaaaa |||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     1aaaaaaaaaaaaaaaaaaTest 4: set linebreak with tab and 1 line as long as screen+: should break!1+aaaaaaaaaaaaaaaaaa~~4 more lines[?12l[?25h[?25l:[?12l[?25hlet line="_S_\t bla"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lTest 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    ~

~

_S_      bla[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l_S_      bla        

                    

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak with conceal and set list and tab displayed


by different char (line may not be truncated)"
[?25l_S_      bla|+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25labbbb[?12l[?25h[?25l:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25lSabb[?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 5: set         

+linebreak with     

+conceal and set    

+list and tab       

+displayed by       

+different char     

+(line may not be   

+truncated)         ~                                                          ~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  _S_      blaTest 5: set linebreak with conceal and set list and tab dis+played by different char (line may not be truncated)Sabbbbbb bla~~~4 more lines[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: this not"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25labbbbbb

~

~          

~              

Test 6: set     nebreak withvisual block mode

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE: this not    [?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE:             

+aaaaaaaaaaaaa      [?12l[?25h[?25l:[?12l[?25h1/^REMOVE:
[?25l[?12l[?25h[?25l[?12l[?25h[?25lR[?12l[?25h[?25lEMOVE: 

REMOVE:[?12l[?25h[?25lthis not        

aaaaaaaaaaaaa

~                   [?12l[?25h[?25l:[?12l[?25h$put
[?25l~                   

~                   

~                   

Test 6: set         

+linebreak with     

+visual block mode  

this not            

aaaaaaaaaaaaa       

~                   

                    REMOVE:             

REMOVE:[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lthis not            

aaaaaaaaaaaaa       

REMOVE:             

REMOVE:             

                    

                    

                    

                    

                    

                    Test 7: set

+linebreak with

+visual block mode

+and vbA

~                   

~                   [?12l[?25h[?25llong line:          [?12l[?25h[?25l foobar

+foobar foobar      @                   

@                           

             

       

       

           

               

                  

        

                    

                    +foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar[?12l[?25h+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar             

                    [?25lTARGET at

+end[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx at[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak sbr=
[?25lfoobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar TARGETx at 

end played by different char (line may not be truncated)[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set  

linebreak with

visual char mode

and changing block

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l1111-1111-1111-11-  

1111-1111-1111      [?12l[?25h[?25l[?12l[?25h[?25l111[?12l[?25h[?25l2222[?12l[?25h[?25l2222[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                [?12l[?25h[?25l1111-2222-1111-11-  

1111-2222-1111      

Test 9: using redo  

after block visual  

mode                

~                   

                    

                    

                    

                                        

aaa

aaa

a

~                   [?12l[?25h[?25l[?12l[?25h[?25la

a[?12l[?25h[?25l3 lines changedA

A

A[?12l[?25h[?25lA

AaA[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                

                    

AaA                 

AaA                 

A                   

~                   

                    

                    Test 10: using      

normal commands

after block-visual[?12l[?25h[?25l:[?12l[?25hset linebreak
[?25l[?12l[?25h[?25lAaA                 

AaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

                    

                    

                    abcd{ef

ghijklm

no}pqrs[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25lpqrs

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lAaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

~                   

~                   

                    Test 11: using      

block replace mode  

after wrapping[?12l[?25h[?25l:[?12l[?25hset linebreak wrap
[?25l[?12l[?25h[?25lA                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

Test 11: using      

block replace mode  

after wrapping      

                    [?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa        

~                   

~                   [?12l[?25h[?25l[?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l[?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa

~                   

~                   [?12l[?25h[?25l0

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaa0aaa

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$


"[?25laaaaaaaaaaaaaaaaaaaa|~[?12l[?25h[?25l:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l$[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         

~                   

~                   

~                   

                    

                    

                    

                    ~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25la_|

aaaaaaaaaaaaaaaaaaaa|

aa>-----a-$||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ~~_S_      blaTest 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)Sabbbbbb bla~~~[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines$                   

Test_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

a------------------ 

$                   Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a aaaaaaaaaaaaaaaaaaaaaaa12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a_          aaaaaaaaaaaaaaaaaaaaaa>-----a-$[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 62 lines, 2030 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr = test61; then \
#	  if diff test.out test_listlbr.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_search_mbyte.failed test.ok test.out X* viminfo
cp test_search_mbyte.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search_mbyte.in" 15 lines, 226 charactersTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for search('multi-byte char', 'bce')[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hsource small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hsource mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h/^Test bce:/+1
[?25l[?12l[?25h[?25l:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l15[?12l[?25h[?25l:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [New File] 5 lines, 27 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_search_mbyte = test61; then \
#	  if diff test.out test_search_mbyte.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_search_mbyte.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_utf8.failed test.ok test.out X* viminfo
cp test_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_utf8.in" 46 lines, 1245 charactersTests for Unicode manipulationsvim: set ft=vim :



STARTTEST

:so small.vim

:set encoding=utf-8

:"

:" Visual block Insert adjusts for multi-byte char

:new


:exe ":norm! gg0l\<C-V>jjIx\<Esc>"

:let r = getline(1, '$')

:"

:bwipeout!

:$put=r

:"

:" Test for built-in function strchars()


:$put=strchars(str)

:$put=strchars(str, 0)

:$put=strchars(str, 1)

:endfor

:"

:" Test for customlist completion[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for Unicode manipulationsvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 1151 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:return ['あ', 'い']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)

:return ['あたし', 'あたま', 'あたりめ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)

:return ['Nこ', 'Nん', 'Nぶ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']endfunctioncommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')"call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST test_utf8.in                                                                    [?12l[?25h[?25l:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25laaa

あああbbb[+][?12l[?25h[?25l:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25lxaa

xあああ

bxbb[?12l[?25h[?25l:[?12l[?25hlet r = getline(1, '$')
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:       return ['あ', 'い']

:endfunction:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it'):":function! CustomComplete2(lead, line, pos):       return ['あたし', 'あたま', 'あたりめ']:endfunction:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')"function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']

:endfunctionommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"call garbagecollect(1):/^start:/,$wq! test.out

ENDTEST

 [?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

axaa

xあああ

bxbb3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for built-in function strchars()
[?25l[?12l[?25h[?25l:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l

:  [?12l[?25h:^I$put=strchars(str)


[?25l:  [?12l[?25h:^I$put=strchars(str, 0)


[?25l:  [?12l[?25h:^I$put=strchars(str, 1)


[?25l:  [?12l[?25h:endfor
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST



start:axaaxあああbxbb11133322133

1111[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for customlist completion
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あ', 'い']


[?25l:  [?12l[?25h:endfunction
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test1 ...'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 ''Test1 '


Test1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あたし', 'あたま', 'あたりめ']


[?25l:  [?12l[?25h:endfunction
[?25l:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた''Test2 あた'


Test2 あた[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['Nこ', 'Nん', 'Nぶ']


[?25l:  [?12l[?25h:endfunction
[?25lENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test3 ...N'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N''Test3 N'


Test3 N[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 22 lines, 86 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_utf8 = test61; then \
#	  if diff test.out test_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_wordcount.failed test.ok test.out X* viminfo
cp test_wordcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_wordcount.in" 126 lines, 2815 charactersTest for wordcount() function



STARTTEST

:so small.vim

:so mbyte.vim

:set enc=utf8

:set selection=inclusive fileformat=unix fileformats=unix

:new

:fu DoRecordWin(...)

:wincmd k

:if exists("a:1")

:call cursor(a:1)

:endif

:let result=[]

:call add(result, g:test)

:call add(result, getline(1, '$'))

:call add(result, wordcount())

:wincmd j

:return result

:endfu

:fu PutInWindow(args)

:wincmd k

:%d _[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for wordcount() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 121 lines, 2753 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"


:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"

:call PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])

:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:
[?12l[?25h[?25l

:[?12l[?25hset selection=inclusive fileformat=unix fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])[2]=g:visual_statcall Log()"/^RESULT test/,$w! test.out

:qa!ENDTEST

RESULT test:

test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hfu DoRecordWin(...)
[?25l

:  [?12l[?25h:^Iwincmd k


[?25l:  [?12l[?25h:       if exists("a:1")


[?25l:    [?12l[?25h:           call cursor(a:1)


[?25l:    [?12l[?25h:       endif


[?25l:  [?12l[?25h:       let result=[]


[?25l:  [?12l[?25h:       call add(result, g:test)


[?25l:  [?12l[?25h:       call add(result, getline(1, '$'))


[?25l:  [?12l[?25h:       call add(result, wordcount())


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:       return result


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu PutInWindow(args)
[?25l

:  [?12l[?25h:       wincmd k


[?25l:  [?12l[?25h:       %d _


[?25l:  [?12l[?25h:       call append(1, a:args)


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu Log()
[?25l

:  [?12l[?25h:   $put ='----'


[?25l:  [?12l[?25h:   $put =remove(g:log,0)


[?25l:  [?12l[?25h:   $put =string(g:log)


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu! STL()
[?25l

:  [?12l[?25h:    if mode() =~? 'V'


[?25l:    [?12l[?25h:       let g:visual_stat=wordcount()


[?25l:    [?12l[?25h:    endif


[?25l:  [?12l[?25h:    return string(wordcount())


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin()
[?25l[No Name]                                                                        test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 1: empty window

[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00, 'cursor_bytes': 0}][+][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25lone two three[+][?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 2: some words, cursor at start

[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worrds': 0, 'bytes': 15, 'cursor_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 3: some words, cursor at end

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 4: some words, cursor at end, ve=all

[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 15}][?12l[?25h[?25l





:[?12l[?25hset ve=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25lone two threeone two three--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 5: several lines with words

[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__chars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25l[No Name] [+]                                                                   test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset bomb
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2 lines, 18 characters writtenXtesta         [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 6: one line with BOM set

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 18, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25hwincmd k
[?25lXtest                                                                           test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset nobomb
[?25l[+][?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written    [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh'])
[?25lÄne M¤ne Müh[+]--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 7: one line with multibyte words

[['', 'Äne M¤ne Müh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worrds': 3, 'bytes': 17, 'cursor_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25lund raus bist dü!--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 8: several lines with multibyte words

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'cursor_chars': 31, 'wwords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l 

Äne M¤ne Müh 

und raus bist dü! ds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[?12l[?25h[?25lÄne M¤ne Mühnd raus bist dü!3 lines yankedursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 9: visual mode, complete buffer

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l[?12l[?25h[?25lursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 10: visual mode (empty)

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h2
[?25l2,1,3}[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_2}[?12l[?25h[?25lÄne M¤ne Mühds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[?12l[?25h[?25l
Äne M¤ne Mühursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[?12l[?25hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]s                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 11: visual mode, single line

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^RESULT test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 34 lines, 1905 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_wordcount = test61; then \
#	  if diff test.out test_wordcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_wordcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test11.failed test.ok test.out X* viminfo
cp test11.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test11.in" 84 lines, 3366 charactersTests for autocommands:

- FileWritePrewriting a compressed file

- FileReadPostreading a compressed file

- BufNewFilereading a file template

- BufReadPredecompressing the file to be read

- FilterReadPresubstituting characters in the temp file

- FilterReadPostsubstituting characters after filtering

- FileReadPreset options for decompression

- FileReadPostdecompress the file



Note: This test is skipped if "gzip" is not available.

$GZIP is made empty, "-v" would cause trouble.

Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being

modified outside of Vim (noticed on Solaris).



STARTTEST

:so small.vim

:" drop out when there is no gzip program

:if !executable("gzip")

: e! test.ok

: w! test.out

: qa!

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for autocommands:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 48 lines, 2298 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w" write it, after filtering

:au!" remove all autocommands

:e" Edit test.out again

:set nobin ff&   " use the default fileformat for writing

:w

:qa!

ENDTEST



startstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" drop out when there is no gzip program
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("gzip")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/[?12l[?25h[?25l:[?12l[?25hlet $GZIP = ""
[?25l[?12l[?25h[?25l:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePre    *.gz   '[,']!gzip
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePost   *.gz   undo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered

"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written


10 more lines; before #1  0 seconds ago


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileReadPost    *.gz   '[,']!gzip -d
[?25l:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w                           " write it, after filtering

:au!             " remove all autocommandse" Edit test.out againset nobin ff&   " use the default fileformat for writing

:wqa!ENDTESTstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx45678910

end of testfile[?12l[?25h[?25l

:[?12l[?25h$r Xtestfile.gz                " Read and decompress the testfile
[?25l"Xtestfile.gz" [Incomplete last line] 1 line, 111 characters
[?12l[?25h[?25lstart of test.c

/*

 * Here is a new .c file

 */

end of test.c

start of testfile[?12l[?25h[?25l

:[?12l[?25h?startstart?,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 29 lines, 788 characters written[?12l[?25h[?25l:[?12l[?25hau BufNewFile      *.c    read Xtest.c
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25lsearch hit BOTTOM, continuing at TOP"Xtest.c" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25he! foo.c                       " Will load Xtest.c
[?25l"foo.c" [New File]

"Xtest.c" 3 lines, 32 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileAppendPre   *.out  '[,']s/new/NEW/
[?25l/*

 * Here is a new .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FileAppendPost  *.out  !cat Xtest.c >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 4 lines, 33 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hau! FileAppendPre
[?25l/*

 * Here is a NEW .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile.gz                " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'


[?12l[?25h[?25l"Xtestfile.gz""Xtestfile.gz" 11 lines, 357 characters:!gzip 'Xtestfile'


[?12l[?25h[?25lcaught FileChangedShell


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 11 lines, 357 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hset shelltemp                  " need temp files here
[?25lstart of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>") . "


.t")
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi


le>")) . ".t >" . shellescape(expand("<afile>"))
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !rm ' . shellescape(expand("<afile>")) .


'.t'
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPost  *.out  '[,']s/x/X/g
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out                    " Edit the output file
[?25l"test.out" 50 lines, 1242 charactersstarstart of testfile2  Abcdefghijklmnopqrstuvwxyz3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4  Abcdefghijklmnopqrstuvwxyz5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6  Abcdefghijklmnopqrstuvwxyz7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8  Abcdefghijklmnopqrstuvwxyz9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfilestart of test.c/* * Here is a new .c file */end of test.cstart of testfileline 2  Abcdefghijklmnopqrstuvwxyzline 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 4  Abcdefghijklmnopqrstuvwxyzline 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines


28 lines filtered


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h23,$s/\r$//                 " remove CR for when sed adds them
[?25lE486: Pattern not found: \r$

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>


"))
[?25lstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE 5  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[?12l[?25h[?25l

:[?12l[?25hau  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau! FileReadPost   *.gz   '[,']s/l/L/
[?25l[?12l[?25h[?25l:[?12l[?25h$r Xtestfile.gz             " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" 11 lines, 357 characters


11 substitutions on 11 lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw                           " write it, after filtering
[?25l"test.out"61 lines, 1599 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau!             " remove all autocommands
[?25lE216: No such group or event: " remove all autocommands


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he               " Edit test.out again
[?25l"test.out"61 lines, 1599 charactersstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"test.out" 61 lines, 1599 characters[?12l[?25h[?25l:[?12l[?25hset nobin ff&   " use the default fileformat for writing
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test11 = test61; then \
#	  if diff test.out test11.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test11.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test52.failed test.ok test.out X* viminfo
cp test52.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test52.in" 65 lines, 1645 charactersTests for reading and writing files with conversion for Win32.



STARTTEST

:so mbyte.vim

:" make this a dummy test for non-Win32 systems

:if !has("win32") | e! test.ok | wq! test.out | endif

:"

:" write tests:

:" combine three values for 'encoding' with three values for 'fileencoding'

:" also write files for read tests

/^1

:set encoding=utf-8

:.w! ++enc=utf-8 test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=utf-8 Xutf8

/^2

:set encoding=cp1251

:.w ++enc=utf-8 >>test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=cp1251 Xcp1251

/^3[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for reading and writing files with conversion for Win32.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 57 lines, 1333 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xcp1251

:.w ++enc=cp1251 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp1251 >>test.out

:"

:" read three 'fileencoding's with cp866 'encoding'

:set encoding=cp866 fencs=utf-8,cp1251

:e Xutf8

:.w ++enc=cp866 >>test.out

:e Xcp1251

:.w ++enc=cp866 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp866 >>test.out

:"

:qa!

ENDTEST






[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" 18 lines, 1374 characters


"test.out" [New File] 18 lines, 1374 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test52 = test61; then \
#	  if diff test.out test52.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test52.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test85.failed test.ok test.out X* viminfo
cp test85.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test85.in" 85 lines, 1868 charactersTest for Lua interface and luaeval() function



STARTTEST

:so small.vim

:so lua.vim

:set nocompatible viminfo+=nviminfo

:lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"

:lua h = vim.dict(); h.list = l

:call garbagecollect()

/^1

:" change buffer contents

:lua curbuf = vim.buffer()

:lua curline = vim.eval"line('.')"

:lua curbuf[curline] = "1 changed line 1"

:" scalar test

:let tmp_string = luaeval('"string"')

:let tmp_1000 = luaeval('1000')

:if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"

:let scalar_res = "OK"

:else

:let scalar_res = "FAILED"

:endif

:call append(search("^1"), "scalar test " . scalar_res)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Lua interface and luaeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 77 lines, 1775 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")

:lua d[4] = d[0]

:lua d[5] = d[1]

:lua d[6] = d[2]

:lua d[7] = d[3]

:lua d[3] = nil

:lua d[2] = nil

:lua d[1] = nil

:lua d[0] = nil

:lua d = nil

:$put =string(d)



:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso lua.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[?12l[?25h[?25l:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect()
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l:[?12l[?25h" change buffer contents
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf = vim.buffer()
[?25l[?12l[?25h[?25l:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25lchanged line 1
[?12l[?25h[?25l:[?12l[?25h" scalar test
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[?12l[?25h[?25l:[?12l[?25hif printf("%s%.0f", tmp_string, tmp_1000) == "string1000"
[?25l

:  [?12l[?25h:let scalar_res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let scalar_res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")[?12l[?25h[?25l





:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25lscalar test OK

2 line 2[?12l[?25h[?25l:[?12l[?25h" dictionary containing a list
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[?12l[?25h[?25l:[?12l[?25h/^2/put =tmp
[?25l

dictionary with list OK[?12l[?25h[?25l

:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l
[?25l[?12l[?25h[?25l:[?12l[?25hlet l2 = luaeval("h").list
[?25l[?12l[?25h[?25l:[?12l[?25hif l2[2] == l2
[?25l

:  [?12l[?25h:let res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")[?12l[?25h[?25l

:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l

circular test OK[?12l[?25h[?25l

:[?12l[?25hlet l = []
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.eval("l")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = l[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = l[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = l[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(l)
[?25l

[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][?12l[?25h[?25l

:[?12l[?25hlet d = {}
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = vim.eval("d")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[4] = d[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[5] = d[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[6] = d[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[7] = d[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(d)
[?25l

{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[?12l[?25h[?25l

:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 7L, 206C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test85 = test61; then \
#	  if diff test.out test85.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test85.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test86.failed test.ok test.out X* viminfo
cp test86.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test86.in" 1711 lines, 48481 charactersTests for various python features.     vim: set ft=vim :



NOTE: This will cause errors when run under valgrind.

This would require recompiling Python with:

  ./configure --without-pymalloc

See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:if !has('python') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py import vim

:py cb = vim.current.buffer

:let l = []

:py l=vim.bindeval('l')

:py f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py l.extend([1, "as'd", [1, 2, f, {'a': 1}]])

:$put =string(l)

:$put =string(l[-1])[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1700 lines, 48188 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" 1445 lines, 67439 characters


"test.out" [New File] 1445 lines, 67439 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test86 = test61; then \
#	  if diff test.out test86.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test86.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test87.failed test.ok test.out X* viminfo
cp test87.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test87.in" 1707 lines, 49069 charactersTests for various python features.     vim: set ft=vim :



STARTTEST

:so small.vim

:set noswapfile

:if !has('python3') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py3 import vim

:py3 cb = vim.current.buffer

:let l = []

:py3 l=vim.bindeval('l')

:py3 f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]

:$put =string(l)

:$put =string(l[-1])

:try

:  $put =string(l[-4])

:catch

:  $put =v:exception[:13]

:endtry

:" List assignment[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1701 lines, 48985 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h:py3 import vim


[?25l:  [?12l[?25h:py3 cb = vim.current.buffer


[?25l:  [?12l[?25h:let l = []


[?25l:  [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:  [?12l[?25h:py3 f=vim.bindeval('function("strlen")')


[?25l:  [?12l[?25h:" Extending List directly with different types


[?25l:  [?12l[?25h:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-4])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:13]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List assignment


[?25l:  [?12l[?25h:py3 l[0]=0


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:py3 l[-2]=f


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Extending Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:fun d.f()


[?25l:    [?12l[?25h:  return 1


[?25l:    [?12l[?25h:endfun


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hd=vim.bindeval('d')


[?25l:    [?12l[?25hd['1']='asd'


[?25l:    [?12l[?25hd.update()  # Must not do anything, including throwing errors


[?25l:    [?12l[?25hd.update(b=[1, 2, f])


[?25l:    [?12l[?25hd.update((('-1', {'a': 1}),))


[?25l:    [?12l[?25hd.update({'0': -1})


[?25l:    [?12l[?25hdk = d.keys()


[?25l:    [?12l[?25hdv = d.values()


[?25l:    [?12l[?25hdi = d.items()


[?25l:    [?12l[?25hdk.sort(key=repr)


[?25l:    [?12l[?25hdv.sort(key=repr)


[?25l:    [?12l[?25hdi.sort(key=repr)


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =py3eval('d[''f''](self={})')


[?25l:    [?12l[?25h:$put =py3eval('repr(dk)')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(dv)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(di)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:for [key, Val] in sort(items(d))


[?25l:      [?12l[?25h:  $put =string(key) . ' : ' . string(Val)


[?25l:      [?12l[?25h:  unlet key Val


[?25l:      [?12l[?25h:endfor


[?25l:    [?12l[?25h:py3 del dk


[?25l:    [?12l[?25h:py3 del di


[?25l:    [?12l[?25h:py3 del dv


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items with del


[?25l:    [?12l[?25h:py3 del l[2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:try


[?25l:      [?12l[?25h:   py3 del l[:3]


[?25l:      [?12l[?25h:   py3 del l[1:]


[?25l:      [?12l[?25h:catch


[?25l:      [?12l[?25h:   $put =v:exception


[?25l:      [?12l[?25h:endtry


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:py3 del d['-1']


[?25l:    [?12l[?25h:py3 del d['f']


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''b'')'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''1''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(''0'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(''1'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:$put =string(d)


[?25l:    [?12l[?25h:$put =py3eval('repr(d.popitem())')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.get(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[2:1]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:3]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:5]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:6]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[-1:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-3:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-4:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-5:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-6:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[::2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[3:0:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Slice assignment to a list


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['a']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[1:2]=['b']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:4]=['c']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[4:4]=['d']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-1:2]=['e']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-10:2]=['f']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:-10]=['g']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = []


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['h']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:6:2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:-2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Locked variables


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:lockvar! l


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hdef emsg(ei):


[?25l:    [?12l[?25h    return ei[0].__name__ + ':' + repr(ei[1].args)


[?25l:    [?12l[?25h


[?25l:    [?12l[?25htry:


[?25l:    [?12l[?25h    l[2]='i'


[?25l:    [?12l[?25hexcept vim.error:


[?25l:    [?12l[?25h    cb.append('l[2] threw vim.error: ' + emsg(sys.exc_info()))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:unlockvar! l


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Function calls


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25himport sys


[?25l:    [?12l[?25himport re


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hpy33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional


argument but (\d+) were given$')


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hdef ee(expr, g=globals(), l=locals()):


[?25l:    [?12l[?25h    cb = vim.current.buffer


[?25l:    [?12l[?25h    try:


[?25l:    [?12l[?25h        try:


[?25l:    [?12l[?25h            exec(expr, g, l)


[?25l:    [?12l[?25h        except Exception as e:


[?25l:    [?12l[?25h            if sys.version_info >= (3, 3) and e.__class__ is AttributeErro


r and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, AttributeError(s


tr(e)[str(e).rfind(" '") + 2:-1]))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is ImportError


and str(e).find('No module named \'') >= 0:


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, ImportError(str(


e).replace("'", '')))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is TypeError:


[?25l:    [?12l[?25h                m = py33_type_error_pattern.search(str(e))


[?25l:    [?12l[?25h                if m:


[?25l:    [?12l[?25h                    msg = '__call__() takes exactly {0} positional argumen


t ({1} given)'.format(m.group(1), m.group(2))


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, TypeError(ms


g))))


[?25l:    [?12l[?25h                else:


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, e)))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 5) and e.__class__ is ValueError 


and str(e) == 'embedded null byte':


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((TypeError, TypeError('expecte


d bytes with no null'))))


[?25l:    [?12l[?25h            else:


[?25l:    [?12l[?25h                msg = repr((e.__class__, e))


[?25l:    [?12l[?25h                # Some Python versions say can't, others cannot.


[?25l:    [?12l[?25h                if msg.find('can\'t') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('can\'t', 'cannot')


[?25l:    [?12l[?25h                # Some Python versions use single quote, some double quote


[?25l:    [?12l[?25h                if msg.find('"cannot ') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('"cannot ', '\'cannot ')


[?25l:    [?12l[?25h                if msg.find(' attributes"') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace(' attributes"', ' attributes\'')


[?25l:    [?12l[?25h                cb.append(expr + ':' + msg)


[?25l:    [?12l[?25h        else:


[?25l:    [?12l[?25h            cb.append(expr + ':NOT FAILED')


[?25l:    [?12l[?25h    except Exception as e:


[?25l:    [?12l[?25h        cb.append(expr + '::' + repr((e.__class__, e)))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:fun New(...)


[?25l:      [?12l[?25h:   return ['NewStart']+a:000+['NewEnd']


[?25l:      [?12l[?25h:endfun


[?25l:      [?12l[?25h:fun DictNew(...) dict


[?25l:[?12l[?25h:   return ['DictNewStart']+a:000+['DictNewEnd', self]


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:let l=[function('New'), function('DictNew')]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l+=[l[0].name]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 ee('l[1](1, 2, 3)')


[?25l:[?12l[?25h:py3 f=l[0]


[?25l:[?12l[?25h:delfunction New


[?25l:[?12l[?25h:py3 ee('f(1, 2, 3)')


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let l=[0.0]


[?25l:[?12l[?25h:   py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:   py3 l.extend([0.0])


[?25l:[?12l[?25h:   $put =string(l)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='[0.0, 0.0]'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:let messages=[]


[?25l:[?12l[?25h:delfunction DictNew


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25hd=vim.bindeval('{}')


[?25l:[?12l[?25hm=vim.bindeval('messages')


[?25l:[?12l[?25hdef em(expr, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        if sys.version_info >= (3, 5) and e.__class__ is ValueError an


d str(e) == 'embedded null byte':


[?25l:[?12l[?25h            m.extend([TypeError.__name__])


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            m.extend([e.__class__.__name__])


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d["abc1"]')


[?25l:[?12l[?25hem('d["abc1"]="\\0"')


[?25l:[?12l[?25hem('d["abc1"]=vim')


[?25l:[?12l[?25hem('d[""]=1')


[?25l:[?12l[?25hem('d["a\\0b"]=1')


[?25l:[?12l[?25hem('d[b"a\\0b"]=1')


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d.pop("abc1")')


[?25l:[?12l[?25hem('d.popitem()')


[?25l:[?12l[?25hdel em


[?25l:[?12l[?25hdel m


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =messages


[?25l:[?12l[?25h:unlet messages


[?25l:[?12l[?25h:" locked and scope attributes


[?25l:[?12l[?25h:let d={} | let dl={} | lockvar dl


[?25l:[?12l[?25h:for s in split("d dl v: g:")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e


val(name.".".v:val)'), ';')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! let d.abc2=1


[?25l:[?12l[?25h:silent! let dl.abc3=1


[?25l:[?12l[?25h:py3 d.locked=True


[?25l:[?12l[?25h:py3 dl.locked=False


[?25l:[?12l[?25h:silent! let d.def=1


[?25l:[?12l[?25h:silent! let dl.def=1


[?25l:[?12l[?25h:put ='d:'.string(d)


[?25l:[?12l[?25h:put ='dl:'.string(dl)


[?25l:[?12l[?25h:unlet d dl


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:let l=[] | let ll=[] | lockvar ll


[?25l:[?12l[?25h:for s in split("l ll")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : locked:'.py3eval(name.'.locked')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! call extend(l, [0])


[?25l:[?12l[?25h:silent! call extend(ll, [0])


[?25l:[?12l[?25h:py3 l.locked=True


[?25l:[?12l[?25h:py3 ll.locked=False


[?25l:[?12l[?25h:silent! call extend(l, [1])


[?25l:[?12l[?25h:silent! call extend(ll, [1])


[?25l:[?12l[?25h:put ='l:'.string(l)


[?25l:[?12l[?25h:put ='ll:'.string(ll)


[?25l:[?12l[?25h:unlet l ll


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" py3eval()


[?25l:[?12l[?25h:let l=py3eval('[0, 1, 2]')


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')


[?25l:[?12l[?25h:$put =sort(items(d))


[?25l:[?12l[?25h:let v:errmsg = ''


[?25l:[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let f=py3eval('0.0')


[?25l:[?12l[?25h:   $put =string(f)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='0.0'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:" Invalid values:


[?25l:[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']


[?25l:[?12l[?25h:   try


[?25l:[?12l[?25h:      let v=py3eval(e)


[?25l:[?12l[?25h:   catch


[?25l:[?12l[?25h:      let toput=e.":\t".v:exception[:13]


[?25l:[?12l[?25h:      $put =toput


[?25l:[?12l[?25h:   endtry


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" threading


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport threading


[?25l:[?12l[?25himport time


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass T(threading.Thread):


[?25l:[?12l[?25h    def __init__(self):


[?25l:[?12l[?25h        threading.Thread.__init__(self)


[?25l:[?12l[?25h        self.t = 0


[?25l:[?12l[?25h        self.running = True


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def run(self):


[?25l:[?12l[?25h        while self.running:


[?25l:[?12l[?25h            self.t += 1


[?25l:[?12l[?25h            time.sleep(0.1)


[?25l:[?12l[?25h


[?25l:[?12l[?25ht = T()


[?25l:[?12l[?25hdel T


[?25l:[?12l[?25ht.start()


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:sleep 1


[?25l:[?12l[?25h:py3 t.running = False


[?25l:[?12l[?25h:py3 t.join()


[?25l:[?12l[?25h:" Check if the background thread is working.  Count should be 10, but


on a


[?25l:[?12l[?25h:" busy system (AppVeyor) it can be much lower.


[?25l:[?12l[?25h:py3 l[0] = t.t > 4


[?25l:[?12l[?25h:py3 del time


[?25l:[?12l[?25h:py3 del threading


[?25l:[?12l[?25h:py3 del t


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" settrace


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef traceit(frame, event, arg):


[?25l:[?12l[?25h    global l


[?25l:[?12l[?25h    if event == "line":


[?25l:[?12l[?25h        l += [frame.f_lineno]


[?25l:[?12l[?25h    return traceit


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef trace_main():


[?25l:[?12l[?25h    for i in range(5):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:py3 sys.settrace(traceit)


[?25l:[?12l[?25h:py3 trace_main()


[?25l:[?12l[?25h:py3 sys.settrace(None)


[?25l:[?12l[?25h:py3 del traceit


[?25l:[?12l[?25h:py3 del trace_main


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Slice


[?25l:[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')


[?25l:[?12l[?25h:py3 l = ll[:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-4:-2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[0:6]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-10:10]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:-1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[::2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 del l


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Vars


[?25l:[?12l[?25h:let g:foo = 'bac'


[?25l:[?12l[?25h:let w:abc3 = 'def'


[?25l:[?12l[?25h:let b:baz = 'bar'


[?25l:[?12l[?25h:let t:bar = 'jkl'


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  throw "Abc"


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  put =py3eval('vim.vvars[''exception'']')


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:put =py3eval('vim.vars[''foo'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Options


[?25l:[?12l[?25h:" paste:          boolean, global


[?25l:[?12l[?25h:" previewheight   number,  global


[?25l:[?12l[?25h:" operatorfunc:   string,  global


[?25l:[?12l[?25h:" number:         boolean, window-local


[?25l:[?12l[?25h:" numberwidth:    number,  window-local


[?25l:[?12l[?25h:" colorcolumn:    string,  window-local


[?25l:[?12l[?25h:" statusline:     string,  window-local/global


[?25l:[?12l[?25h:" autoindent:     boolean, buffer-local


[?25l:[?12l[?25h:" shiftwidth:     number,  buffer-local


[?25l:[?12l[?25h:" omnifunc:       string,  buffer-local


[?25l:[?12l[?25h:" preserveindent: boolean, buffer-local/global


[?25l:[?12l[?25h:" path:           string,  buffer-local/global


[?25l:[?12l[?25h:let g:bufs=[bufnr('%')]


[?25l:[?12l[?25h:new


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd j


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd l


[?25l:[?12l[?25h:fun RecVars(opt)


[?25l:[?12l[?25h:  let gval =string(eval('&g:'.a:opt))


[?25l:[?12l[?25h:  let wvals=join(map(range(1, 4),  'v:val.":".string(getwinvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  put ='  G: '.gval


[?25l:[?12l[?25h:  put ='  W: '.wvals


[?25l:[?12l[?25h:  put ='  B: '.wvals


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef e(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('return ' + repr(e.__class__.__name__))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef ev(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        return eval(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('let exc=' + repr(e.__class__.__name__))


[?25l:[?12l[?25h        return 0


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:fun E(s)


[?25l:[?12l[?25h:   python3 e(vim.eval('a:s'))


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun Ev(s)


[?25l:[?12l[?25h:   let r=py3eval('ev(vim.eval("a:s"))')


[?25l:[?12l[?25h:   if exists('exc')


[?25l:[?12l[?25h:       throw exc


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   return r


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:py3 gopts1=vim.options


[?25l:[?12l[?25h:py3 wopts1=vim.windows[2].options


[?25l:[?12l[?25h:py3 wopts2=vim.windows[0].options


[?25l:[?12l[?25h:py3 wopts3=vim.windows[1].options


[?25l:[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options


[?25l:[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options


[?25l:[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options


[?25l:[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts


2)')


[?25l:[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts


2)')


[?25l:[?12l[?25h:py3 gset=set(iter(gopts1))


[?25l:[?12l[?25h:py3 wset=set(iter(wopts1))


[?25l:[?12l[?25h:py3 bset=set(iter(bopts1))


[?25l:[?12l[?25h:set path=.,..,,


[?25l:[?12l[?25h:let lst=[]


[?25l:[?12l[?25h:let lst+=[['paste',          1,     0,     1,     2,      1,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['previewheight',  5,     1,     6,     'a',    0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['operatorfunc',   'A',   'B',   'C',   2,      0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['number',         0,     1,     1,     0,      1,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['numberwidth',    2,     3,     5,     -100,   0,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc4',  0,  


 0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['statusline',     '1',   '2',   '4',   0,      0,   


1,      1    ]]


[?25l:[?12l[?25h:let lst+=[['autoindent',     0,     1,     1,     2,      1,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['shiftwidth',     0,     2,     1,     3,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['preserveindent', 0,     1,     1,     2,      1,   


1,      2    ]]


[?25l:[?12l[?25h:let lst+=[['path',           '.,,', ',,',  '.',   0,      0,   


1,      2    ]]


[?25l:[?12l[?25h:for       [oname,            oval1, oval2, oval3, invval, bool,


global, local] in lst


[?25l:[?12l[?25h:   py3 oname=vim.eval('oname')


[?25l:[?12l[?25h:   py3 oval1=vim.bindeval('oval1')


[?25l:[?12l[?25h:   py3 oval2=vim.bindeval('oval2')


[?25l:[?12l[?25h:   py3 oval3=vim.bindeval('oval3')


[?25l:[?12l[?25h:   if invval is 0 || invval is 1


[?25l:[?12l[?25h:       py3 invval=bool(vim.bindeval('invval'))


[?25l:[?12l[?25h:   else


[?25l:[?12l[?25h:       py3 invval=vim.bindeval('invval')


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   if bool


[?25l:[?12l[?25h:       py3 oval1=bool(oval1)


[?25l:[?12l[?25h:       py3 oval2=bool(oval2)


[?25l:[?12l[?25h:       py3 oval3=bool(oval3)


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   put ='>>> '.oname


[?25l:[?12l[?25h:   $put ='  g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona


me in wset').'/'.py3eval('oname in bset')


[?25l:[?12l[?25h:   $put ='  g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev


al('oname in wopts1').'/'.py3eval('oname in bopts1')


[?25l:[?12l[?25h:   for v in ['gopts1', 'wopts1', 'bopts1']


[?25l:[?12l[?25h:       try


[?25l:[?12l[?25h:           put ='  p/'.v.': '.Ev('repr('.v.'['''.oname.''


'])')


[?25l:[?12l[?25h:       catch


[?25l:[?12l[?25h:           put ='  p/'.v.'! '.v:exception


[?25l:[?12l[?25h:       endtry


[?25l:[?12l[?25h:       let r=E(v.'['''.oname.''']=invval')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  inv: '.string(invval).'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:       for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[


:-2].'3'])


[?25l:[?12l[?25h:           let val=substitute(vv, '^.opts', 'oval', '')


[?25l:[?12l[?25h:           let r=E(vv.'['''.oname.''']='.val)


[?25l:[?12l[?25h:           if r isnot 0


[?25l:[?12l[?25h:               put ='  '.vv.'! '.r


[?25l:[?12l[?25h:           endif


[?25l:[?12l[?25h:       endfor


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:   for v in ['wopts3', 'bopts3']


[?25l:[?12l[?25h:       let r=E('del '.v.'["'.oname.'"]')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  del '.v.'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:delfunction RecVars


[?25l:[?12l[?25h:delfunction E


[?25l:[?12l[?25h:delfunction Ev


[?25l:[?12l[?25h:py3 del ev


[?25l:[?12l[?25h:py3 del e


[?25l:[?12l[?25h:only


[?25l:[?12l[?25h:for buf in g:bufs[1:]


[?25l:[?12l[?25h:   execute 'bwipeout!' buf


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:py3 del gopts1


[?25l:[?12l[?25h:py3 del wopts1


[?25l:[?12l[?25h:py3 del wopts2


[?25l:[?12l[?25h:py3 del wopts3


[?25l:[?12l[?25h:py3 del bopts1


[?25l:[?12l[?25h:py3 del bopts2


[?25l:[?12l[?25h:py3 del bopts3


[?25l:[?12l[?25h:py3 del oval1


[?25l:[?12l[?25h:py3 del oval2


[?25l:[?12l[?25h:py3 del oval3


[?25l:[?12l[?25h:py3 del oname


[?25l:[?12l[?25h:py3 del invval


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test buffer object


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:put ='First line'


[?25l:[?12l[?25h:put ='Second line'


[?25l:[?12l[?25h:put ='Third line'


[?25l:[?12l[?25h:1 delete _


[?25l:[?12l[?25h:py3 b=vim.current.buffer


[?25l:[?12l[?25h:wincmd w


[?25l:[?12l[?25h:mark a


[?25l:[?12l[?25h:augroup BUFS


[?25l:[?12l[?25h:   autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a


buf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:   autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab


uf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:augroup END


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Tests BufferAppend and BufferItem


[?25l:[?12l[?25hcb.append(b[0])


[?25l:[?12l[?25h# Tests BufferSlice and BufferAssSlice


[?25l:[?12l[?25hcb.append('abc5') # Will be overwritten


[?25l:[?12l[?25hcb[-1:] = b[:-2]


[?25l:[?12l[?25h# Test BufferLength and BufferAssSlice


[?25l:[?12l[?25hcb.append('def') # Will not be overwritten


[?25l:[?12l[?25hcb[len(cb):] = b[:]


[?25l:[?12l[?25h# Test BufferAssItem and BufferMark


[?25l:[?12l[?25hcb.append('ghi') # Will be overwritten


[?25l:[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))


[?25l:[?12l[?25h# Test BufferRepr


[?25l:[?12l[?25hcb.append(repr(cb) + repr(b))


[?25l:[?12l[?25h# Modify foreign buffer


[?25l:[?12l[?25hb.append('foo')


[?25l:[?12l[?25hb[0]='bar'


[?25l:[?12l[?25hb[0:0]=['baz']


[?25l:[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe


r)

[?25l:[?12l[?25h# Test assigning to name property


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hold_name = cb.name


[?25l:[?12l[?25hcb.name = 'foo'


[?25l:[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hb.name = 'bar'


[?25l:[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hcb.name = old_name


[?25l:[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel old_name


[?25l:[?12l[?25h# Test CheckBuffer


[?25l:[?12l[?25hfor _b in vim.buffers:


[?25l:[?12l[?25h    if _b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(_b.number))


[?25l:[?12l[?25hdel _b


[?25l:[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))


)

[?25l:[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")


'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr)


[?25l:[?12l[?25h    except vim.error:


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        # Usually a SEGV here


[?25l:[?12l[?25h        # Should not happen in any case


[?25l:[?12l[?25h        cb.append('No exception for ' + expr)


[?25l:[?12l[?25hvim.command('cd .')


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.buffers object


[?25l:[?12l[?25h:set hidden


[?25l:[?12l[?25h:edit a


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit b


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit c


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Check GCing iterator that was not fully exhausted


[?25l:[?12l[?25hi = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# and also check creating more than one iterator at a time


[?25l:[?12l[?25hi2 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i2:' + str(next(i2)))


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# The following should trigger GC and not cause any problems


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hdel i2


[?25l:[?12l[?25hi3 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i3:' + str(next(i3)))


[?25l:[?12l[?25hdel i3


[?25l:[?12l[?25h


[?25l:[?12l[?25hprevnum = 0


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    # Check buffer order


[?25l:[?12l[?25h    if prevnum >= b.number:


[?25l:[?12l[?25h        cb.append('!!! Buffer numbers not in strictly ascending 


order')


[?25l:[?12l[?25h    # Check indexing: vim.buffers[number].number == number


[?25l:[?12l[?25h    cb.append(str(b.number) + ':' + repr(vim.buffers[b.number]) 


+ '=' + repr(b))


[?25l:[?12l[?25h    prevnum = b.number


[?25l:[?12l[?25hdel prevnum


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append(str(len(vim.buffers)))


[?25l:[?12l[?25h


[?25l:[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Test wiping out buffer with existing iterator


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept vim.error:


[?25l:[?12l[?25h    pass


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h    cb.append('!!!! No vim.error')


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept StopIteration:


[?25l:[?12l[?25h    cb.append('StopIteration')


[?25l:[?12l[?25hdel i4


[?25l:[?12l[?25hdel bnums


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object


s

[?25l:[?12l[?25h:tabnew 0


[?25l:[?12l[?25h:tabnew 1


[?25l:[?12l[?25h:vnew a.1


[?25l:[?12l[?25h:tabnew 2


[?25l:[?12l[?25h:vnew a.2


[?25l:[?12l[?25h:vnew b.2


[?25l:[?12l[?25h:vnew c.2


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))


[?25l:[?12l[?25hcb.append('Current tab pages:')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef W(w):


[?25l:[?12l[?25h    if '(unknown)' in repr(w):


[?25l:[?12l[?25h        return '<window object (unknown)>'


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef Cursor(w, start=len(cb)):


[?25l:[?12l[?25h    if w.buffer is cb:


[?25l:[?12l[?25h        return repr((start - w.cursor[0], w.cursor[1]))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w.cursor)


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor t in vim.tabpages:


[?25l:[?12l[?25h    cb.append('  ' + repr(t) + '(' + str(t.number) + ')' + ': ' 


+ str(len(t.windows)) + ' windows, current is ' + W(t.window))


[?25l:[?12l[?25h    cb.append('  Windows:')


[?25l:[?12l[?25h    for w in t.windows:


[?25l:[?12l[?25h        cb.append('    ' + W(w) + '(' + str(w.number) + ')' + ':


displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))


[?25l:[?12l[?25h        # Other values depend on the size of the terminal, so th


ey are checked partly:


[?25l:[?12l[?25h        for attr in ('height', 'row', 'width', 'col'):


[?25l:[?12l[?25h            try:


[?25l:[?12l[?25h                aval = getattr(w, attr)


[?25l:[?12l[?25h                if type(aval) is not int:


[?25l:[?12l[?25h                    raise TypeError


[?25l:[?12l[?25h                if aval < 0:


[?25l:[?12l[?25h                    raise ValueError


[?25l:[?12l[?25h            except Exception as e:


[?25l:[?12l[?25h                cb.append('!!!!!! Error while getting attribute 


' + attr + ': ' + e.__class__.__name__)


[?25l:[?12l[?25h        del aval


[?25l:[?12l[?25h        del attr


[?25l:[?12l[?25h        w.cursor = (len(w.buffer), 0)


[?25l:[?12l[?25hdel W


[?25l:[?12l[?25hdel Cursor


[?25l:[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi


m.windows)))


[?25l:[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):


[?25l:[?12l[?25h    cb.append('!!!!!! Windows differ')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.current


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef H(o):


[?25l:[?12l[?25h    return repr(o)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +


H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +


H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c


urrent.tabpage.window.buffer))


[?25l:[?12l[?25hdel H


[?25l:[?12l[?25h# Assigning: fails


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    vim.current.window = vim.tabpages[0].window


[?25l:[?12l[?25hexcept ValueError:


[?25l:[?12l[?25h    cb.append('ValueError at assigning foreign tab window')


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        setattr(vim.current, attr, None)


[?25l:[?12l[?25h    except TypeError:


[?25l:[?12l[?25h        cb.append('Type error at assigning None to vim.current.'


+ attr)


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Assigning: success


[?25l:[?12l[?25hvim.current.tabpage = vim.tabpages[-2]


[?25l:[?12l[?25hvim.current.buffer = cb


[?25l:[?12l[?25hvim.current.window = vim.windows[0]


[?25l:[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))


[?25l:[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))


[?25l:[?12l[?25hws = list(vim.windows)


[?25l:[?12l[?25hts = list(vim.tabpages)


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    if b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(b.number))


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))


[?25l:[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))


[?25l:[?12l[?25hdel w


[?25l:[?12l[?25hdel t


[?25l:[?12l[?25hdel ts


[?25l:[?12l[?25hdel ws


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:tabonly!


[?25l:[?12l[?25h:only!


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test types


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor expr, attr in (


[?25l:[?12l[?25h    ('vim.vars',                         'Dictionary'),


[?25l:[?12l[?25h    ('vim.options',                      'Options'),


[?25l:[?12l[?25h    ('vim.bindeval("{}")',               'Dictionary'),


[?25l:[?12l[?25h    ('vim.bindeval("[]")',               'List'),


[?25l:[?12l[?25h    ('vim.bindeval("function(\'tr\')")', 'Function'),


[?25l:[?12l[?25h    ('vim.current.buffer',               'Buffer'),


[?25l:[?12l[?25h    ('vim.current.range',                'Range'),


[?25l:[?12l[?25h    ('vim.current.window',               'Window'),


[?25l:[?12l[?25h    ('vim.current.tabpage',              'TabPage'),


[?25l:[?12l[?25h):


[?25l:[?12l[?25h    cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is


getattr(vim, attr)))


[?25l:[?12l[?25hdel expr


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test __dir__() method


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor name, o in (


[?25l:[?12l[?25h        ('current',    vim.current),


[?25l:[?12l[?25h        ('buffer',     vim.current.buffer),


[?25l:[?12l[?25h        ('window',     vim.current.window),


[?25l:[?12l[?25h        ('tabpage',    vim.current.tabpage),


[?25l:[?12l[?25h        ('range',      vim.current.range),


[?25l:[?12l[?25h        ('dictionary', vim.bindeval('{}')),


[?25l:[?12l[?25h        ('list',       vim.bindeval('[]')),


[?25l:[?12l[?25h        ('function',   vim.bindeval('function("tr")')),


[?25l:[?12l[?25h        ('output',     sys.stdout),


[?25l:[?12l[?25h    ):


[?25l:[?12l[?25h    cb.append(name + ':' + ','.join(dir(o)))


[?25l:[?12l[?25hdel name


[?25l:[?12l[?25hdel o


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.*.__new__


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List()'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={})'))


[?25l:[?12l[?25h:$put ='auto_rebind'


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')


)

[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au


to_rebind=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={}, auto_rebind=False)'))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.Function


[?25l:[?12l[?25h:function Args(...)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:function SelfArgs(...) dict


[?25l:[?12l[?25h:   return [a:000, self]


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:" The following four lines should not crash


[?25l:[?12l[?25h:let Pt = function('tr', [[]], {'l': []})


[?25l:[?12l[?25h:py3 Pt = vim.bindeval('Pt')


[?25l:[?12l[?25h:unlet Pt


[?25l:[?12l[?25h:py3 del Pt


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):


[?25l:[?12l[?25h    line = out_prefix + ': '


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        ret = func(*args, **kwargs)


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        line += '!exception: ' + emsg(sys.exc_info())


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        line += '!result: ' + str(vim.Function('string')(ret


), 'utf-8')


[?25l:[?12l[?25h    cb.append(line)


[?25l:[?12l[?25ha = vim.Function('Args')


[?25l:[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])


[?25l:[?12l[?25hpa2 = vim.Function('Args', args=[])


[?25l:[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe


lfPA3': 'abcSelfPA3Val'})


[?25l:[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va


l'})


[?25l:[?12l[?25hcb.append('a: ' + repr(a))


[?25l:[?12l[?25hcb.append('pa1: ' + repr(pa1))


[?25l:[?12l[?25hcb.append('pa2: ' + repr(pa2))


[?25l:[?12l[?25hcb.append('pa3: ' + repr(pa3))


[?25l:[?12l[?25hcb.append('pa4: ' + repr(pa4))


[?25l:[?12l[?25hsa = vim.Function('SelfArgs')


[?25l:[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])


[?25l:[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])


[?25l:[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={


'abcSelfPSA3': 'abcSelfPSA3Val'})


[?25l:[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel


fPSA4Val'})


[?25l:[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel


fPSA5Val'}, auto_rebind=0)


[?25l:[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={


'abcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())


[?25l:[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r


ebind=[])


[?25l:[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)


[?25l:[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel


fPSA9Val'}, auto_rebind=True)


[?25l:[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={


'abcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)


[?25l:[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r


ebind={'abcARPSAB': 'abcARPSABVal'})


[?25l:[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])


[?25l:[?12l[?25hcb.append('sa: ' + repr(sa))


[?25l:[?12l[?25hcb.append('psa1: ' + repr(psa1))


[?25l:[?12l[?25hcb.append('psa2: ' + repr(psa2))


[?25l:[?12l[?25hcb.append('psa3: ' + repr(psa3))


[?25l:[?12l[?25hcb.append('psa4: ' + repr(psa4))


[?25l:[?12l[?25hcb.append('psa5: ' + repr(psa5))


[?25l:[?12l[?25hcb.append('psa6: ' + repr(psa6))


[?25l:[?12l[?25hcb.append('psa7: ' + repr(psa7))


[?25l:[?12l[?25hcb.append('psa8: ' + repr(psa8))


[?25l:[?12l[?25hcb.append('psa9: ' + repr(psa9))


[?25l:[?12l[?25hcb.append('psaA: ' + repr(psaA))


[?25l:[?12l[?25hcb.append('psaB: ' + repr(psaB))


[?25l:[?12l[?25hcb.append('psaC: ' + repr(psaC))


[?25l:[?12l[?25h


[?25l:[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr


gsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})


[?25l:[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]


[?25l:[?12l[?25hpsar.self['rec'] = psar


[?25l:[?12l[?25hpsar.self['self'] = psar.self


[?25l:[?12l[?25hpsar.self['args'] = psar.args


[?25l:[?12l[?25h


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    cb.append('psar: ' + repr(psar))


[?25l:[?12l[?25hexcept Exception:


[?25l:[?12l[?25h    cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i


nfo()))


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put ='s(a): '.string(py3eval('a'))


[?25l:[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))


[?25l:[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))


[?25l:[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))


[?25l:[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))


[?25l:[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))


[?25l:[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))


[?25l:[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))


[?25l:[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))


[?25l:[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))


[?25l:[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))


[?25l:[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))


[?25l:[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))


[?25l:[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))


[?25l:[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))


[?25l:[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))


[?25l:[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))


[?25l:[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps


a6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']


[?25l:[?12l[?25h:   let d = {'f': py3eval(v)}


[?25l:[?12l[?25h:   $put ='d.'.v.'(): '.string(d.f())


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a()', a, )


[?25l:[?12l[?25h:py3 ecall('pa1()', pa1, )


[?25l:[?12l[?25h:py3 ecall('pa2()', pa2, )


[?25l:[?12l[?25h:py3 ecall('pa3()', pa3, )


[?25l:[?12l[?25h:py3 ecall('pa4()', pa4, )


[?25l:[?12l[?25h:py3 ecall('sa()', sa, )


[?25l:[?12l[?25h:py3 ecall('psa1()', psa1, )


[?25l:[?12l[?25h:py3 ecall('psa2()', psa2, )


[?25l:[?12l[?25h:py3 ecall('psa3()', psa3, )


[?25l:[?12l[?25h:py3 ecall('psa4()', psa4, )


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)


[?25l:[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':


1})


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef s(v):


[?25l:[?12l[?25h    if v is None:


[?25l:[?12l[?25h        return repr(v)


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return str(vim.Function('string')(v), 'utf-8')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.args: ' + s(a.args))


[?25l:[?12l[?25hcb.append('pa1.args: ' + s(pa1.args))


[?25l:[?12l[?25hcb.append('pa2.args: ' + s(pa2.args))


[?25l:[?12l[?25hcb.append('pa3.args: ' + s(pa3.args))


[?25l:[?12l[?25hcb.append('pa4.args: ' + s(pa4.args))


[?25l:[?12l[?25hcb.append('sa.args: ' + s(sa.args))


[?25l:[?12l[?25hcb.append('psa1.args: ' + s(psa1.args))


[?25l:[?12l[?25hcb.append('psa2.args: ' + s(psa2.args))


[?25l:[?12l[?25hcb.append('psa3.args: ' + s(psa3.args))


[?25l:[?12l[?25hcb.append('psa4.args: ' + s(psa4.args))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.self: ' + s(a.self))


[?25l:[?12l[?25hcb.append('pa1.self: ' + s(pa1.self))


[?25l:[?12l[?25hcb.append('pa2.self: ' + s(pa2.self))


[?25l:[?12l[?25hcb.append('pa3.self: ' + s(pa3.self))


[?25l:[?12l[?25hcb.append('pa4.self: ' + s(pa4.self))


[?25l:[?12l[?25hcb.append('sa.self: ' + s(sa.self))


[?25l:[?12l[?25hcb.append('psa1.self: ' + s(psa1.self))


[?25l:[?12l[?25hcb.append('psa2.self: ' + s(psa2.self))


[?25l:[?12l[?25hcb.append('psa3.self: ' + s(psa3.self))


[?25l:[?12l[?25hcb.append('psa4.self: ' + s(psa4.self))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.name: ' + s(a.name))


[?25l:[?12l[?25hcb.append('pa1.name: ' + s(pa1.name))


[?25l:[?12l[?25hcb.append('pa2.name: ' + s(pa2.name))


[?25l:[?12l[?25hcb.append('pa3.name: ' + s(pa3.name))


[?25l:[?12l[?25hcb.append('pa4.name: ' + s(pa4.name))


[?25l:[?12l[?25hcb.append('sa.name: ' + s(sa.name))


[?25l:[?12l[?25hcb.append('psa1.name: ' + s(psa1.name))


[?25l:[?12l[?25hcb.append('psa2.name: ' + s(psa2.name))


[?25l:[?12l[?25hcb.append('psa3.name: ' + s(psa3.name))


[?25l:[?12l[?25hcb.append('psa4.name: ' + s(psa4.name))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.auto_rebind: ' + s(a.auto_rebind))


[?25l:[?12l[?25hcb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind))


[?25l:[?12l[?25hcb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind))


[?25l:[?12l[?25hcb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind))


[?25l:[?12l[?25hcb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind))


[?25l:[?12l[?25hcb.append('sa.auto_rebind: ' + s(sa.auto_rebind))


[?25l:[?12l[?25hcb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind))


[?25l:[?12l[?25hcb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind))


[?25l:[?12l[?25hcb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind))


[?25l:[?12l[?25hcb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind))


[?25l:[?12l[?25hcb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind))


[?25l:[?12l[?25hcb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind))


[?25l:[?12l[?25hcb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind))


[?25l:[?12l[?25hcb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind))


[?25l:[?12l[?25hcb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind))


[?25l:[?12l[?25hcb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind))


[?25l:[?12l[?25hcb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind))


[?25l:[?12l[?25hcb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel s


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel a


[?25l:[?12l[?25hdel pa1


[?25l:[?12l[?25hdel pa2


[?25l:[?12l[?25hdel pa3


[?25l:[?12l[?25hdel pa4


[?25l:[?12l[?25hdel sa


[?25l:[?12l[?25hdel psa1


[?25l:[?12l[?25hdel psa2


[?25l:[?12l[?25hdel psa3


[?25l:[?12l[?25hdel psa4


[?25l:[?12l[?25hdel psa5


[?25l:[?12l[?25hdel psa6


[?25l:[?12l[?25hdel psa7


[?25l:[?12l[?25hdel psa8


[?25l:[?12l[?25hdel psa9


[?25l:[?12l[?25hdel psaA


[?25l:[?12l[?25hdel psaB


[?25l:[?12l[?25hdel psaC


[?25l:[?12l[?25hdel psar


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel ecall


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test stdout/stderr


[?25l:[?12l[?25h:redir => messages


[?25l:[?12l[?25h:py3 sys.stdout.write('abc8') ; sys.stdout.write('def')


[?25l:[?12l[?25h:py3 sys.stderr.write('abc9') ; sys.stderr.write('def')


[?25l:[?12l[?25h:py3 sys.stdout.writelines(iter('abcA'))


[?25l:[?12l[?25h:py3 sys.stderr.writelines(iter('abcB'))


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:$put =string(substitute(messages, '\d\+', '', 'g'))


[?25l:[?12l[?25h:" Test subclassing


[?25l:[?12l[?25h:fun Put(...)


[?25l:[?12l[?25h:   $put =string(a:000)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hclass DupDict(vim.Dictionary):


[?25l:[?12l[?25h    def __setitem__(self, key, value):


[?25l:[?12l[?25h        super(DupDict, self).__setitem__(key, value)


[?25l:[?12l[?25h        super(DupDict, self).__setitem__('dup_' + key, val


ue)


[?25l:[?12l[?25hdd = DupDict()


[?25l:[?12l[?25hdd['a'] = 'b'


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupList(vim.List):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        return [super(DupList, self).__getitem__(idx)] * 2


[?25l:[?12l[?25h


[?25l:[?12l[?25hdl = DupList()


[?25l:[?12l[?25hdl2 = DupList(iter('abcC'))


[?25l:[?12l[?25hdl.extend(dl2[0])


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupFun(vim.Function):


[?25l:[?12l[?25h    def __call__(self, arg):


[?25l:[?12l[?25h        return super(DupFun, self).__call__(arg, arg)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdf = DupFun('Put')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =string(sort(keys(py3eval('dd'))))


[?25l:[?12l[?25h:$put =string(py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dl2'))


[?25l:[?12l[?25h:$put =string(py3eval('df(2)'))


[?25l:[?12l[?25h:$put =string(py3eval('dl') is# py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dd') is# py3eval('dd'))


[?25l:[?12l[?25h:$put =string(py3eval('df'))


[?25l:[?12l[?25h:delfunction Put


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel DupDict


[?25l:[?12l[?25hdel DupList


[?25l:[?12l[?25hdel DupFun


[?25l:[?12l[?25hdel dd


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel dl2


[?25l:[?12l[?25hdel df


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test chdir


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hfnamemodify = vim.Function('fnamemodify')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hos.chdir('..')


[?25l:[?12l[?25hpath = fnamemodify('.', ':p:h:t')


[?25l:[?12l[?25hif path != b'src':


[?25l:[?12l[?25h  # Running tests from a shadow directory, so move up anot


her level


[?25l:[?12l[?25h  # This will result in @% looking like shadow/testdir/tes


t87.in, hence the


[?25l:[?12l[?25h  # slicing to remove the leading path and path separator


[?25l:[?12l[?25h  os.chdir('..')


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.s


ep, '/'))


[?25l:[?12l[?25h  os.chdir(path)


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%').replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel path


[?25l:[?12l[?25hos.chdir('testdir')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hdel fnamemodify


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test errors


[?25l:[?12l[?25h:fun F() dict


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun D()


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hd = vim.Dictionary()


[?25l:[?12l[?25hned = vim.Dictionary(foo='bar', baz='abcD')


[?25l:[?12l[?25hdl = vim.Dictionary(a=1)


[?25l:[?12l[?25hdl.locked = True


[?25l:[?12l[?25hl = vim.List()


[?25l:[?12l[?25hll = vim.List('abcE')


[?25l:[?12l[?25hll.locked = True


[?25l:[?12l[?25hnel = vim.List('abcO')


[?25l:[?12l[?25hf = vim.Function('string')


[?25l:[?12l[?25hfd = vim.Function('F')


[?25l:[?12l[?25hfdel = vim.Function('D')


[?25l:[?12l[?25hvim.command('delfunction D')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef subexpr_test(expr, name, subexprs):


[?25l:[?12l[?25h    cb.append('>>> Testing %s using %s' % (name, expr)


)

[?25l:[?12l[?25h    for subexpr in subexprs:


[?25l:[?12l[?25h        ee(expr % subexpr)


[?25l:[?12l[?25h    cb.append('<<< Finished')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef stringtochars_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, 'StringToChars', (


[?25l:[?12l[?25h        '1',       # Fail type checks


[?25l:[?12l[?25h        'b"\\0"',  # Fail PyString_AsStringAndSize(obj


ect, , NULL) check


[?25l:[?12l[?25h        '"\\0"',   # Fail PyString_AsStringAndSize(byt


es, , NULL) check


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass Mapping(object):


[?25l:[?12l[?25h    def __init__(self, d):


[?25l:[?12l[?25h        self.d = d


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __getitem__(self, key):


[?25l:[?12l[?25h        return self.d[key]


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return self.d.keys()


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def items(self):


[?25l:[?12l[?25h        return self.d.items()


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompyobject_test(expr, recurse=True):


[?25l:[?12l[?25h    # pydict_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % '{%s : 1}')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % '{"abcF" : %s}


', False)


[?25l:[?12l[?25h    # pymap_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % 'Mapping({%s : 1})')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % 'Mapping({"abc


G" : %s})', False)


[?25l:[?12l[?25h    # pyseq_to_tv


[?25l:[?12l[?25h    iter_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyObject', (


[?25l:[?12l[?25h        'None',                 # Not conversible


[?25l:[?12l[?25h        '{b"": 1}',             # Empty key not allowe


d

[?25l:[?12l[?25h        '{"": 1}',              # Same, but with unico


de object


[?25l:[?12l[?25h        'FailingMapping()',     #


[?25l:[?12l[?25h        'FailingMappingKey()',  #


[?25l:[?12l[?25h        'FailingNumber()',      #


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompymapping_test(expr):


[?25l:[?12l[?25h    convertfrompyobject_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyMapping', 


(

[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef iter_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, '*Iter*', (


[?25l:[?12l[?25h        'FailingIter()',


[?25l:[?12l[?25h        'FailingIterNext()',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef number_test(expr, natural=False, unsigned=False):


[?25l:[?12l[?25h    if natural:


[?25l:[?12l[?25h        unsigned = True


[?25l:[?12l[?25h    return subexpr_test(expr, 'NumberToLong', (


[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h        'None',


[?25l:[?12l[?25h    ) + (('-1',) if unsigned else ())


[?25l:[?12l[?25h    + (('0',) if natural else ()))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingTrue(object):


[?25l:[?12l[?25h    def __bool__(self):


[?25l:[?12l[?25h        raise NotImplementedError('bool')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIter(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        raise NotImplementedError('iter')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNext(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        raise NotImplementedError('next')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNextN(object):


[?25l:[?12l[?25h    def __init__(self, n):


[?25l:[?12l[?25h        self.n = n


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        if self.n:


[?25l:[?12l[?25h            self.n -= 1


[?25l:[?12l[?25h            return 1


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            raise NotImplementedError('next N')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMappingKey(object):


[?25l:[?12l[?25h    def __getitem__(self, item):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mappingkey'


)

[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return list("abcH")


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMapping(object):


[?25l:[?12l[?25h    def __getitem__(self):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mapping')


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        raise NotImplementedError('keys')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingList(list):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        if i == 2:


[?25l:[?12l[?25h            raise NotImplementedError('getitem:list')


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            return super(FailingList, self).__getitem_


_(idx)


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass NoArgsCall(object):


[?25l:[?12l[?25h    def __call__(self):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingCall(object):


[?25l:[?12l[?25h    def __call__(self, path):


[?25l:[?12l[?25h        raise NotImplementedError('call')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingNumber(object):


[?25l:[?12l[?25h    def __int__(self):


[?25l:[?12l[?25h        raise NotImplementedError('int')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append("> Output")


[?25l:[?12l[?25hcb.append(">> OutputSetattr")


[?25l:[?12l[?25hee('del sys.stdout.softspace')


[?25l:[?12l[?25hnumber_test('sys.stdout.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hnumber_test('sys.stderr.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hee('assert sys.stdout.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stdout.seekable()==False')


[?25l:[?12l[?25hee('sys.stdout.close()')


[?25l:[?12l[?25hee('sys.stdout.flush()')


[?25l:[?12l[?25hee('assert sys.stderr.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stderr.seekable()==False')


[?25l:[?12l[?25hee('sys.stderr.close()')


[?25l:[?12l[?25hee('sys.stderr.flush()')


[?25l:[?12l[?25hee('sys.stdout.attr = None')


[?25l:[?12l[?25hcb.append(">> OutputWrite")


[?25l:[?12l[?25hee('assert sys.stdout.writable()==True')


[?25l:[?12l[?25hee('assert sys.stdout.readable()==False')


[?25l:[?12l[?25hee('assert sys.stderr.writable()==True')


[?25l:[?12l[?25hee('assert sys.stderr.readable()==False')


[?25l:[?12l[?25hee('assert sys.stdout.closed()==False')


[?25l:[?12l[?25hee('assert sys.stderr.closed()==False')


[?25l:[?12l[?25hee('assert sys.stdout.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stderr.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stdout.encoding==sys.stderr.encoding')


[?25l:[?12l[?25hee('sys.stdout.write(None)')


[?25l:[?12l[?25hcb.append(">> OutputWriteLines")


[?25l:[?12l[?25hee('sys.stdout.writelines(None)')


[?25l:[?12l[?25hee('sys.stdout.writelines([1])')


[?25l:[?12l[?25hiter_test('sys.stdout.writelines(%s)')


[?25l:[?12l[?25hcb.append("> VimCommand")


[?25l:[?12l[?25hstringtochars_test('vim.command(%s)')


[?25l:[?12l[?25hee('vim.command("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimToPython")


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEval")


[?25l:[?12l[?25hstringtochars_test('vim.eval(%s)')


[?25l:[?12l[?25hee('vim.eval("", FailingTrue())')


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEvalPy")


[?25l:[?12l[?25hstringtochars_test('vim.bindeval(%s)')


[?25l:[?12l[?25hee('vim.eval("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimStrwidth")


[?25l:[?12l[?25hstringtochars_test('vim.strwidth(%s)')


[?25l:[?12l[?25hcb.append("> VimForeachRTP")


[?25l:[?12l[?25hee('vim.foreach_rtp(None)')


[?25l:[?12l[?25hee('vim.foreach_rtp(NoArgsCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(FailingCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(int, 2)')


[?25l:[?12l[?25hcb.append('> import')


[?25l:[?12l[?25hold_rtp = vim.options['rtp']


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace('\\', '\\\\')


.replace(',', '\\,')


[?25l:[?12l[?25hee('import xxx_no_such_module_xxx')


[?25l:[?12l[?25hee('import failing_import')


[?25l:[?12l[?25hee('import failing')


[?25l:[?12l[?25hvim.options['rtp'] = old_rtp


[?25l:[?12l[?25hdel old_rtp


[?25l:[?12l[?25hcb.append("> Options")


[?25l:[?12l[?25hcb.append(">> OptionsItem")


[?25l:[?12l[?25hee('vim.options["abcQ"]')


[?25l:[?12l[?25hee('vim.options[""]')


[?25l:[?12l[?25hstringtochars_test('vim.options[%s]')


[?25l:[?12l[?25hcb.append(">> OptionsContains")


[?25l:[?12l[?25hstringtochars_test('%s in vim.options')


[?25l:[?12l[?25hcb.append("> Dictionary")


[?25l:[?12l[?25hcb.append(">> DictionaryConstructor")


[?25l:[?12l[?25hee('vim.Dictionary("abcI")')


[?25l:[?12l[?25h##! Not checked: py_dict_alloc failure


[?25l:[?12l[?25hcb.append(">> DictionarySetattr")


[?25l:[?12l[?25hee('del d.locked')


[?25l:[?12l[?25hee('d.locked = FailingTrue()')


[?25l:[?12l[?25hee('vim.vvars.locked = False')


[?25l:[?12l[?25hee('d.scope = True')


[?25l:[?12l[?25hee('d.xxx = True')


[?25l:[?12l[?25hcb.append(">> _DictionaryItem")


[?25l:[?12l[?25hee('d.get("a", 2, 3)')


[?25l:[?12l[?25hstringtochars_test('d.get(%s)')


[?25l:[?12l[?25hee('d.pop("a")')


[?25l:[?12l[?25hee('dl.pop("a")')


[?25l:[?12l[?25hcb.append(">> DictionaryContains")


[?25l:[?12l[?25hee('"" in d')


[?25l:[?12l[?25hee('0 in d')


[?25l:[?12l[?25hcb.append(">> DictionaryIterNext")


[?25l:[?12l[?25hee('for i in ned: ned["a"] = 1')


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hcb.append(">> DictionaryAssItem")


[?25l:[?12l[?25hee('dl["b"] = 1')


[?25l:[?12l[?25hstringtochars_test('d[%s] = 1')


[?25l:[?12l[?25hconvertfrompyobject_test('d["a"] = %s')


[?25l:[?12l[?25hcb.append(">> DictionaryUpdate")


[?25l:[?12l[?25hcb.append(">>> kwargs")


[?25l:[?12l[?25hcb.append(">>> iter")


[?25l:[?12l[?25hee('d.update(FailingMapping())')


[?25l:[?12l[?25hee('d.update([FailingIterNext()])')


[?25l:[?12l[?25hee('d.update([FailingIterNextN(1)])')


[?25l:[?12l[?25hiter_test('d.update(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update(%s)')


[?25l:[?12l[?25hstringtochars_test('d.update(((%s, 0),))')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update((("a", %s),))')


[?25l:[?12l[?25hcb.append(">> DictionaryPopItem")


[?25l:[?12l[?25hee('d.popitem(1, 2)')


[?25l:[?12l[?25hcb.append(">> DictionaryHasKey")


[?25l:[?12l[?25hee('d.has_key()')


[?25l:[?12l[?25hcb.append("> List")


[?25l:[?12l[?25hcb.append(">> ListConstructor")


[?25l:[?12l[?25hee('vim.List(1, 2)')


[?25l:[?12l[?25hee('vim.List(a=1)')


[?25l:[?12l[?25hiter_test('vim.List(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('vim.List([%s])')


[?25l:[?12l[?25hcb.append(">> ListItem")


[?25l:[?12l[?25hee('l[1000]')


[?25l:[?12l[?25hcb.append(">> ListAssItem")


[?25l:[?12l[?25hee('ll[1] = 2')


[?25l:[?12l[?25hee('l[1000] = 3')


[?25l:[?12l[?25hcb.append(">> ListAssSlice")


[?25l:[?12l[?25hee('ll[1:100] = "abcJ"')


[?25l:[?12l[?25hiter_test('l[:] = %s')


[?25l:[?12l[?25hee('nel[1:10:2]  = "abcK"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:10:2]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:1:-1]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[:] = FailingIterNextN(2)')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hconvertfrompyobject_test('l[:] = [%s]')


[?25l:[?12l[?25hcb.append(">> ListConcatInPlace")


[?25l:[?12l[?25hiter_test('l.extend(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('l.extend([%s])')


[?25l:[?12l[?25hcb.append(">> ListSetattr")


[?25l:[?12l[?25hee('del l.locked')


[?25l:[?12l[?25hee('l.locked = FailingTrue()')


[?25l:[?12l[?25hee('l.xxx = True')


[?25l:[?12l[?25hcb.append("> Function")


[?25l:[?12l[?25hcb.append(">> FunctionConstructor")


[?25l:[?12l[?25hcb.append(">>> FunctionConstructor")


[?25l:[?12l[?25hee('vim.Function("123")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx#non#existent#function#xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx2", arg


s=[])')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx3", sel


f={})')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx4", arg


s=[], self={})')


[?25l:[?12l[?25hcb.append(">>> FunctionNew")


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf")')


[?25l:[?12l[?25hee('vim.Function("tr", args=427423)')


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf2", args="abcF


uncArgs2")')


[?25l:[?12l[?25hee('vim.Function(self="abcFuncSelf2", args="abcFuncArg


s2")')


[?25l:[?12l[?25hee('vim.Function("tr", "", self="abcFuncSelf2", args="


abcFuncArgs2")')


[?25l:[?12l[?25hee('vim.Function("tr", "")')


[?25l:[?12l[?25hcb.append(">> FunctionCall")


[?25l:[?12l[?25hconvertfrompyobject_test('f(%s)')


[?25l:[?12l[?25hconvertfrompymapping_test('fd(self=%s)')


[?25l:[?12l[?25hcb.append("> TabPage")


[?25l:[?12l[?25hcb.append(">> TabPageAttr")


[?25l:[?12l[?25hee('vim.current.tabpage.xxx')


[?25l:[?12l[?25hcb.append("> TabList")


[?25l:[?12l[?25hcb.append(">> TabListItem")


[?25l:[?12l[?25hee('vim.tabpages[1000]')


[?25l:[?12l[?25hcb.append("> Window")


[?25l:[?12l[?25hcb.append(">> WindowAttr")


[?25l:[?12l[?25hee('vim.current.window.xxx')


[?25l:[?12l[?25hcb.append(">> WindowSetattr")


[?25l:[?12l[?25hee('vim.current.window.buffer = 0')


[?25l:[?12l[?25hee('vim.current.window.cursor = (100000000, 100000000)


')

[?25l:[?12l[?25hee('vim.current.window.cursor = True')


[?25l:[?12l[?25hnumber_test('vim.current.window.height = %s', unsigned


=True)


[?25l:[?12l[?25hnumber_test('vim.current.window.width = %s', unsigned=


True)


[?25l:[?12l[?25hee('vim.current.window.xxxxxx = True')


[?25l:[?12l[?25hcb.append("> WinList")


[?25l:[?12l[?25hcb.append(">> WinListItem")


[?25l:[?12l[?25hee('vim.windows[1000]')


[?25l:[?12l[?25hcb.append("> Buffer")


[?25l:[?12l[?25hcb.append(">> StringToLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = "\\na"')


[?25l:[?12l[?25hee('vim.current.buffer[0] = b"\\na"')


[?25l:[?12l[?25hcb.append(">> SetBufferLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = True')


[?25l:[?12l[?25hcb.append(">> SetBufferLineList (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[:] = True')


[?25l:[?12l[?25hee('vim.current.buffer[:] = ["\\na", "bc"]')


[?25l:[?12l[?25hcb.append(">> InsertBufferLines (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer.append(None)')


[?25l:[?12l[?25hee('vim.current.buffer.append(["\\na", "bc"])')


[?25l:[?12l[?25hee('vim.current.buffer.append("\\nbc")')


[?25l:[?12l[?25hcb.append(">> RBItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000]')


[?25l:[?12l[?25hcb.append(">> RBAsItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000] = ""')


[?25l:[?12l[?25hcb.append(">> BufferAttr")


[?25l:[?12l[?25hee('vim.current.buffer.xxx')


[?25l:[?12l[?25hcb.append(">> BufferSetattr")


[?25l:[?12l[?25hee('vim.current.buffer.name = True')


[?25l:[?12l[?25hee('vim.current.buffer.xxx = True')


[?25l:[?12l[?25hcb.append(">> BufferMark")


[?25l:[?12l[?25hee('vim.current.buffer.mark(0)')


[?25l:[?12l[?25hee('vim.current.buffer.mark("abcM")')


[?25l:[?12l[?25hee('vim.current.buffer.mark("!")')


[?25l:[?12l[?25hcb.append(">> BufferRange")


[?25l:[?12l[?25hee('vim.current.buffer.range(1, 2, 3)')


[?25l:[?12l[?25hcb.append("> BufMap")


[?25l:[?12l[?25hcb.append(">> BufMapItem")


[?25l:[?12l[?25hee('vim.buffers[100000000]')


[?25l:[?12l[?25hnumber_test('vim.buffers[%s]', natural=True)


[?25l:[?12l[?25hcb.append("> Current")


[?25l:[?12l[?25hcb.append(">> CurrentGetattr")


[?25l:[?12l[?25hee('vim.current.xxx')


[?25l:[?12l[?25hcb.append(">> CurrentSetattr")


[?25l:[?12l[?25hee('vim.current.line = True')


[?25l:[?12l[?25hee('vim.current.buffer = True')


[?25l:[?12l[?25hee('vim.current.window = True')


[?25l:[?12l[?25hee('vim.current.tabpage = True')


[?25l:[?12l[?25hee('vim.current.xxx = True')


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ned


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdel ll


[?25l:[?12l[?25hdel nel


[?25l:[?12l[?25hdel f


[?25l:[?12l[?25hdel fd


[?25l:[?12l[?25hdel fdel


[?25l:[?12l[?25hdel subexpr_test


[?25l:[?12l[?25hdel stringtochars_test


[?25l:[?12l[?25hdel Mapping


[?25l:[?12l[?25hdel convertfrompyobject_test


[?25l:[?12l[?25hdel convertfrompymapping_test


[?25l:[?12l[?25hdel iter_test


[?25l:[?12l[?25hdel number_test


[?25l:[?12l[?25hdel FailingTrue


[?25l:[?12l[?25hdel FailingIter


[?25l:[?12l[?25hdel FailingIterNext


[?25l:[?12l[?25hdel FailingIterNextN


[?25l:[?12l[?25hdel FailingMapping


[?25l:[?12l[?25hdel FailingMappingKey


[?25l:[?12l[?25hdel FailingList


[?25l:[?12l[?25hdel NoArgsCall


[?25l:[?12l[?25hdel FailingCall


[?25l:[?12l[?25hdel FailingNumber


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction F


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test import


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hsys.path.insert(0, os.path.join(os.getcwd(), 'python_b


efore'))


[?25l:[?12l[?25hsys.path.append(os.path.join(os.getcwd(), 'python_afte


r'))


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace(',', '\\,').r


eplace('\\', '\\\\')


[?25l:[?12l[?25hl = []


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    l.append(os.path.relpath(path))


[?25l:[?12l[?25hvim.foreach_rtp(callback)


[?25l:[?12l[?25hcb.append(repr(l))


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    return os.path.relpath(path)


[?25l:[?12l[?25hcb.append(repr(vim.foreach_rtp(callback)))


[?25l:[?12l[?25hdel callback


[?25l:[?12l[?25hfrom module import dir as d


[?25l:[?12l[?25hfrom modulex import ddir


[?25l:[?12l[?25hcb.append(d + ',' + ddir)


[?25l:[?12l[?25himport before


[?25l:[?12l[?25hcb.append(before.dir)


[?25l:[?12l[?25himport after


[?25l:[?12l[?25hcb.append(after.dir)


[?25l:[?12l[?25himport topmodule as tm


[?25l:[?12l[?25himport topmodule.submodule as tms


[?25l:[?12l[?25himport topmodule.submodule.subsubmodule.subsubsubmodul


e as tmsss


[?25l:[?12l[?25hcb.append(tm.__file__.replace(os.path.sep, '/')[-len('


modulex/topmodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tms.__file__.replace(os.path.sep, '/')[-len(


'modulex/topmodule/submodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tmsss.__file__.replace(os.path.sep, '/')[-le


n('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):])


[?25l:[?12l[?25hdel before


[?25l:[?12l[?25hdel after


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ddir


[?25l:[?12l[?25hdel tm


[?25l:[?12l[?25hdel tms


[?25l:[?12l[?25hdel tmsss


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test exceptions


[?25l:[?12l[?25h:fun Exe(e)


[?25l:[?12l[?25h:   execute a:e


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hExe = vim.bindeval('function("Exe")')


[?25l:[?12l[?25hee('vim.command("throw \'abcN\'")')


[?25l:[?12l[?25hee('Exe("throw \'def\'")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')"


)')


[?25l:[?12l[?25hee('vim.eval("xxx_unknown_function_xxx()")')


[?25l:[?12l[?25hee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx


\')")')


[?25l:[?12l[?25hdel Exe


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction Exe


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Regression: interrupting vim.command propagates t


o next vim.command


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef test_keyboard_interrupt():


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('while 1 | endwhile')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('Caught KeyboardInterrupt')


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('!!!!!!!! No exception')


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('$ put =\'Running :put\'')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught KeyboardInterrupt


')

[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('No exception')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:debuggreedy


[?25l:[?12l[?25h:call inputsave()


[?25l:[?12l[?25h:call feedkeys("s\ns\ns\ns\nq\n")


[?25l:[?12l[?25h:redir => output


[?25l:[?12l[?25h:debug silent! py3 test_keyboard_interrupt()


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:0 debuggreedy


[?25l:[?12l[?25h:call inputrestore()


[?25l:[?12l[?25h:silent $put =output


[?25l:[?12l[?25h:unlet output


[?25l:[?12l[?25h:py3 del test_keyboard_interrupt


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Cleanup


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel cb


[?25l:[?12l[?25hdel ee


[?25l:[?12l[?25hdel emsg


[?25l:[?12l[?25hdel sys


[?25l:[?12l[?25hdel os


[?25l:[?12l[?25hdel vim


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfun RunTest()
[?25l

:  [?12l[?25h:let checkrefs = !empty($PYTHONDUMPREFS)


[?25l:  [?12l[?25h:let start = getline(1, '$')


[?25l:  [?12l[?25h:for i in range(checkrefs ? 10 : 1)


[?25l:    [?12l[?25h:   if i != 0


[?25l:      [?12l[?25h:       %d _


[?25l:      [?12l[?25h:       call setline(1, start)


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:   call Test()


[?25l:    [?12l[?25h:   if i == 0


[?25l:      [?12l[?25h:       let result = getline(1, '$')


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:if checkrefs


[?25l:    [?12l[?25h:   %d _


[?25l:    [?12l[?25h:   call setline(1, result)


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall RunTest()
[?25l8 more lin

3 more lines[?12l[?25h


[?25l"a" [New File]


"b" [New File]


"c" [New File]


"0" [New File]


"1" [New File]


"a.1" [New File]


"2" [New File]


"a.2" [New File]


"b.2" [New File]


"c.2" [New File]


Already only one window


abc8def


Error detected while processing function RunTest[8]..Test:


line 1106:


abc9def


abcA


line 1108:


abcB


8 more lines


Entering Debug mode.  Type "cont" to continue.


function RunTest[8]..Test


line 1650: py3 test_keyboard_interrupt()


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>q
['.']

'.'

3,xx

before

after

pythonx/topmodule/__init__.py

pythonx/topmodule/submodule/__init__.py

pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py

vim.command("throw 'abcN'"):(<class 'vim.error'>, error('abcN',))

Exe("throw 'def'"):(<class 'vim.error'>, error('def',))

vim.eval("Exe('throw ''ghi''')"):(<class 'vim.error'>, error('ghi',))

vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkll',))

vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vimm:E492: Not an editor command: xxx_non_existent_command_xxx',))

vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unnknown function: xxx_unknown_function_xxx',))

vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error(('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))

Caught KeyboardInterrupt

Running :put

No exception



"test87.in" [Modified][Not edited] line 3151 of 3151 --100%-- col 1[?12l[?25h[?25l:[?12l[?25hdelfunction RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1445 lines, 77744 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test87 = test61; then \
#	  if diff test.out test87.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test87.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test12.failed test.ok test.out X* viminfo
cp test12.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test12.in" 52 lines, 1199 charactersTests for 'directory' option.

- ".", in same dir as file

- "./dir", in directory relative to file

- "dir", in directory relative to current dir



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set dir=.,~

:/start of testfile/,/end of testfile/w! Xtest1

:" do an ls of the current dir to find the swap file (should not be there)

:if has("unix")

:  !ls .X*.swp >test.out

:else

:  r !ls X*.swp >test.out

:endif

:!echo first line >>test.out

:e Xtest1

:if has("unix")

:" Do an ls of the current dir to find the swap file, remove the leading dot

:" to make the result the same for all systems.

:  r!ls .X*.swp

:  s/\.*X/X/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'directory' option.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 965 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:!mkdir Xtest2

:set dir=./Xtest2,.,~

:e Xtest1

:!ls X*.swp >>test.out

:!echo under under >>test.out

:!ls Xtest2 >>test.out

:!echo under Xtest1.swp >>test.out

:!mkdir Xtest.je

:/start of testfile/,/end of testfile/w! Xtest2/Xtest3

:set dir=Xtest.je,~

:e Xtest2/Xtest3

:swap

:!ls Xtest2 >>test.out

:!echo under Xtest3 >>test.out

:!ls Xtest.je >>test.out

:!echo under Xtest3.swp >>test.out

:qa!

ENDTEST



start of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset dir=.,~
[?25l[?12l[?25h[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:  !ls .X*.swp >test.out


[?25l:!ls .X*.swp >test.out[?1l>[?12l[?25h[?1049l

ls: cannot access '.X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25helse


[?25l:  [?12l[?25h:  r !ls X*.swp >test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25h!echo first line >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70Cstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:" Do an ls of the current dir to find the swap file, remove the leading dot


[?25l:  [?12l[?25h:" to make the result the same for all systems.


[?25l:  [?12l[?25h:  r!ls .X*.swp


[?25l:  [?12l[?25h:  s/\.*X/X/


[?25l:  [?12l[?25h:  .w >>test.out
[?25l"test.out" 1L, 11C appended


:  [?12l[?25h:  undo


[?25l1 line less; before #1  0 seconds ago


:  [?12l[?25h:else


[?25l:  [?12l[?25h:  !ls X*.swp >>test.out


[?25l:  [?12l[?25h:endif
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest2
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hset dir=./Xtest2,.,~
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25h!ls X*.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l

ls: cannot access 'X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under under >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest.je
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25lsearch hit BOTTOM, continuing at TOP"Xtest2/Xtest3" [New] 4L, 70C writtenstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest2/Xtest3" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25hset dir=Xtest.je,~
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[?12l[?25h[?25l:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[?12l[?25h[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest.je >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test12 = test61; then \
#	  if diff test.out test12.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test12.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test25.failed test.ok test.out X* viminfo
cp test25.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test25.in" 31 lines, 840 charactersTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 540 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ln -s . test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25htags line
[?25lhis only works for Unix, because of the symbolic link.STARTTEST

:so small.vim

:set hidden" Create a link from test25.dir to the current directory.

:!rm -f test25.dirln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line:r !pwdd$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.testG^] x:.w! test.out:!rm -f test25.dir tags.test

:qa!ENDTESTtags line:
[?12l[?25h[?25l:[?12l[?25hr !pwd
[?25l[?12l[?25h[?25lSTARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST



tags line:

/<<PKGBUILDDIR>>/src/vim-athena/testdir
[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25htest
[?25l

SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/test25.dir@                                                                               

SECTION_OFF     /<<PKGBUILDDIR>>/src/vim-athena/testdir/test25.dirr/test25.in      /^#define  SECTION_OFF  3$/[?12l[?25h[?25l



:[?12l[?25h.w! tags.test
[?25l"tags.test" [New File] 1 line, 115 characters written[?12l[?25h[?25l:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[?12l[?25h[?25l:[?12l[?25h" symbolic link.  When wrong, this will give the ATTENTION message.  The next
[?25l[?12l[?25h[?25l:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[?12l[?25h[?25l:[?12l[?25hset tags=tags.test
[?25l[?12l[?25h[?25l/*tx.c*/

#define  SECTION_OFF  3

#define  NUM_SECTIONS 3



SECTION_OFF[?12l[?25h#[?25lefine  SECTION_OFF  3[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 23 characters written[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir tags.test
[?25l[?1l>[?12l[?25h[?1049l

[No write since last change]



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test25 = test61; then \
#	  if diff test.out test25.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test25.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test49.failed test.ok test.out X* viminfo
cp test49.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test49.in" 32 lines, 705 charactersThis is a test of the script language.



If after adding a new test, the test output doesn't appear properly in

test49.failed, try to add one or more "G"s at the line ending in "test.out"



STARTTEST

:so small.vim

:se nocp nomore viminfo+=nviminfo

:lang mess C

:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy

:redir => funclist

:silent func

:redir END

:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of the script language.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 23 lines, 475 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endfor

:for v in keys(g:)

:  silent! exe "unlet " . v

:endfor

:unlet v

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hso test49.vim
[?25lError detected while processing function F:


line    5:


E583: multiple :else:     else^I^I


Error detected while processing function G:


line    5:


E584: :elseif after :else:     elseif 1^I^I" aborts function


Error detected while processing function H:


line    7:


E583: multiple :else:     else^I^I


Error detected while processing function I:


line    7:


E584: :elseif after :else:     elseif 1^I^I" aborts function


*** Test  16: OK (8722)


Error detected while processing function F:


line   18:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   34:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   47:


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


Error detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/test49.vim:


line  784:


E171: Missing :endif: endwhile 


*** Test  17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"/tmp/vlYhCCn/0" [New] 53L, 1582C written14L, 358C appended26L, 824C appended34L, 986C appended


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/1[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/1" 16L, 304C appended17L, 326C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/2[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/2"' -c 'breakad


dfile 8 /tmp/vlYhCCn/1' -S /tmp/vlYhCCn/1[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/2" 3L, 6C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/3[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/3" 6L, 127C appended7L, 149C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/4[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/4"' -c 'breakad


dfile 4 /tmp/vlYhCCn/3' -S /tmp/vlYhCCn/3[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/4" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/5[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/5" 21L, 486C appended22L, 508C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/6[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/6"' -c 'breakad


dfunc 7 F' -S /tmp/vlYhCCn/5[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/6" 3L, 18C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/7[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/7" 13L, 364C appended14L, 386C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/8[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/8"' -c 'breakad


dfunc 3 G' -S /tmp/vlYhCCn/7[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/8" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/9[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/9" 12L, 201C appended13L, 223C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/10[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/10"' -S /tmp/vlYhC


Cn/9[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/11[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/11" 12L, 205C appended13L, 227C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/12[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/12"' -S /tmp/vlYhC


Cn/11[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/13[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/13" 6L, 122C appended7L, 144C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/14[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/14"' -S /tmp/vlYhC


Cn/13[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/15[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/15" 8L, 176C appended9L, 198C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/16[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/16"' -S /tmp/vlYhC


Cn/15[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/17[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/17" 10L, 215C appended11L, 237C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/18[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/18"' -S /tmp/vlYhC


Cn/17[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/19[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/19" 7L, 149C appended8L, 171C8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/20[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/20"' -S /tmp/vlYhC


Cn/19[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/21[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/21" 9L, 135C appended10L, 157C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/22[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/22"' -S /tmp/vlYhC


Cn/21[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/23[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/23" 10L, 155C appended11L, 177C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/24[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/24"' -S /tmp/vlYhC


Cn/23[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/25[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/25" 12L, 204C appended13L, 226C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/26[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/26"' -S /tmp/vlYhC


Cn/25[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/27[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/27" 12L, 214C appended13L, 236C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/28[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/28"' -S /tmp/vlYhC


Cn/27[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/29[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/29" 12L, 211C appended13L, 233C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/30[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/30"' -S /tmp/vlYhC


Cn/29[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/31[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/31" 14L, 263C appended15L, 285C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/32[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/32"' -S /tmp/vlYhC


Cn/31[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/33[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/33" 14L, 277C appended15L, 299C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/34[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/34"' -S /tmp/vlYhC


Cn/33[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/35" 58L, 1022C appended59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/36[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/36"' -S /tmp/vlYhC


Cn/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/37[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/37" 23L, 418C appended24L, 440C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/38[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/38"' -S /tmp/vlYhC


Cn/37[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/39[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/39" 23L, 437C appended24L, 459C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/40[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/40"' -c 'breaka


dd func 2 Interrupt' -S /tmp/vlYhCCn/39[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/40" 1L, 3C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/41[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/41" 21L, 386C appended22L, 408C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/42[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/42"' -S /tmp/vlYhC


Cn/41[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/43[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/43" 25L, 432C appended26L, 454C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/44[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/44"' -S /tmp/vlYhC


Cn/43[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/45" 16L, 392C appended17L, 414C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/46[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/46"' -S /tmp/vlYhC


Cn/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  24: OK (41)


*** Test  25: OK (260177811)


*** Test  26: OK (1681500476)


*** Test  27: OK (1996459)


   function F()


1      try


2Xpath 1" X: 1


3try


4Xpath 2" X: 2


5return


6Xpath 4" X: 0


7finally


8Xpath 8" X: 8


9endtry


10Xpath 16" X: 0


11     finally


12Xpath 32" X: 32


13     endtry


14     Xpath 64" X: 0


   endfunction"/tmp/vlYhCCn/47"[noeol] 17L, 552C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vlYhCCn/47" 14L, 502C written
"test49.in" 32L, 705C

   function G()

1      try

2Xpath 128" X: 128

3return

4Xpath 256" X: 0

5      finally

6Xpath 512" X: 512

7call F()

8Xpath 1024" X: 1024

9      endtry

10     Xpath 2048" X: 0

   endfunction"/tmp/vlYhCCn/48"[noeol] 13L, 406C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vlYhCCn/48" 10L, 378C written
"test49.in" 32L, 705C

   function H()

1      try

2Xpath 4096" X: 4096

3call G()

4Xpath 8192" X: 8192

5      finally

6Xpath 16384" X: 16384

7return

8Xpath 32768" X: 0

9      endtry


10     Xpath 65536" X: 0


   endfunction"/tmp/vlYhCCn/49"[noeol] 13L, 409C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vlYhCCn/49" 10L, 381C written
"test49.in" 32L, 705C

*** Test  28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/50[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/50" 39L, 721C appended40L, 743C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vlYhCCn/51[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/51"' -S /tmp/vlYhCCn/50[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880Ctest49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/52[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/52" 23L, 509C appended24L, 531C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/53[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/53"' -S /tmp/vlYhC


Cn/52[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/54[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/54" 60L, 1101C appended61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/55[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv


iminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/55"' -


c'breakadd func 3 F' -c 'breakadd file 19 /tmp/vlYhCCn/54' -c 'breakadd file 31


/tmp/vlYhCCn/54' -S /tmp/vlYhCCn/54[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/55" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/56[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/56" 60L, 1122C appended61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/57[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/57"' -S /tmp/vlYhC


Cn/56[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  31: OK (190905173)


*** Test  32: OK (354833067)


*** Test  33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/58" 63L, 1288C appended64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/59[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhC


Cn/59"' -c 'breakadd func 16 C' -S /tmp/vlYhCCn/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/59" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/60" 63L, 1285C appended64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/61[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhC


Cn/61"' -c 'breakadd func 16 B' -S /tmp/vlYhCCn/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/61" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/62" 66L, 1430C appended67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/63[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/


63"' -c 'breakadd func 16 R' -S /tmp/vlYhCCn/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/63" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/64" 73L, 1488C appended74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/65[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/65"' -c 'breakadd


func 16 F' -S /tmp/vlYhCCn/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/65" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/66[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/66" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/67[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhC


Cn/67"' -c 'breakadd func 16 E' -S /tmp/vlYhCCn/66[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/67" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/68[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/68" 83L, 1538C appended84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/69[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -


c'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi


mResult = "/tmp/vlYhCCn/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S


/tmp/vlYhCCn/68[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/70[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/70" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/71[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhC


Cn/71"' -c 'breakadd func 16 T' -S /tmp/vlYhCCn/70[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/71" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  40: OK (357908480)


*** Test  41: OK (3076095)


*** Test  42: OK (1505155949)


*** Test  43: OK (1157763329)


*** Test  44: OK (1031761407)


*** Test  45: OK (1157763329)


*** Test  46: OK (739407)


*** Test  47: OK (371213935)


*** Test  48: OK (756255461)


*** Test  49: OK (179000669)


   function C()


1      try


2Xpath 1" X: 1


3throw "arrgh"


4Xpath 2" X: 0


5      catch /arrgh/


6Xpath 4" X: 4


7      endtry


8      Xpath 8" X: 8


   endfunction"/tmp/vlYhCCn/72"[noeol] 11L, 334C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vlYhCCn/72" 8L, 295C written
"test49.in" 32L, 705C

   function T1()

1      XloopNEXT

2      try

3Xloop 1" X: 16 + 16*16

4throw "arrgh"

5Xloop 2" X: 0

6      finally


7Xloop 4" X: 64 + 64*16


8      endtry


9      Xloop 8" X: 0


   endfunction"/tmp/vlYhCCn/73"[noeol] 12L, 364C

9 substitutions on 9 lines

Pattern not found: ^\s*$
"/tmp/vlYhCCn/73" 9L, 323C written
"test49.in" 32L, 705C

   function T2()

1      try

2Xpath 4096" X: 4096

3call T1()

4Xpath 8192" X: 0

5      finally

6Xpath 16384" X: 16384

7      endtry


8      Xpath 32768" X: 0


   endfunction"/tmp/vlYhCCn/74"[noeol] 11L, 332C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vlYhCCn/74" 8L, 305C written
"test49.in" 32L, 705C

*** Test  50: OK (363550045)

*** Test  51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/76[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/76" 2L, 41C appended3L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vlYhCCn/77[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/77"' -S /tmp/vlYhCCn/76[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/77" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/75" 8L, 182C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/78[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/78" 7L, 115C appended8L, 137C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/79[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/79"' -S /tmp/vlYhCCn/78[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/79" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/75" 8L, 181C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/80[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/80" 12L, 180C appended13L, 202C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/81[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/81"' -S /tmp/vlYhCCn/80[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/81" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/75" 10L, 209C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/82[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/82" 8L, 139C appended9L, 161C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/83[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/83"' -S /tmp/vlYhCCn/82[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/83" 2L, 11C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/75" 10L, 217C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/84[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/84" 5L, 87C appended6L, 109C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/85[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!


>/tmp/vlYhCCn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =


1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/85"' -c 'breakadd file 4 /tmp/vlYhCCn


/84' -S /tmp/vlYhCCn/84[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/85" 1L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/75" [noeol] 9L, 202C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/86[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/86" 7L, 189C appended8L, 211C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/87[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/87"' -S /tmp/vlYhCCn/86[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/87" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/75" 9L, 252C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/88[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/88" 7L, 199C appended8L, 221C8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/89[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/89"' -S /tmp/vlYhCCn/88[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/89" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/75" 9L, 214C
"test49.in" 32L, 705C


*** Test  52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/91[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/91" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/92[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/92"' -S /tmp/vlYhCCn/91[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/92" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/93[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/93" 3L, 39C appended4L, 61C


3 substitutions on 3 lines
"/tmp/vlYhCCn/93" 4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/94[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/94"' -S /tmp/vlYhCCn/93[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/94" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/95[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/95" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vlYhCCn/95" 5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/96[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/96"' -S /tmp/vlYhCCn/95[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/96" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/97[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/97" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vlYhCCn/97" 4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/98[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/98"' -S /tmp/vlYhCCn/97[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/98" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/99[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/99" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vlYhCCn/99" 6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/100[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/100"' -S /tmp/vlYhCCn/99[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/100" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/101[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/101" 1L, 9C appended2L, 31C2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/102[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/102"' -S /tmp/vlYhCCn/101[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/102" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 153C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/103[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/103" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vlYhCCn/103"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/104[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/104"' -S /tmp/vlYhCCn/103[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/104" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/105[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/105" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vlYhCCn/105"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/106[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/106"' -S /tmp/vlYhCCn/105[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/106" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/107[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/107" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vlYhCCn/107"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/108[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/108"' -S /tmp/vlYhCCn/107[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/108" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/109[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/109" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vlYhCCn/109"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/110[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/110"' -S /tmp/vlYhCCn/109[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/110" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/111[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/111" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/112[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/112"' -S /tmp/vlYhCCn/111[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/112" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/113[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/113" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vlYhCCn/113"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/114[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/114"' -S /tmp/vlYhCCn/113[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/114" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/115[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/115" 4L, 46C appended5L, 68C


4 substitutions on 4 lines
"/tmp/vlYhCCn/115"5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/116[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/116"' -S /tmp/vlYhCCn/115[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/116" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/117[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/117" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vlYhCCn/117"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/118[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/118"' -S /tmp/vlYhCCn/117[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/118" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/119[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/119" 5L, 66C appended6L, 88C


5 substitutions on 5 lines
"/tmp/vlYhCCn/119"6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/120[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/120"' -S /tmp/vlYhCCn/119[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/120" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/121[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/121" 4L, 37C appended5L, 59C


4 substitutions on 4 lines
"/tmp/vlYhCCn/121"5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/122[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/122"' -S /tmp/vlYhCCn/121[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/122" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 150C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/123[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/123" 4L, 41C appended5L, 63C


4 substitutions on 4 lines
"/tmp/vlYhCCn/123"5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/124[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vlYhCCn/124"' -S /tmp/vlYhCCn/123[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/124" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/90" 6L, 159C
"test49.in" 32L, 705C


*** Test  53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/126[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/126" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/127[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/127"' -S /tmp/vlYhCCn/126[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/127" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 164C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/128[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/128" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vlYhCCn/128"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/129[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/129"' -S /tmp/vlYhCCn/128[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/129" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/130[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/130" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vlYhCCn/130"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/131[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/131"' -S /tmp/vlYhCCn/130[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/131" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/132[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/132" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vlYhCCn/132"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/133[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/133"' -S /tmp/vlYhCCn/132[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/133" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/134[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/134" 4L, 53C appended5L, 75C


4 substitutions on 4 lines
"/tmp/vlYhCCn/134"5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/135[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/135"' -S /tmp/vlYhCCn/134[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/135" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/136[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/136" 5L, 62C appended6L, 84C


5 substitutions on 5 lines
"/tmp/vlYhCCn/136"6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/137[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/137"' -S /tmp/vlYhCCn/136[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/137" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/138[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/138" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vlYhCCn/138"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/139[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/139"' -S /tmp/vlYhCCn/138[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/139" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/140[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/140" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vlYhCCn/140"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/141[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/141"' -S /tmp/vlYhCCn/140[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/141" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/142[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/142" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vlYhCCn/142"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/143[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/143"' -S /tmp/vlYhCCn/142[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/143" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 167C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/144[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/144" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vlYhCCn/144"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/145[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/145"' -S /tmp/vlYhCCn/144[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/145" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/146[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/146" 7L, 95C appended8L, 117C


7 substitutions on 7 lines
"/tmp/vlYhCCn/146"8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/147[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/147"' -S /tmp/vlYhCCn/146[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/147" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/125" 6L, 167C
"test49.in" 32L, 705C


*** Test  54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/149[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/149" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/150[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/150"' -S /tmp/vlYhCCn/149[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/150" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 172C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/151[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/151" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vlYhCCn/151"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/152[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/152"' -S /tmp/vlYhCCn/151[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/152" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/153[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/153" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vlYhCCn/153"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/154[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/154"' -S /tmp/vlYhCCn/153[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/154" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/155[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/155" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vlYhCCn/155"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/156[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/156"' -S /tmp/vlYhCCn/155[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/156" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/157[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/157" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vlYhCCn/157"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/158[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/158"' -S /tmp/vlYhCCn/157[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/158" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/159[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/159" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/160[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/160"' -S /tmp/vlYhCCn/159[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/160" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 166C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/161[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/161" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vlYhCCn/161"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/162[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/162"' -S /tmp/vlYhCCn/161[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/162" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/163[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/163" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vlYhCCn/163"5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/164[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/164"' -S /tmp/vlYhCCn/163[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/164" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/165[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/165" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vlYhCCn/165"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/166[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/166"' -S /tmp/vlYhCCn/165[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/166" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/167[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/167" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vlYhCCn/167"6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/168[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/168"' -S /tmp/vlYhCCn/167[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/168" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/148" 6L, 170C
"test49.in" 32L, 705C


*** Test  55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/170[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/170" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/171[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/171"' -S /tmp/vlYhCCn/170[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/171" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/172[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/172" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vlYhCCn/172"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/173[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/173"' -S /tmp/vlYhCCn/172[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/173" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/174[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/174" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vlYhCCn/174"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/175[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/175"' -S /tmp/vlYhCCn/174[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/175" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/176[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/176" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vlYhCCn/176"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/177[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/177"' -S /tmp/vlYhCCn/176[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/177" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/178[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/178" 3L, 35C appended4L, 57C


3 substitutions on 3 lines
"/tmp/vlYhCCn/178"4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/179[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/179"' -S /tmp/vlYhCCn/178[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/179" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/180[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/180" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vlYhCCn/180"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/181[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/181"' -S /tmp/vlYhCCn/180[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/181" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/182[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/182" 4L, 47C appended5L, 69C


4 substitutions on 4 lines
"/tmp/vlYhCCn/182"5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/183[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/183"' -S /tmp/vlYhCCn/182[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/183" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/184[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/184" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vlYhCCn/184"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/185[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/185"' -S /tmp/vlYhCCn/184[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/185" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/186[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/186" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vlYhCCn/186"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/187[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vlYhCCn/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vlYhCCn/187"' -S /tmp/vlYhCCn/186[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/187" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vlYhCCn/169" 6L, 155C
"test49.in" 32L, 705C


*** Test  56: OK (511)


   function FuncException()


1      let g:exception = v:exception


   endfunction"/tmp/vlYhCCn/188" [noeol] 4L, 80C

Pattern not found: ^\s*$
"/tmp/vlYhCCn/188"1L, 36C written
"test49.in" 32L, 705C

   function FuncThrowpoint()


1      let g:throwpoint = v:throwpoint


   endfunction"/tmp/vlYhCCn/189" [noeol] 4L, 83C

Pattern not found: ^\s*$
"/tmp/vlYhCCn/189"1L, 38C written
"test49.in" 32L, 705C

   function T(arg, line)


1      if a:line == 2


2throw a:arg" in line 2


3      elseif a:line == 4


4throw a:arg" in line 4


5      elseif a:line == 6


6throw a:arg" in line 6


7      elseif a:line == 8


8throw a:arg" in line 8


9      endif


   endfunction"/tmp/vlYhCCn/190"[noeol] 12L, 341C

9 substitutions on 9 lines

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vlYhCCn/190"9L, 292C written
"test49.in" 32L, 705C

   function G(arg, line)

1      call T(a:arg, a:line)

   endfunction"/tmp/vlYhCCn/191"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vlYhCCn/191"1L, 30C written
"test49.in" 32L, 705C

   function F(arg, line)

1      call G(a:arg, a:line)

   endfunction"/tmp/vlYhCCn/192"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vlYhCCn/192"1L, 30C written
"test49.in" 32L, 705C

*** Test  57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/193" 87L, 1700C appended88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/194[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/194"' -c 'break


add func 4 T' -S /tmp/vlYhCCn/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/194" 8L, 36C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/195" 293L, 5789C appended294L, 5811C


3 substitutions on 3 lines
"/tmp/vlYhCCn/195"294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/196[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/196"' -c 'br


eakadd file 115 /tmp/vlYhCCn/195' -c 'breakadd file 225 /tmp/vlYhCCn/195' -S /tm


p/vlYhCCn/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  59: OK (2038431743)
"/n/o/n/w/r/i/t/a/b/l/e/_/f/i/l/e"
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/197" 33L, 765C appended34L, 787C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/198[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/198"' -c 'break


add file 7 /tmp/vlYhCCn/197' -S /tmp/vlYhCCn/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/198" 3L, 27C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/199" 115L, 2272C appended116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/200[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/


200"' -c 'breakadd file 8 /tmp/vlYhCCn/199' -c 'breakadd file 36 /tmp/vlYhCCn/19


9' -c 'breakadd file 40 /tmp/vlYhCCn/199' -c 'breakadd file 69 /tmp/vlYhCCn/199'


-c 'breakadd file 95 /tmp/vlYhCCn/199' -c 'breakadd file 97 /tmp/vlYhCCn/199' -


S/tmp/vlYhCCn/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  61: OK (374889517)


   function F()


1      while 1


2      " Missing :endwhile


   endfunction"/tmp/vlYhCCn/201"[noeol] 5L, 73C

Pattern not found: ^\s*$
"/tmp/vlYhCCn/201"2L, 40C written
"test49.in" 32L, 705C

*** Test  62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" Error detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/test49.vim:


line 5500:


"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing


*** Test  63: OK (236978127)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/202" 149L, 2828C appended150L, 2850C


6 substitutions on 6 lines
"/tmp/vlYhCCn/202"150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/203[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/203"' -c 'break


add file 63 /tmp/vlYhCCn/202' -S /tmp/vlYhCCn/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/203" 16L, 97C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  64: OK (1499645335)


*** Test  65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/204[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/204" 78L, 1520C appended79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/205[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/205"' -c 'break


add func 8 F' -S /tmp/vlYhCCn/204[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/205" 6L, 22C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  66: OK (5464)


*** Test  67: OK (212514423)


*** Test  68: OK (212514423)


*** Test  69: OK (8995471)


*** Test  70: OK (69544277)


*** Test  71: OK (34886997)


*** Test  72: OK (1789569365)


   function F0()


   endfunction


   function F1()


   endfunction


*** Test  73: OK (9032615)
"/tmp/vlYhCCn/206" [New File]
"test49.in" 32L, 705C
"/tmp/vlYhCCn/207" [New File]
"test49.in" 32L, 705C


*** Test  74: OK (224907669)


*** Test  75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/208[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/208" 253L, 6369C appended254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/209[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|


set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp


/vlYhCCn/209"' -c 'breakadd func 2 INT' -S /tmp/vlYhCCn/208[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/209" 28L, 167C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  76: OK (1610087935)


Error detected while processing function ERR:


line    2:


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


*** Test  77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/210[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/210" 161L, 4543C appended162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/211[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/211"' -S /tmp/vlYh


CCn/210[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  78: OK (134217728)


Error detected while processing function NEXT:


line    1:


E121: Undefined variable: novar


E15: Invalid expression: novar | Xloop 1


E121: Undefined variable: novar


E488: Trailing characters


E108: No such variable: "novar"


E488: Trailing characters


E121: Undefined variable: novar


E15: Invalid expression: novar


E475: Invalid argument: {novar} | Xloop 1


E121: Undefined variable: novar


E15: Invalid expression:  novar


E475: Invalid argument: { novar} | Xloop 1


*** Test  79: OK (70288929)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/test49.vim:


line 7985:


E584: :elseif after :else: elseif 1 ||| 2


line 7995:


E584: :elseif after :else: elseif 1 ||| 2


line 8003:


E582: :elseif without :if: elseif 1 ||| 2


line 8011:


E582: :elseif without :if:     elseif 1 ||| 2


*** Test  80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/212[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/212" 15L, 272C appended16L, 294C16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/213[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/213"' -S /tmp/vlYh


CCn/212[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/214[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/214" 12L, 227C appended13L, 249C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/215[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/215"' -c 'break


add file 8 /tmp/vlYhCCn/214' -S /tmp/vlYhCCn/214[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/215" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/216[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/216" 20L, 417C appended21L, 439C21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/217[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/217"' -S /tmp/vlYh


CCn/216[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/218[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/218" 24L, 480C appended25L, 502C25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/219[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/219"' -S /tmp/vlYh


CCn/218[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/220[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/220" 17L, 390C appended18L, 412C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/221[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/221"' -c 'break


add file 7 /tmp/vlYhCCn/220' -S /tmp/vlYhCCn/220[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/221" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/222[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/222" 21L, 444C appended22L, 466C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/223[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/223"' -c 'break


add func 6 I' -S /tmp/vlYhCCn/222[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/223" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/224[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/224" 17L, 307C appended18L, 329C18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/225[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/225"' -S /tmp/vlYh


CCn/224[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/226[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/226" 14L, 266C appended15L, 288C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/227[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/227"' -c 'break


add file 8 /tmp/vlYhCCn/226' -S /tmp/vlYhCCn/226[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/227" 3L, 13C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/228" 154L, 3580C appended155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/229[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/229"' -c 'br


eakadd func 1 INT' -S /tmp/vlYhCCn/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/229" 18L, 118C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  84: OK (934782101)


TMP
"/tmp/vlYhCCn/230" [noeol] 2L, 6C/  
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"


"/tmp/vlYhCCn/232" 1L, 1C
"test49.in" 32L, 705C


:!echo XYZ >/tmp/vlYhCCn/233[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/234" [New File]
"test49.in" 32L, 705C


*** Test  85: OK (198689)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/test49.vim:


line 8769:


E123: Undefined function: F


Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1


line 8772:


E926: Current location list was changed


line 8773:


E193: :endfunction not inside a function


Error detected while processing function ExecAsScript[2]..MakeScript:


line    3:


E123: Undefined function: F
"/tmp/vlYhCCn/235" c[noeol] 4L, 109C


search hit BOTTOM, continuing at TOP
line   10:

E486: Pattern not found: .*F(.*)


search hit BOTTOM, continuing at TOP
line   11:

E486: Pattern not found: ^\d*\s*endfunction\>


4 substitutions on 4 lines
"/tmp/vlYhCCn/235"3L, 109C written
"Make_all.mak" 207L, 3846C


Error detected while processing /tmp/vlYhCCn/235:


line    1:


E492: Not an editor command: Error detected while processing function ExecAsScr


ipt[2]..MakeScript:


line    2:


E492: Not an editor command: line    3:


line    3:


E492: Not an editor command: E123: Undefined function: F


Error detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/test49.vim:


line 8779:


E130: Unknown function: F


*** Test  86: OK (0)


5

*** Test  87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vlYhCCn/0' >/tmp/vlYhCCn/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vlYhCCn/236" 151L, 3929C appended152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vlYhCCn/237[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi


nfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlYhCCn/237"' -c


'breakadd func 5 ThrowOnInterrupt' -S /tmp/vlYhCCn/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vlYhCCn/237" 16L, 281C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<ECvf/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9009L, 206880C
"Make_all.mak" 207L, 3846C


*** Test  88: OK (50443995)


Press ENTER or type command to continue:[?12l[?25h" Go back to this file and append the results from register r.
[?25l#

# Common Makefile, defines the list of tests to run.

#



NO_PLUGIN = -U NONE --noplugin --not-a-term



# The first script creates small.vim.

SCRIPTS_FIRST = \test1.out



# Tests that run on all systems.

SCRIPTS_ALL = \test3.out \test4.out \test5.out \test7.out \test8.out \test9.out \test14.out \test15.out \test19.out \test20.out \test22.out \[?12l[?25h[?25l:[?12l[?25hbuf test49.in
[?25l"test49.in" 32L, 705C:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:":" make valgrind happy

:redir => funclis:silent func:redir END:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif:endfor:for v in keys(g:):  silent! exe "unlet " . v

:endfor:unlet v:qa!ENDTESTResults of test49.vim:[?12l[?25h

[?25l

83 more lines

*** Test  16: OK (8722)83 more lines[?12l[?25h[?25l:[?12l[?25h/^Results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 84L, 2484C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" make valgrind happy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => funclist
[?25l[?12l[?25h[?25l:[?12l[?25hsilent func
[?25l[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hfor line in split(funclist, "\n")
[?25l

:  [?12l[?25h:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')


[?25l:  [?12l[?25h:  if name != ''


[?25l:    [?12l[?25h:    exe "delfunc " . name


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy[?12l[?25h[?25l

:[?12l[?25hfor v in keys(g:)
[?25l

:  [?12l[?25h:  silent! exe "unlet " . v


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in[?12l[?25h[?25l

:[?12l[?25hunlet v
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test49 = test61; then \
#	  if diff test.out test49.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test49.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test97.failed test.ok test.out X* viminfo
cp test97.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test97.in" 23 lines, 484 charactersTest whether glob()/globpath() return correct results with certain escaped

characters.



STARTTEST

:so small.vim

:" make sure glob() doesn't use the shell

:set shell=doesnotexist

:" consistent sorting of file names

:set nofileignorecase

:e! test.out

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:w! Xxx{

:w! Xxx\$

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:"

:$put =string(globpath('sautest/autoload', '*.vim'))

:$put =string(globpath('sautest/autoload', '*.vim', 0, 1))

:w

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest whether glob()/globpath() return correct results with certain escaped[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 377 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[?12l[?25h[?25l:[?12l[?25hset shell=doesnotexist
[?25l[?12l[?25h[?25l:[?12l[?25h" consistent sorting of file names
[?25l[?12l[?25h[?25l:[?12l[?25hset nofileignorecase
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25l[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xxx{
[?25l

Cannot execute shell doesnotexist




E79: Cannot expand wildcards


"Xxx{" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25lXxx{

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25lXxx$[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l'sautest/autoload/Test104.vimsautest/autoload/footest.vim'[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test97 = test61; then \
#	  if diff test.out test97.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test97.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr_utf8.failed test.ok test.out X* viminfo
cp test_listlbr_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr_utf8.in" 134 lines, 4027 charactersTest for linebreak and list option in utf-8 mode



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!  test.out | qa! | endif

:so mbyte.vim

:set encoding=utf8

:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width, lines)

:let c=''

:for j in range(1,a:lines)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option in utf-8 mode[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 129 lines, 3948 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!


test.out | qa! | endif
[?25l:set list nolinebreak cc=3[?12l[?25h[?25l

:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text
[?12l[?25h[?25l

:[?12l[?25hif &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
[?25l[?12l[?25h[?25l:[?12l[?25h10new|:vsp|:vert resize 20
[?25l                    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  call DoRecordScreen()" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")else   call append('$', "Screen attributes are the same!")

:endif%w! test.out

:qaENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz 1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width, lines)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,a:lines)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[?12l[?25h[?25l:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo


l:\ub6"
[?25l▕———abcdef|▕———␣ˑ¶[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef|

+hijklmn▕———|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines¶                   

Test 1: set         

+linebreak + set    

+list + fancy       

+listchars¶         

▕———abcdefˑˑˑˑˑˑˑˑˑˑ
@                   Test 1: set linebreak + set list + fancy listchars▕———abcdef          +hijklmn▕———        +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶    [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[?12l[?25h[?25l:[?12l[?25hset list nolinebreak
[?25lhijklmn▕—pqrstuvwxyz␣1060ABCDEFGHIJKLMNOPˑ¶    

¶                

Test 1: set linebrea

+k + set list + fancy listchars¶   

▕———abcdefˑˑˑˑˑˑˑˑˑˑ¶          

+hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef hijklmn▕—|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|

¶|

Test 1: set linebrea|

+k + set list + fanc|

+y listchars¶|

▕———abcdefˑˑˑˑˑˑˑˑˑˑ|

+¶|

+hijklmn▕———ˑˑˑˑˑˑˑˑ|
@                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOPTest 1: set linebreak + set list + fancy listchars▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            +hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines▕———abcdef                                                 +hijklmn▕———                                               +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l▕———▕—¶                  

+pqrstuvwxyz␣1060ABC

+¶+DEFGHIJKLMNOPˑ¶ˑˑˑˑ¶                 

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ

+¶                  

▕———*mask = nil;¶~ [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l▕———*mask = nil;¶   

~                   

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l      
    [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l*mask = nil;    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 3: set         

+linebreak nolist   

    *mask = nil;    

~                   

~                   

~                   +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ¶                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       *mask = nil;Test 3: set linebreak nolist*mask = nil;~~~4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['#define ABCDE^I^I1','#define ABCDEF^I^I1','#define ABCDEFG^I^I


1','#define ABCDEFGH^I1', '#define MSG_MODE_FILE^I^I^I1','#define MSG_MODE_CONSO


LE^I^I2','#define MSG_MODE_FILE_AND_CONSOLE^I3','#define MSG_MODE_FILE_THEN_CONS


OLE^I4']
[?25l*mask = nil;    ||

Test 3: set|+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l#define             

+ABCDE      1       [?12l[?25h[?25l:[?12l[?25hvert resize 40
[?25l                    |                    |linebreak nolist|

    *mask = nil;                        |

~                    |                    |                    |

#define ABCDE1 |ABCDEF      1 |

#define ABCDEFG     1 |                    +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+][?12l[?25h[?25l:[?12l[?25h$-7
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l#define ABCDE       1                   

#define ABCDEF      1                   

#define ABCDEFG     1                   

                                        

                                        

                                        

                                        

                                        

                                        

                                        #define ABCDEFGH    1

#define MSG_MODE_FILE1

#define MSG_MODE_CONSOLE2

#define MSG_MODE_FILE_AND_CONSOLE   3

#define MSG_MODE_FILE_THEN_CONSOLE  4

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l>-->--->->--->>--->--->-->--->--->--->--->-->-[?12l[?25h[?25l:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25lAB>CDEF>->CDEFG>->CDEFGH>->_FILE>------->_CONSOLE>------->_FILE_AND_CONSOLE>------->_FILE_THEN_CONSOLE>-------AB[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l#define ABCDE>-->---1|

#define >CDEF>-->---1|

#define >CDEFG>->---1|

#define >CDEFGH>----1|

#define >_FILE>--------->--->---1|

#define >_CONSOLE>---------->---2|

#define >_FILE_AND_CONSOLE>---------3   |

#define >_FILE_THEN_CONSOLE>--------4   |||~                                       

~                                       

[No Name] [+]                            +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l>CDE>-7 more lines                                        

Test 4: set linebreak list listchars    
@                                       #define >CDEFG>->---1+ #define >CDEFGH>----1+#define >_FILE>--------->--->---1+ #define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+ABCDE>
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['bbeeeeee^I^I;^Isome text']
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l[?12l[?25h[?25l:[?12l[?25h$
[?25l@                                       

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        Test 4: set linebreak list listchars    

+and concealing

#define >CDE>-->---1

#define >CDEF>-->---1

#define >CDEFG>->---1

#define >CDEFGH>----1

#define >_FILE>--------->--->---1

#define >_CONSOLE>---------->---2

#define >_FILE_AND_CONSOLE>---------3

bbeeeeee>--->---;>--some text[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25lbbeeeeee>--->---;>--some text           

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l>;>some text      [?12l[?25h[?25l:[?12l[?25hsyn clear
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match meaning    /;\s*\zs.*/
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match hasword    /^\x\{8}/    contains=word
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match word       /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match beginword  /\<\x\x/     contained conceal
[?25leeeeee>--[?12l[?25h[?25l:[?12l[?25hsyn match endword    /\x\{6}\>/   contained
[?25l[?12l[?25h[?25l:[?12l[?25hhi meaning   guibg=blue
[?25lsome text[?12l[?25h[?25l:[?12l[?25hhi beginword guibg=green
[?25l[?12l[?25h[?25l:[?12l[?25hhi endword   guibg=red
[?25leeeeee[?12l[?25h[?25l:[?12l[?25hredraw!
[?25leeeeee>--->-;>some text||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

[No Name] [+]                            #define >CDEFG>->---1+#define >CDEFGH>----1+#define >_FILE>--------->--->---1+#define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l                                        

Test 5: set linebreak list listchars and

eeeeee>--->-;>some text                 #define >_CONSOLE>---------->---2      +                                      #define >_FILE_AND_CONSOLE>---------3  +                                                                                                                                                                                                                                                                                bbeeeeee    ; some textTest 5: set linebreak list listchars an+d concealing part2eeeeee>--->-;>some text                + [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 6: Screenattributes for comment    [?12l[?25h[?25l:[?12l[?25hcall append('$', ' /*^I^I and some more */')
[?25l /*>>- and some more */                 [?12l[?25h[?25l:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail


:\u02d1,eol:\ub6"
[?25leeeeee▕———————▕——————;▕—————some text¶|

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ¶▕———▕—————— and some more */¶#define >_CONSOLE>---------->---2         ;      some text[?12l[?25h[?25l:[?12l[?25hsyntax on
[?25lbbeeeeee▕some text5>some text6for

 /* and some more */#define >_CONSOLE>---------->---2       #define >_FILE_AND_CONSOLE>---------3   bbeeeeeesome text5>some text                 [?12l[?25h[?25l:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l▕—————▕——————▕—————ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ▕———▕——————[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n


"[?25lbbeeeeee▕—————▕——————;▕—————some text¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt0
[?25l /*▕———▕—————— and some more */¶        

~                                       

~                                       

~                                       

~                                       

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['107']
[?12l[?25h[?25l:let attr += ['107']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:let attr += ['69']
[?12l[?25h[?25l:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25lScreenAttributes for test6:¶            [?12l[?25h[?25l:[?12l[?25hif attr[0] != attr[1] && attr[1] != attr[3] && attr[3] != attr[5]
[?25l

:  [?12l[?25h:   call append('$', "Attribut 0 and 1 and 3 and 5 are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Not all attributes are different")


[?25l:  [?12l[?25h:endif
[?25l/*▕———▕—————— and some more */¶|

ScreenAttributes for test6:¶|

Attribut 0 and 1 and 3 and 5 are differe||
~                                       #define >_CONSOLE>---------->---2      + #define >_FILE_AND_CONSOLE>---------3  + [?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select


ion=exclusive and multibyte char"
[?25l/*▕———▕—————— and some more */¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set linebreak with visual block [?12l[?25h[?25llong line:ˑ¶                            [?12l[?25h[?25l¶                                

¶                            

¶                                       

¶                                      

oobar foobar foobar foobar foobarˑ¶[?12l[?25h[?25l
foobar foobar TARGET¶               [?12l[?25h[?25lÃ' at end¶[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx' at end¶[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=[]
[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l /*▕———▕—————— and some more */¶ScreenAttributes for test6:¶Attribut 0 and 1 and 3 and 5 are differe

Test 8: set linebreak with visual block

long line: foobar foobar foobar foobar f

¶                                       [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25hset list nolinebreak cc=3
[?25l*

Scr

Att

Tesn 

a b

a b[?12l[?25h[?25l:[?12l[?25hsign define foo text=^+
[?25l[?12l[?25h[?25l:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l   /*▕———▕—————— and some more */¶  ScreenAttributes for test6:¶  Attribut 0 and 1 and 3 and 5 are diff

  Test 8: set linebreak with visual bloc

  long line: foobar foobar foobar foobar

  ¶ 

+a b c¶  a b c¶  

  ~~  #define >_CONSOLE>-->---2  +     #define >_FILE_AND_CONSOLE>--3  +     bbeeeeee  ;      some text    Test 5: set linebreak list listchars   +and concealing part2  eeeeee>--->-;>some text  +[?12l[?25h[?25l:[?12l[?25hnorm! 2kztj
[?25l  ¶                                     

+a b c¶                                

  a b c¶                                

  ~                                     

  ~                                     

                                        

                                        

                                        

                                        

                                          

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     [?12l[?25h[?25l:[?12l[?25hlet line1=line('.')
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['92']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hlet line2=line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=attr
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['92']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l  ¶ |

+a b c¶|

  a b c¶||||||||  

  

  

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     

[No Name] [+]                              #define >_CONSOLE>---------->---2      +     #define >_FILE_AND_CONSOLE>---------3  +     bbeeeeee;      some text    Test 5: set linebreak list listchars  +and concealing part2  eeeeee>--->-;>some text  +[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l3 more lines¶                                     Test 9: a multibyte sign and colorcolu  ¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ+a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ  a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑa b cTest 9: a multibyte sign and colorcolumn  ¶                     ++a b c¶                                 a b c¶               [?12l[?25h[?25l:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[?12l[?25h[?25l:[?12l[?25hif attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]
[?25l

:  [?12l[?25h:   call append('$', "Screen attributes are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Screen attributes are the same!")


[?25l:  [?12l[?25h:endif
[?25l  ¶ |

+a b c¶|

  a b c¶|

  ¶ |Screen attributes are the same!¶        a b c    Test 9: a multibyte sign and colorcol  +umn[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 57 lines, 1882 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr_utf8 = test61; then \
#	  if diff test.out test_listlbr_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test54.failed test.ok test.out X* viminfo
cp test54.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test54.in" 22 lines, 658 charactersSome tests for buffer-local autocommands



STARTTEST

:so small.vim

:e xx

:if has("vms")

: !del test.out.*

: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.oout

:else

: !rm -f test.out

: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out

:endif

:e somefile" here, autocommand for xx shall write test.out

:" but autocommand shall not apply to buffer named <buffer>:bwipe xx" here, autocommand shall be auto-deleted

:e xx" nothing shall be written

:e somefile" nothing shall be written

:qa!

ENDTEST



start of test file xx

end of test file xx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSome tests for buffer-local autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 15 lines, 555 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25he xx
[?25l"xx" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !del test.out.*


[?25l:  [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te


st.out


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !rm -f test.out


[?25l:!rm -f test.out[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25he somefile           " here, autocommand for xx shall write test.out 
[?25l:!echo buffer-local autommand in xx>> test.out


[?12l[?25h[?25l"somefile" [New File]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h                     " but autocommand shall not apply to buffer named <buffer


>[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe xx             " here, autocommand shall be auto-deleted
[?25l[?12l[?25h[?25l:[?12l[?25he xx                 " nothing shall be written
[?25l"xx" [New File][?12l[?25h[?25l:[?12l[?25he somefile           " nothing shall be written
[?25l"somefile" [New File][?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test54 = test61; then \
#	  if diff test.out test54.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test54.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test17.failed test.ok test.out X* viminfo
cp test17.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test17.in" 135 lines, 2431 charactersTests for:

- "gf" on ${VAR},

- ":checkpath!" with various 'include' settings.



STARTTEST

:so small.vim

:if has("ebcdic")

: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}

:else

: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}

:endif

:"

:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 564 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out

:w! test.out

gf

:set ff=unix

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:endif
[?25l:"

:if has("unix")

:let $CDIR = "."

/CDIR[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:let $CDIR = "."


[?25l:  [?12l[?25h/CDIR


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:if has("amiga")


[?25l:    [?12l[?25h:let $TDIR = "/testdir"


[?25l:    [?12l[?25h:else


[?25l:    [?12l[?25h:let $TDIR = "."


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h/TDIR


[?25l:  [?12l[?25h:endif
[?25l:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif

:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat': > nmake -f Make_dos.mak test17.outw! test.outgf:set ff=unix

:w! test.out

:brewindENDTEST${CDIR}/test17a.in[?12l[?25h[?25l

:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[?12l[?25h[?25l:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[?12l[?25h[?25l:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[?12l[?25h[?25l:[?12l[?25h"  > nmake -f Make_dos.mak test17.out
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 135 lines, 2431 characters written[?12l[?25h[?25l

"/<<PKGBUILDDIR>>/src/vim-athena/testdir/./test17a.in" 3 lines, 8


8characters


Press ENTER or type command to continue[?12l[?25h[?25lThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 3 lines, 88 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out:w! test.outgf:set ff=unix:w! test.out:brewindENDTEST        ${CDIR}/test17a.in        $TDIR/test17a.inSTARTTEST:" check for 'include' without \zs or \ze:lang C:call delete("./Xbase.a"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":e! Xdir1/dir2/foo.ai#include   "bar.a"^[:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 23 lines, 396 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.a

i#include"foo.a"^[:

:w

:e Xbase.a

:set path=Xdir1/dir2

i#include    <foo.a>^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and \ze

:call delete("./Xbase.b")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*/\zs[^/]\+\ze'

:function! DotsToSlashes()

:  return substitute(v:fname, '\.', '/', 'g') . '.b'

:endfunction[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.a")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l#include   "bar.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][?12l[?25h[?25l#include      "baz.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][?12l[?25h[?25l#include"foo.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l#include    <foo.a>[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.a


Xdir1/dir2/foo.a -->


  Xdir1/dir2/bar.a


  Xdir1/dir2/bar.a -->


    Xdir1/dir2/baz.a


    Xdir1/dir2/baz.a -->


      "foo.a"  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l#include    <foo.a>

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi#include            "foo.a"^[:

:w:e Xbase.a:set path=Xdir1/dir2i#include    <foo.a>^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and \ze:call delete("./Xbase.b"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*/\zs[^/]\+\ze':function! DotsToSlashes():  return substitute(v:fname, '\.', '/', 'g') . '.b':endfunction:let &includeexpr='DotsToSlashes()'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 27 lines, 532 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.b")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h[?25l:[?12l[?25hfunction! DotsToSlashes()
[?25l

:  [?12l[?25h:  return substitute(v:fname, '\.', '/', 'g') . '.b'


[?25l:  [?12l[?25h:endfunction
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:[?12l[?25h[?25l:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   /bar/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][?12l[?25h[?25l%inc      /baz/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][?12l[?25h[?25l%inc/foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    /foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.b


Xdir1/dir2/foo.b -->


  Xdir1/dir2/bar.b


  Xdir1/dir2/bar.b -->


    Xdir1/dir2/baz.b


    Xdir1/dir2/baz.b -->


      foo  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    /foo/

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi%inc            /foo/^[:

:w:e Xbase.b:set path=Xdir1/dir2i%inc    /foo/^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and no \ze:call delete("./Xbase.c"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze':function! StripNewlineChar():  if v:fname =~ '\n$':    return v:fname[:-2]:  endif[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 39 lines, 745 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.c")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hfunction! StripNewlineChar()
[?25l

:  [?12l[?25h:  if v:fname =~ '\n$'


[?25l:    [?12l[?25h:    return v:fname[:-2]


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  return v:fname


[?25l:  [?12l[?25h:endfunction
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c[?12l[?25h[?25l

:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   bar.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][?12l[?25h[?25l%inc      baz.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    FALSE.c foo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.c


Xdir1/dir2/foo.c -->


  Xdir1/dir2/bar.c


  Xdir1/dir2/bar.c -->


    Xdir1/dir2/baz.c


    Xdir1/dir2/baz.c -->


      foo.c  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    FALSE.c foo.c

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:w:e Xdir1/dir2/baz.ci%inc            foo.c^[::w:e Xdir1/dir2/FALSE.ci%inc            foo.c^[::w:e Xbase.c:set path=Xdir1/dir2i%inc    FALSE.c foo.c^[::w:redir! >>test.out:checkpath!:redir END:brewind:" change "\" to "/" for Windows and fix 'fileformat':e test.out:%s#\\#/#g:set ff&:w:qENDTEST[?12l[?25h[?25l:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[?12l[?25h[?25l:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 charactersThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!--- Included files in path ---

Xdir1/dir2/foo.a

Xdir1/dir2/foo.a -->

  Xdir1/dir2/bar.a  Xdir1/dir2/bar.a -->    Xdir1/dir2/baz.a

    Xdir1/dir2/baz.a -->

      "foo.a"  (Already listed)--- Included files in path ---Xdir1/dir2/foo.b

Xdir1/dir2/foo.b -->

  Xdir1/dir2/bar.b

  Xdir1/dir2/bar.b -->

    Xdir1/dir2/baz.b

    Xdir1/dir2/baz.b -->foo  (Already listed)[?12l[?25h[?25l:[?12l[?25h%s#\\#/#g
[?25lE486: Pattern not found: \\[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[?12l[?25h[?25l:[?12l[?25hq
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test17 = test61; then \
#	  if diff test.out test17.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test17.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test30.failed test.ok test.out X* viminfo
cp test30.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available.



STARTTEST

:so small.vim

:" first write three test files, one in each format

:set fileformat=unix

:set fileformats=

:/^unix/;/eof/-1w! XXUnix

:/^dos/;/eof/-1w! XXDos

:set bin noeol

:$w! XXMac

Gonoeol^[

:$w! XXEol

:set nobin eol

:enew!

:bwipe XXUnix XXDos XXMac

:" create mixed format files

:if has("vms")

: !copy XXUnix,XXDos XXUxDs.

: !copy XXUnix,XXMac XXUxMac.

: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for a lot of variations of the 'fileformats' option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 221 lines, 3592 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72

Go8^[:$r XXtt81

:$r XXtt82

Go9^[:$r XXtt91

:$r XXtt92

:$r XXtt93

Go10^[:$r XXUnix

:set nobinary ff&

:w

:qa!

ENDTEST



unix

unix

eof



dos^M

dos^M

eof



mac^Mmac^M[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" first write three test files, one in each format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=
[?25l[?12l[?25h[?25l:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25hset bin noeol
[?25l[?12l[?25h[?25l:[?12l[?25h$w! XXMac
[?25l"XXMac" [New File][Incomplete last line] 1 line, 8 characters written[?12l[?25h[?25l

noeol[?12l[?25h[?25l

:[?12l[?25h$w! XXEol
[?25l"XXEol" [New File][Incomplete last line] 1 line, 5 characters written[?12l[?25h[?25l:[?12l[?25hset nobin eol
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[?12l[?25h[?25l:[?12l[?25h" create mixed format files
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !copy XXUnix,XXDos XXUxDs.


[?25l:  [?12l[?25h: !copy XXUnix,XXMac XXUxMac.


[?25l:  [?12l[?25h: !copy XXDos,XXMac  XXDosMac.


[?25l:  [?12l[?25h: !copy XXMac,XXEol  XXMacEol.


[?25l:  [?12l[?25h: !copy XXUnix,XXDos,XXMac XXUxDsMc.


[?25l:  [?12l[?25h:elseif has("win32")


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos XXUxDs


[?25l:  [?12l[?25h: !copy /b XXUnix+XXMac XXUxMac


[?25l:  [?12l[?25h: !copy /b XXDos+XXMac XXDosMac


[?25l:  [?12l[?25h: !copy /b XXMac+XXEol XXMacEol


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos+XXMac XXUxDsMc


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !cat XXUnix XXDos >XXUxDs


[?25l:!cat XXUnix XXDos >XXUxDs[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXMac >XXUxMac


[?25l:!cat XXUnix XXMac >XXUxMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXDos XXMac >XXDosMac


[?25l:!cat XXDos XXMac >XXDosMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXMac XXEol >XXMacEol


[?25l:!cat XXMac XXEol >XXMacEol[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXDos XXMac >XXUxDsMc


[?25l:!cat XXUnix XXDos XXMac >XXUxDsMc[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25hendif
[?25l:[?12l[?25h"
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUnix
[?25l"XXUnix" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" 2 lines, 10 charactersdos^M

dos^M[?12l[?25h[?25l:[?12l[?25hw! XXtt01
[?25l"XXtt01" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line] 1 line, 8 charactersmacmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt02
[?25l"XXtt02" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=dos
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdos^Mdos^Meofmac^Mmac^M[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [CR missing][dos format] 2 lines, 10 charactersunixunix~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt11
[?25l"XXtt11" [New File][dos format] 2 lines, 12 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [dos format] 2 lines, 10 charactersdosdos[?12l[?25h[?25l:[?12l[?25hw! XXtt12
[?25l"XXtt12" [New File][dos format] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line][dos format] 1 line, 8 charactersmac^Mmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt13
[?25l"XXtt13" [New File][dos format] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=mac
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdosdoseofmac^Jmac[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [Incomplete last line][mac format] 1 line, 10 charactersunix^Junix^J

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt21
[?25l"XXtt21" [New File][mac format] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [Incomplete last line][mac format] 3 lines, 10 charactersdos^Jdos^J[?12l[?25h[?25l:[?12l[?25hw! XXtt22
[?25l"XXtt22" [New File][mac format] 3 lines, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [mac format] 2 lines, 8 charactersmac

mac~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt23
[?25l"XXtt23" [New File][mac format] 2 lines, 8 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l^Jdos

^Jeof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt31
[?25l"XXtt31" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt32
[?25l"XXtt32" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [mac format] 4 lines, 28 charactersunix^Junix^Jdos^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt33
[?25l"XXtt33" [New File][mac format] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters^Jdoseof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt41
[?25l"XXtt41" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt42
[?25l"XXtt42" [New File] 3 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [Incomplete last line][dos format] 3 lines, 18 charactersdodos

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt43
[?25l"XXtt43" [New File][dos format] 3 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" 4 lines, 20 charactersunixunix

dos^Mdos^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt51
[?25l"XXtt51" [New File] 4 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt52
[?25l"XXtt52" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [mac format] 4 lines, 18 charactersdo^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt53
[?25l"XXtt53" [New File][mac format] 4 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt54
[?25l"XXtt54" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [CR missing][dos format] 4 lines, 20 charactersunixunix

dosdos

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt61
[?25l"XXtt61" [New File][dos format] 4 lines, 22 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line][CR missing][dos format] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:dos[?12l[?25h[?25l:[?12l[?25hw! XXtt62
[?25l"XXtt62" [New File][dos format] 4 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt63
[?25l"XXtt63" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [Incomplete last line][mac format] 3 lines, 13 charactersmacmac

noeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt64
[?25l"XXtt64" [New File][mac format] 4 lines, 26 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt71
[?25l"XXtt71" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,dos,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt72
[?25l"XXtt72" [New File] 2 lines, 24 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,dos,unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt81
[?25l"XXtt81" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line][mac format] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lmac,dos,unix:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt82
[?25l"XXtt82" [New File][mac format] 2 lines, 23 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h" try with 'binary' set
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt91
[?25l"XXtt91" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt92
[?25l"XXtt92" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt93
[?25l"XXtt93" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix nobin
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXtt01
[?25l"XXtt01" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt02
[?25l"XXtt02" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt11
[?25l"XXtt11" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt12
[?25l"XXtt12" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt13
[?25l"XXtt13" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt21
[?25l"XXtt21" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt22
[?25l"XXtt22" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt23
[?25l"XXtt23" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt31
[?25l"XXtt31" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt32
[?25l"XXtt32" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt33
[?25l"XXtt33" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt41
[?25l"XXtt41" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt42
[?25l"XXtt42" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt43
[?25l"XXtt43" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt51
[?25l"XXtt51" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt52
[?25l"XXtt52" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt53
[?25l"XXtt53" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt54
[?25l"XXtt54" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt61
[?25l"XXtt61" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt62
[?25l"XXtt62" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt63
[?25l"XXtt63" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt64
[?25l"XXtt64" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt71
[?25l"XXtt71" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt72
[?25l"XXtt72" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt81
[?25l"XXtt81" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt82
[?25l"XXtt82" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt91
[?25l"XXtt91" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt92
[?25l"XXtt92" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt93
[?25l"XXtt93" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results.
[?25l[?12l[?25h[?25l:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[?12l[?25h[?25l:[?12l[?25h" Add a newline at the end.
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25h$r XXtt01
[?25l"XXtt01" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt02
[?25l"XXtt02" 2 lines, 13 charactersmac^Mmac^MEND[?12l[?25h

[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXtt11
[?25l"XXtt11" 3 lines, 16 charactersunix^Munix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt12
[?25l"XXtt12" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt13
[?25l"XXtt13" 2 lines, 14 charactersmac^Mmac^M^MEND[?12l[?25h

[?25l

2[?12l[?25h[?25l:[?12l[?25h$r XXtt21
[?25l"XXtt21" 3 lines, 15 charactersunixunix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt22
[?25l"XXtt22" 3 lines, 15 charactersdos^Mdos^M^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt23
[?25l"XXtt23" 1 line, 12 characters

mac^Mmac^MEND[?12l[?25h[?25l

3[?12l[?25h[?25l

:[?12l[?25h$r XXtt31
[?25l"XXtt31" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt32
[?25l"XXtt32" 6 lines, 36 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt33
[?25l"XXtt33" 5 lines, 32 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

4[?12l[?25h[?25l

:[?12l[?25h$r XXtt41
[?25l"XXtt41" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt42
[?25l"XXtt42" 4 lines, 23 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt43
[?25l"XXtt43" 4 lines, 24 charactersunix

mac^Mmac^M

END

dos^M[?12l[?25h[?25ldos^M

mac^Mmac^M^M

END
[?12l[?25h[?25l

5[?12l[?25h[?25l

:[?12l[?25h$r XXtt51
[?25l"XXtt51" 5 lines, 24 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt52
[?25l"XXtt52" 6 lines, 33 charactersunix

dos^M

dos^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt53
[?25l"XXtt53" 3 lines, 22 charactersunix

dos^M

dos^M

mac^Mmac^M

END

dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt54
[?25l"XXtt54" 3 lines, 24 charactersdos^M

mac^Mmac^MEND

unix,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

6[?12l[?25h[?25l

:[?12l[?25h$r XXtt61
[?25l"XXtt61" 5 lines, 26 characters

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt62
[?25l"XXtt62" 5 lines, 39 charactersunix^M

dos^M

dos^M

END

dos,mac:dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt63
[?25l"XXtt63" 6 lines, 36 charactersunix^M

unix^M

mac^Mmac^M^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt64
[?25l"XXtt64" 1 line, 30 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

dos,mac:mac^Mmac^Mmac^Mnoeol^MEND[?12l[?25h[?25l

7[?12l[?25h[?25l

:[?12l[?25h$r XXtt71
[?25l"XXtt71" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt72
[?25l"XXtt72" 3 lines, 28 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix,dos,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

8[?12l[?25h[?25l

:[?12l[?25h$r XXtt81
[?25l"XXtt81" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt82
[?25l"XXtt82" 1 line, 27 charactersunix

dos^M

dos^M

mac^Mmac^M

END

mac,dos,unix:mac^Mnoeol^MEND[?12l[?25h[?25l

9[?12l[?25h[?25l

:[?12l[?25h$r XXtt91
[?25l"XXtt91" 5 lines, 32 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt92
[?25l"XXtt92" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt93
[?25l"XXtt93" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

10[?12l[?25h[?25l

:[?12l[?25h$r XXUnix
[?25l"XXUnix" 2 lines, 10 characters

unix[?12l[?25h[?25l

:[?12l[?25hset nobinary ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test30 = test61; then \
#	  if diff test.out test30.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test30.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test32.failed test.ok test.out X* viminfo
cp test32.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test32.in" 60 lines, 1391 charactersTest for insert expansion



:se cpt=.,w

* add-expands (word from next line) from other window

* add-expands (current buffer first)

* Local expansion, ends in an empty line (unless it becomes a global expansion)

* starts Local and switches to global add-expansion

:se cpt=.,w,i

* i-add-expands and switches to local

* add-expands lines (it would end in an empty line if it didn't ignored it self):se cpt=kXtestfile

* checks k-expansion, and file expansion (use Xtest11 instead of test11,

* because TEST11.OUT may match first on DOS)

:se cpt=w

* checks make_cyclic in other window

:se cpt=u nohid

* checks unloaded buffer expansion

* checks adding mode abortion

:se cpt=t,d

* tag expansion, define add-expansion interrupted

* t-expansion



STARTTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for insert expansion[?12l[?25h[?25l/^STARTTEST
[?12l[?25h[?25l

:so small.vim[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 533 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTO^N^[IX^[A^X^F^N^[

:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use

:" CTRL-X CTRL-F again to verify this doesn't cause trouble.

OX^X^F^H^H^H^H^H^H^H^H^X^F^[ddk

:se cpt=w

OST^N^P^P^P^P^[

:se cpt=u nohid

^WoOEN^N

unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[

:wq! test.out

ENDTEST



start of testfile

run1

run2

end of testfile



test11  36Gepeto/Tag/

asd     test11file      36G

Makefileto      run[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [New] 3L, 57C written[?12l[?25h[?25l:[?12l[?25hse cot=
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[:wq! test.out

ENDTESTstart of testfile

run1run2test32.in                                                                       [?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 4match in file test32.in^-- Keyword completion (^N^P) match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Adding Keyword completion (^N^P) Word from other line#include "Xtestfile"

run1 run2[+][?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h[?25l3[?12l[?25h

[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) match 1 of 115-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) Word from other line-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4 match 3 of 4 match 4 of 4 Back at original-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) match 1 of 2match in file test32.ine-- Adding Keyword completion (^N^P) Word from other linerun3 run3



run1 run2[?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h

[?25l:[?12l[?25hse cpt=.,w,i
[?25l[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 3.-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...
Scanning: test32.ine-- Whole line completion (^L^N^P) match 1 of 57INSERT --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 57Addinge Whole line completion (^L^N^P) -- Searching...
Scanning: test32.ine-- Adding Whole line completion (^L^N^P) The only match Back at original The only matchMakefileto      run3

Makefileto      run3

Makefileto      run3[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=kXtestfile
[?25l[?12l[?25h[?25l:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C writtenXtest11.one+   [?12l[?25h[?25l:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning dictionary: Xtestfile-match in file Xtestfile-- Keyword completion (^N^P) match 1 of 9test11[+]I[?12l[?25h [?25l-- Keyword completion (^N^P) match 1 of 9-- INSERT --[?12l[?25h[?25l-- INSERT --Xtest11
[?12l[?25h[?25l-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 2. match 2 of 2.two[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[?12l[?25h[?25l:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 4.INSERTa -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 443.
Make_all.mak

run1 run2d[?12l[?25h [?25l-- INSERT --[?12l[?25h[?25l
run1 run2~                                                                               [?12l[?25h

[?25l:[?12l[?25hse cpt=w
[?25l[?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match
STARTTEST

run1 run2[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=u nohid
[?25l[?12l[?25h[?25l



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 3-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only matchENDTEST

unless[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...match 1 of 3.INSERTm --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 3Definition completion (^D^N^P)^ U-- Searching...Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...
Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) Word from other lineINSERT --f-- Keyword completion (^N^P) -- Searching...
Scanning tags.pincluded file: Xtestfile
-- Keyword completion (^N^P) The only matchtest11file      36Gepeto/Tag/ asd

asd[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h

ru[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New] 15L, 175C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test32 = test61; then \
#	  if diff test.out test32.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test32.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test58.failed test.ok test.out X* viminfo
cp test58.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2591 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :STARTTESTso small.vim

:"Don't want to depend on the locale from the environment

:set enc=latin1e!"Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spelliasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[?12l[?25h[?25l:[?12l[?25hset maxmem=512 spell
[?25lvim



STARTTESTlatin1maxmem

iasdaff/.dic

:func TestOne(aff, dicspellfilea:affa:dicspldic and .aff

  exea:aff . 'affstarta:aff . 'affend/-1w! Xtest.aff

  exea:dic . 'dicstarta:dic . 'dicend/-1w! Xtest.dic

  mkspell! Xtest Xtest[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25lChange "asdTests" to:


 1 "Acid tests"


 2 "Attests"


 3 "Ass Tests"


 4 "As Tests"


 5 "Sad Tests"


 6 "Ads Tests"


 7 "As tests"


 8 "As detests"


 9 "Add Tests"


10 "Aid Tests"


11 "Ash Tests"


12 "Ad Tests"


13 "And Tests"


14 "Ask Tests"


15 "Asp Tests"


16 "USD Tests"


17 "Astutest"


18 "Autotests"


19 "Sadists"


20 "Asst Tests"


21 "Assad Tests"


22 "SSD Tests"


Type number and <Enter> or click with mouse (empty cancels): [?12l[?25h[?25l:[?12l[?25h"
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.latin1.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 46 lines, 754 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']th['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 151 lines, 3412 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.latin1.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.latin1.add
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment[?12l[?25h[?25l/[?12l[?25h^test2:
[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 44 lines, 447 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 98 nodes; 88 (89%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 505 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"








2affend



2good: puts


badendaddstar

/regions=usgbnz

elequ/2/3

addendtest2:test elekwint test elekwent asdf[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 29 nodes; 23 (79%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 115 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 105 nodes; 86 (81%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 87 nodes; 68 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 22 lines, 223 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend




bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



Test NOSLITSUGS



8affstart

SET ISO8859-1



NOSPLITSUGS

8affend



8dicstart[?12l[?25h[?25l:[?12l[?25h" NOSLITSUGS
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" 3 lines, 27 characters written


"Xtest.dic" 4 lines, 20 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 8 of 26 nodes; 18 (69%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 90 bytes


4 lines yanked


4 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" Numbers
[?25lNOSPLITSUGS

8affend



8dicstart

1234

foo

bar

faabar

8dicend



8good: foo bar faabar

bad: foobar barfooTest Numbers9affstart9affend9dicstart

1234

foo[?12l[?25h[?25l:[?12l[?25hcall TestOne('9', '9')
[?25lError detected while processing function TestOne:


line    5:


E493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff


"Xtest.dic" 3 lines, 13 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 2 of 15 nodes; 13 (86%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 65 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1# ile: Xtest.latin1.spl

Comment


input[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1

# file: Xtest.latin1.spl

Comment

deol


input[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 289 lines, 3844 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test58 = test61; then \
#	  if diff test.out test58.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test58.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test59.failed test.ok test.out X* viminfo
cp test59.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 106 lines, 2520 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment.  The .aff and .dic
[?25l[?12l[?25h[?25l:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :STARTTESTso small.vimso mbyte.vimDon't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.enc=latin1e!

:set enc=utf-8:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25hset enc=utf-8
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset fenc=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.utf-8.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 48 lines, 768 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']the['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 153 lines, 3426 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.utf-8.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"[?12l[?25h[?25l/[?12l[?25h^test2:
[?25ltomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !![?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 46 lines, 461 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 102 nodes; 92 (90%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 525 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25laddstart

/regions=usgbnz

elequint/2

elekwint/3

addend



1good: wrong OK puts. Test the end

bad:  inputs comment ok Ok. test déôl end the

badend



2good: puts

bad: inputs comment ok Ok end the. test déôl

badendTest rules for compounding.3affstart

SET ISO8859-1COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 31 nodes; 25 (80%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 125 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 107 nodes; 88 (82%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 26 lines, 338 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 91 nodes; 72 (79%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaébar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaé bar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 270 lines, 3685 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test59 = test61; then \
#	  if diff test.out test59.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test59.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test72.failed test.ok test.out X* viminfo
cp test72.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test72.in" 146 lines, 2110 charactersTests for undo file.

Since this script is sourced we need to explicitly break changes up in

undo-able pieces.  Do that by setting 'undolevels'.



STARTTEST

:so small.vim

:"

:" Test 'undofile': first a simple one-line change.

:set nocompatible viminfo+=nviminfo visualbell

:set ul=100 undofile nomore

:e! Xtestfile

ggdGithis is one line^[:set ul=100

:s/one/ONE/

:set ul=100

:w

:bwipe!

:e Xtestfile

u:.w! test.out

:"

:" Test 'undofile', change in original file fails check

:set noundofile

:e! Xtestfile

:s/line/Line/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for undo file.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 135 lines, 1913 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar

:.w >>test.out

u:.w >>test.out

u:.w >>test.out

u:.w >>test.out

:"

:" Rename the undo file so that it gets cleaned up.

:if has("vms")

: call rename("_un_Xtestfile", "Xtestundo")

:else

: call rename(".Xtestfile.un~", "Xtestundo")

:endif

:qa!

ENDTEST



1111 -----

2222 -----



123456789[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset ul=100 undofile nomore
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --this is one line[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hs/one/ONE/
[?25lONE
[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 change; before #2  0 seconds agoone
[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 1L, 17CONE
[?12l[?25h[?25l:[?12l[?25hs/line/Line/
[?25lL
[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE Line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" TODO: this beeps
[?25l[?12l[?25h[?5h[?5l[?25lAlready at oldest change[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 17C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --one

twothreefourfivesixseveneightnineten[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17Conetwonineten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 7L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile ul=0
[?25l[?12l[?25h[?25l-- INSERT --six
u[?12l[?25hs[?25l[?12l[?25h[?25l1 line less; before #8  0 seconds ago

~                                                                               [?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cnine

ten~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile ul=100
[?25l[?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l1 more line; before #4  0 seconds agofive[?12l[?25h[?25l1 more line; before #3  0 seconds agofour[?12l[?25h[?25l1 more line; before #2  0 seconds agothree[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 10L, 49C appended[?12l[?25h[?25l:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cninten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile cm=zip
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l-- INSERT --monday

tuesdaywednesdaythursdayfriday[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25lmonday

friday

~                                                                               [?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [crypted] 2L, 14Cmonday

friday

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [crypted] 2L, 14C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l1 more line; before #11  0 seconds agothursday[?12l[?25h[?25l1 more line; before #10  0 seconds agowednesday[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 4L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][crypted] 1L, 14C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25ljan

feb

bar apr[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [blowfish] 4L, 20Cjan

feb

bar apr

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #15  0 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #14  0 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #13  0 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][blowfish] 1L, 20C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lEnter encryption key: [?12l[?25h*******


[?25lEnter same key again: [?12l[?25h*******


[?25ljan

feb[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Enter encryption key: [?12l[?25h*******


[?25l"Xtestfile" [blowfish2] 4L, 20Cjan

feb

bar ap

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish2] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #19  1 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #18  1 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #17  1 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: call rename("_un_Xtestfile", "Xtestundo")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: call rename(".Xtestfile.un~", "Xtestundo")


[?25l:  [?12l[?25h:endif
[?25ljan

feb

mar

apr[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test72 = test61; then \
#	  if diff test.out test72.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test72.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test78.failed test.ok test.out X* viminfo
cp test78.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test78.in" 46 lines, 1464 charactersInserts 10000 lines with text to fill the swap file with two levels of pointer

blocks.  Then recovers from the swap file and checks all text is restored.



We need about 10000 lines of 100 characters to get two levels of pointer

blocks.



STARTTEST

:so small.vim

:set nocp fileformat=unix undolevels=-1 viminfo+=nviminfo

:e! Xtest

ggdG

:let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01223456789abcdefghijklmnoparstuvwxyz0123456789"

:let i = 1

:let linecount = 10000

:while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile

:preserve

:" get the name of the swap file

:redir => swapname

:swapname

:redir END

:let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][::cntrl:]]*$', '\1', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 10000 lines with text to fill the swap file with two levels of pointer[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1208 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set nobin

:new

:only!

:bwipe! Xtest

:call rename('Xswap', swapname)

:recover Xtest

:call delete(swapname)

:new

:call append(0, 'recovery start')

:wincmd w

:let linedollar = line('$')

:if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected "" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linnecount = linedollar | endif

:let i = 1

:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile

:q!

:call append(line('$'), 'recovery end')

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01


23456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet linecount = 10000
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899991    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899992    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899993    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899994    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899995    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899996    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899997    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899998    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789[?12l[?25h[?25l:[?12l[?25hpreserve
[?25lFile preserved[?12l[?25h[?25l:[?12l[?25h" get the name of the swap file
[?25l[?12l[?25h[?25l:[?12l[?25hredir => swapname
[?25l[?12l[?25h[?25l:[?12l[?25hswapname
[?25l.Xtest.swp[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][


:cntrl:]]*$', '\1', '')
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899a[?12l[?25h[?25l

:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hexe 'sp ' . swapname

999899a

999999a

1000099a~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw! Xswap
[?25l"Xswap" [New][noeol] 611L, 1224704C written[?12l[?25h[?25l:[?12l[?25hecho swapname
[?25l.Xtest.sw[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25hnew

10000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789



~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe! Xtest
[?25l[?12l[?25h[?25l:[?12l[?25hcall rename('Xswap', swapname)
[?25l[?12l[?25h[?25l:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"


Original file "/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtest"


"/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtest" [New File]Recovery completed. You should check if everything is OK.


(You might want to write out this file under another name


and run diff with the original file to check for changes)


You may want to delete the .swp file now.






Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall delete(swapname)
[?25l1abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

2abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

3abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

4abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

5       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567896       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567897       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567898       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678911      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678912      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@                                                                               [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       199a

299a

399a

4 99a

5 99a

Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hcall append(0, 'recovery start')
[?25lrecovery start[+][?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name] [+]                                                                    Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hlet linedollar = line('$')
[?25l[?12l[?25h[?25l:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected 


" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li


necount = linedollar | endif
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen


d(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hq!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'recovery end')
[?25lrecovery end[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New] 3L, 29C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test78 = test61; then \
#	  if diff test.out test78.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test78.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test83.failed test.ok test.out X* viminfo
cp test83.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test83.in" 76 lines, 1273 charactersTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for tag search with !_TAG_FILE_ENCODING.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 58 lines, 1021 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h[?25l:[?12l[?25hif !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [New File] 2 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [New File] 2 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25lTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hcall setline('.', 'Results of test83')
[?25lResults of test83
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case1:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l[No Name]                                                                       Results of test83test83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=Xtags1
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" 2 lines, 35 characterstext for tags1

abcdefghijklmnopqrsXtags1.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case2:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       Results of test83case1: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags2
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characterstext for tags2

ABCXtags2.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case3:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               [No Name]                                                                       case1: okcase2: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags3
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characterstext for tags3

ABCXtags3.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

case3: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 4 lines, 48 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test83 = test61; then \
#	  if diff test.out test83.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test83.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test89.failed test.ok test.out X* viminfo
cp test89.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test89.in" 71 lines, 1514 characters- Some tests for setting 'number' and 'relativenumber'

  This is not all that useful now that the options are no longer reset when

  setting the other.

- Some tests for findfile() function



STARTTEST

:so small.vim

:set hidden nocp nu rnu viminfo+=nviminfo

:redir @a | set nu? rnu? | redir END

:e! xx

:redir @b | set nu? rnu? | redir END

:e! #

:$put ='results:'

:$put a

:$put b

:"

:set nonu nornu

:setglobal nu

:setlocal rnu

:redir @c | setglobal nu? | redir END

:set nonu nornu

:setglobal rnu

:setlocal nu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l- Some tests for setting 'number' and 'relativenumber'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 63 lines, 1305 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =':set MUST reset the other global value'

:$put g

:$put h

:"

:let cwd=getcwd()

:cd ..

:" Tests may be run from a shadow directory, so an extra cd needs to be done to

:" get above src/

:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

:$put =''

:$put ='Testing findfile'

:$put =''

:set ssl

:$put =findfile('test19.in','src/test*')

:exe "cd" cwd

:cd ..

:$put =findfile('test19.in','test*')

:$put =findfile('test19.in','testdir')

:exe "cd" cwd

:/^results/,$w! test.out

:q!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l 21 :$put g 20 :$put h

 19 :" 18 :let cwd=getcwd()

 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/

 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 13 :$put =''

 12 :$put ='Testing findfile'

 11 :$put =''

 10 :set ssl

  9 :$put =findfile('test19.in','src/test*')

  8 :exe "cd" cwd

  7 :cd ..

  6 :$put =findfile('test19.in','test*')

  5 :$put =findfile('test19.in','testdir')

  4 :exe "cd" cwd

  3 :/^results/,$w! test.out

  2 :q!

  1 ENDTEST

71  [?12l[?25h[?25l:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! xx
[?25l"xx" [New File]1   

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1 21 :$put g

 20 :$put h

 19 :" 18 :let cwd=getcwd() 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/ 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif 13 :$put ='' 12 :$put ='Testing findfile' 11 :$put ='' 10 :set ssl  9 :$put =findfile('test19.in','src/test*')  8 :exe "cd" cwd  7 :cd ..  6 :$put =findfile('test19.in','test*')  5 :$put =findfile('test19.in','testdir')  4 :exe "cd" cwd  3 :/^results/,$w! test.out  2 :q!  1 ENDTEST71  "test89.in" line 71 of 71 --100%-- col 1[?12l[?25h[?25l:[?12l[?25h$put ='results:'
[?25l

1

 20

 19

 18

 17ee 

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

72  results:[?12l[?25h[?25l

:[?12l[?25h$put a
[?25l3 more lines21

 20ee 

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

75    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h$put b
[?25l3 more lines22

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

78    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal rnu
[?25l 22 :" get above src/

 21 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 20 :$put =''

 19 :$put ='Testing findfile'

 18 :$put =''

 17 :set ssl

 16 :$put =findfile('test19.in','src/test*')

 15 :exe "cd" cwd

 14 :cd ..

 13 :$put =findfile('test19.in','test*')

 12 :$put =findfile('test19.in','testdir')

 11 :exe "cd" cwd

 10 :/^results/,$w! test.out

  9 :q!

  8 ENDTEST

  7 

  6 results:

  5 

  4   number

  3   relativenumber

  2 

  1   number

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nu
[?25l 56 :" get above src/

 57 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 58 :$put =''

 59 :$put ='Testing findfile'

 60 :$put =''

 61 :set ssl

 62 :$put =findfile('test19.in','src/test*')

 63 :exe "cd" cwd

 64 :cd ..

 65 :$put =findfile('test19.in','test*')

 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l

 79 :setlocal must NOT reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put c
[?25l 80 

 81   number[?12l[?25h[?25l

:[?12l[?25h$put d
[?25l 82 

 83   relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l

:setglobal MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put e
[?25lnumber[?12l[?25h[?25l

:[?12l[?25h$put f
[?25lrelativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber

 79 :setlocal must NOT reset the other global value

 80 

 81   number

 82 

 83   relativenumber

 84 :setglobal MUST reset the other global value

 85 

 86   number

 87 

 88   relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l22

 21

 20

 1

 18

 17

 16

 15

 1

 13

 12

 11

 10

  

  8

  7

  6

  5

  

  3

  2

  1

88    [?12l[?25h[?25l:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber:setglobal MUST reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l 22 :$put =findfile('test19.in','testdir')

 21 :exe "cd" cwd

 20 :/^results/,$w! test.out

 19 :q!

 18 ENDTEST

 17 

 16 results:

 15 

 14   number

 13   relativenumber

 12 

 11   number

 10   relativenumber

  9 :setlocal must NOT reset the other global value

  8 

  7   number

  6 

  5   relativenumber

  4 :setglobal MUST reset the other global value

  3 

  2   number

  1 

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hset nu
[?25l88    [?12l[?25h[?25l:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':set MUST reset the other global value'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

89  :set MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put g
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

91    number[?12l[?25h[?25l

:[?12l[?25h$put h
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

93    relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena[?12l[?25h[?25l:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[?12l[?25h[?25l:[?12l[?25h" get above src/
[?25l[?12l[?25h[?25l:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

94  [?12l[?25h[?25l

:[?12l[?25h$put ='Testing findfile'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

95  Testing findfile[?12l[?25h[?25l

:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

96  [?12l[?25h[?25l

:[?12l[?25hset ssl
[?25l[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

97  src/testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

98  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

99  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[?12l[?25h[?25l:[?12l[?25h/^results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 28L, 356C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test89 = test61; then \
#	  if diff test.out test89.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test89.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_arglist.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_arglist.vim" 318 lines, 6653 characters


Executing Test_argadd()
"a" [New File]bababababd


Executing Test_argc()
"a" [New File]

Executing Test_argdelete()
"a" [New File]a" [New File]
"bb


Executing Test_argedit()
"a" [New File]ba


"c" [New File]
"x


"y" [New File]


Executing Test_argidx()
"a" [New File]cabc


Executing Test_arglist_autocmd()
"Xxx1" 1L, 15C
"Xxx21L, 15C1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx21 of 2)

3 buffers wiped out


Executing Test_arglistid()
"a" [New File]

Executing Test_argpos()
"a" [New File]d


"c" [New File]
"ba


"d" [New File]
"a


Executing Test_argument()
"d" [New File]cbafile] --No lines in buffer-- (1 of 4)
"c3


a b [c] d
"c" [New File]


"x" [New File]
"z


Executing Test_argv()
"a" [New file] --No lines in buffer--


Executing Test_zero_argadd()
"b" [New file] --No lines in buffer-- (2 of 4)
"aFbedited" [New File]
"a" [New File]test_arglist.res" [New File][New] 0L, 0C written


Executed 11 tests
"messages" [New File][New] 15L, 326C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_assert.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_assert.vim" 127 lines, 2933 characters


Executing Test_assert_equal()


Executing Test_assert_exception()


Executing Test_assert_fail_fails()


Executing Test_assert_false()


Executing Test_assert_inrange()


Executing Test_assert_notequal()


Executing Test_assert_true()


Executing Test_compare_fail()


Executing Test_match()


Executing Test_notmatch()


Executing Test_user_is_happy()




oooo$$$$$$$$$$$$oooo


oo$$$$$$$$$$$$$$$$$$$$$$$$o


oo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$oo$   $$ o$


     o $ ooo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o$$ $$ $$o$


  oo $ $ "$      o$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$o$$$o$$o$


  "$$$$$$o$     o$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$o    $$$$$$$$


    $$$$$$$    $$$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$$$$$$$$$$$$$$


    $$$$$$$$$$$$$$$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$$$$$$  """$$$


     "$$$""""$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$


      $$$   o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$o


     o$$"   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o


     $$$    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" "$$$$$$ooooo$$$$o


    o$$$oooo$$$$$  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$   o$$$$$$$$$$$$$$$$$


    $$$$$$$$"$$$$   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     $$$$""""""""


   """"$$$$    "$$$$$$$$$$$$$$$$$$$$$$$$$$$$"      o$$$


"$$$o     """$$$$$$$$$$$$$$$$$$"$$"$$$


$$$o"$$""$$$$$$""""o$$$


$$$$oo$$$"


"$$$$o      o$$$$$$o"$$$$oo$$$$


"$$$$$oo     ""$$$$o$$$$$o   o$$$$""


""$$$$$oooo  "$$$o$$$$$$$$$"""


""$$$$$$$oo $$$$$$$$$$


""""$$$$$$$$$$$


$$$$$$$$$$$$


$$$$$$$$$$"


"$$$""""


[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][New] 0L, 0C written


Executed 12 tests
"messages" 15L, 326C30L, 734C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_autochdir.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autochdir.vim" 17 lines, 332 characters


Executing Test_set_filename()
"samples/Xtest" [New] 0L, 0C written
"test_autochdir.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"30L, 734C34L, 806C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_backspace_opt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_backspace_opt.vim" 59 lines, 1673 characters


Executing Test_backspace_option()
"test_backspace_opt.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"34L, 806C38L, 886C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_breakindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_breakindent.vim" 241 lines, 7365 characters


Executing Test_breakindent01()|

    abcdefghijklmnop|

    qrstuvwxyzABCDEF|

    GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent02()|

    abcdefghijklmnop|

    >>qrstuvwxyzABCD|

    >>EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent03()|

    abcdefghijklmnop|

++  qrstuvwxyzABCDEF|

++  GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent04()|

    abcdefghijklmnop|

  qrstuvwxyzABCDEFGH|

  IJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent05()|

    abcdefghijklmnop|qrstuvwxyzABCD|EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent06()|

    abcdefghijklmnop|

   qrstuvwxyzABCDEFG|

   HIJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07()  1 |

  2     abcdefghijkl|

?mnopqrstuvw|

?xyzABCDEFGH|

?IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07a()  1 |

  2     abcdefghijkl|

    ?    mnopqrstuvw|

    ?    xyzABCDEFGH|

    ?    IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08()  1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08a()  1 $|

  2 ^Iabcdefghijklmn|

    #  opqrstuvwxyzA|

    #  BCDEFGHIJKLMN|

    #  OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent09()  1 $|

  2 ^Iabcdefghijklmn|

       #opqrstuvwxyz|

       #ABCDEFGHIJKL|

       #MNOP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent10()  1 |

  2 abcdefgh|

~ijklmnop|

~qrstuvwx|

~yzABCDEF|

~GHIJKLMN|

~OP      ||||~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent11()


Executing Test_breakindent12() 1 |

 2 >--->--->--->--->|

   ---{      ||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        {~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent13()


Executing Test_breakindent14()|

e|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  e~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent15()|1234567890|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  1234567890~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent16()1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            "test_breakindent.res" [New File][New] 0L, 0C written


Executed 18 tests
"messages" 38L, 886C59L, 1492C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_bufwintabinfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_bufwintabinfo.vim" 116 lines, 3459 characters


Executing Test_get_buf_options()


Executing Test_get_win_options()


Executing Test_getbufwintabinfo()
"Xtestfile1" [New File]212


Already only one window
"test_bufwintabinfo.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"59L, 1492C65L, 1639C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cdo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cdo.vim" 205 lines, 5116 characters


Executing Test_cdo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2


Executing Test_ldo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2
"test_cdo.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"65L, 1639C70L, 1718C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"70L, 1718C73L, 1758C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_charsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_charsearch.vim" 62 lines, 1475 characters


Executing Test_charsearch()


Executing Test_search_cmds()
"test_charsearch.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"73L, 1758C78L, 1859C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cmdline.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cmdline.vim" 243 lines, 7346 characters


Executing Test_complete_list():e test


test1.intest85.out


test1.oktest86.in


test1.outtest86.ok


test103.intest86.out


test103.oktest87.in


test103.outtest87.ok


test104.intest87.out


test104.oktest88.in


test104.outtest88.ok


test107.intest88.out


test107.oktest89.in


test107.outtest89.ok


test108.intest89.out


test108.oktest9.in


test108.outtest9.ok


test11.intest9.out


test11.oktest90.in


test11.outtest90.ok


test12.intest90.out


test12.oktest91.in


test12.outtest91.ok


test14.intest91.out


test14.oktest94.in


test14.outtest94.ok


test15.intest94.out


test15.oktest95.in


test15.outtest95.ok


test17.intest95.out


test17.oktest97.in


test17.outtest97.ok


test17a.intest97.out


test19.intest98.in


test19.oktest98.ok


test19.outtest98.out


test20.intest99.in


test20.oktest99.ok


test20.outtest99.out


test22.intest_alot.vim


test22.oktest_alot_latin.vim


test22.outtest_alot_utf8.vim


test23.intest_arglist.res


test23.oktest_arglist.vim


test23.outtest_assert.res


test24.intest_assert.vim


test24.oktest_assign.vim


test24.outtest_autochdir.res


test25.intest_autochdir.vim


test25.oktest_autocmd.vim


test25.outtest_autocmd_option.in


test26.intest_autocmd_option.ok


test26.oktest_autocmd_option.out


test26.outtest_autoformat_join.in


test28.intest_autoformat_join.ok


test28.oktest_autoformat_join.out


test28.outtest_backspace_opt.res


test29.intest_backspace_opt.vim


test29.oktest_breakindent.res


test29.outtest_breakindent.vim


test3.intest_bufwintabinfo.res


test3.oktest_bufwintabinfo.vim


test3.outtest_cdo.res


test30.intest_cdo.vim


test30.oktest_changelist.in


test30.outtest_changelist.ok


test31.intest_changelist.out


test31.oktest_channel.py


test31.outtest_channel.res


test32.intest_channel.vim


test32.oktest_channel_pipe.py


test32.outtest_charsearch.res


test33.intest_charsearch.vim


test33.oktest_close_count.in


test33.outtest_close_count.ok


test34.intest_close_count.out


test34.oktest_cmdline.vim


test34.outtest_command_count.vim


test36.intest_comparators.in


test36.oktest_comparators.ok


test36.outtest_comparators.out


test37.intest_crypt.vim


test37.oktest_cscope.vim


test37.outtest_cursor_func.vim


test38.intest_delete.vim


test38.oktest_diffmode.vim


test38.outtest_digraph.vim


test39.intest_display.vim


test39.oktest_erasebackword.in


test39.outtest_erasebackword.ok


test4.intest_erasebackword.out


test4.oktest_eval.in


test4.outtest_eval.ok


test40.intest_eval.out


test40.oktest_eval_func.vim


test40.outtest_ex_undo.vim


test41.intest_execute_func.vim


test41.oktest_expand.vim


test41.outtest_expand_dllpath.vim


test42.intest_expr.vim


test42.oktest_expr_utf8.vim


test42.outtest_farsi.vim


test43.intest_feedkeys.vim


test43.oktest_file_perm.vim


test43.outtest_fileformat.vim


test44.intest_filter_cmd.vim


test44.oktest_filter_map.vim


test44.outtest_fixeol.in


test45.intest_fixeol.ok


test45.oktest_fixeol.out


test45.outtest_float_func.vim


test48.intest_fnameescape.vim


test48.oktest_fnamemodify.vim


test48.outtest_fold.vim


test49.intest_functions.vim


test49.oktest_getcwd.in


test49.outtest_getcwd.ok


test49.vimtest_getcwd.out


test5.intest_gf.vim


test5.oktest_glob2regpat.vim


test5.outtest_gn.vim


test50.intest_goto.vim


test50.oktest_gui.vim


test51.intest_hardcopy.vim


test51.oktest_help_tagjump.vim


test51.outtest_hide.vim


test52.intest_history.vim


test52.oktest_hlsearch.vim


test52.outtest_increment.vim


test53.intest_increment_dbcs.vim


test53.oktest_insertcount.in


test53.outtest_insertcount.ok


test54.intest_insertcount.out


test54.oktest_job_fails.vim


test54.outtest_join.vim


test55.intest_json.vim


test55.oktest_jumps.vim


test55.outtest_lambda.vim


test56.intest_langmap.vim


test56.oktest_largefile.vim


test56.outtest_lispwords.vim


test57.intest_listchars.in


test57.oktest_listchars.ok


test57.outtest_listchars.out


test58.intest_listlbr.in


test58.oktest_listlbr.ok


test58.outtest_listlbr.out


test59.intest_listlbr_utf8.in


test59.oktest_listlbr_utf8.ok


test59.outtest_listlbr_utf8.out


test60.intest_man.vim


test60.oktest_mapping.vim


test60.outtest_marks.vim


test60.vimtest_match.vim


test64.intest_matchadd_conceal.vim


test64.oktest_matchadd_conceal_utf8.vim


test64.outtest_menu.vim


test65.intest_messages.vim


test65.oktest_mksession.vim


test65.outtest_mksession_utf8.vim


test66.intest_nested_function.vim


test66.oktest_netbeans.py


test66.outtest_netbeans.vim


test67.intest_normal.vim


test67.oktest_options.vim


test67.outtest_packadd.vim


test68.intest_partial.vim


test68.oktest_perl.vim


test68.outtest_popup.vim


test69.intest_profile.vim


test69.oktest_quickfix.vim


test69.outtest_regexp_latin.vim


test7.intest_regexp_utf8.vim


test7.oktest_reltime.vim


test7.outtest_ruby.vim


test70.intest_search.vim


test70.oktest_search_mbyte.in


test70.outtest_search_mbyte.ok


test72.intest_search_mbyte.out


test72.oktest_searchpos.vim


test72.outtest_set.vim


test73.intest_signs.vim


test73.oktest_smartindent.vim


test73.outtest_sort.vim


test75.intest_source_utf8.vim


test75.oktest_startup.vim


test75.outtest_startup_utf8.vim


test77.intest_stat.vim


test77.oktest_statusline.vim


test77.outtest_substitute.vim


test77a.intest_syn_attr.vim


test77a.oktest_syntax.vim


test78.intest_system.vim


test78.oktest_tabline.vim


test78.outtest_tabpage.vim


test79.intest_tagcase.vim


test79.oktest_tagjump.vim


test79.outtest_taglist.vim


test8.intest_textobjects.vim


test8.oktest_timers.vim


test8.outtest_true_false.vim


test80.intest_undo.vim


test80.oktest_unlet.vim


test80.outtest_usercommands.vim


test82.intest_utf8.in


test82.oktest_utf8.ok


test82.outtest_utf8.out


test83-tags2test_viminfo.vim


test83-tags3test_viml.vim


test83.intest_visual.vim


test83.oktest_window_cmd.vim


test83.outtest_window_id.vim


test84.intest_wordcount.in


test84.oktest_wordcount.ok


test84.outtest_wordcount.out


test85.intest_writefile.vim


test85.ok


:e test
"test" [New File]


Executing Test_complete_tab():e Xtest...file
"Xtestfile" 1L, 9C


Executing Test_complete_wildmenu():e Xtest...file1...


Xtestfile1  Xtestfile2  
Xtestfile1                                                         :e Xtest...Xtestfile1
Xtestfile1 file1...Xtestfile1Xtestfile2 2:te Xtestfile2"Xtestfile2" 1L, 10C

Executing Test_expand_star_star():find **/fileXname...a/b/fileXname
"a/b/fileXname" 1L, 9C
"Xtestfile2" [New File]


Executing Test_getcompletion():cscope find 


a  c  d  e  f  g  i  s  t


:cscope find :sign list 


Testing


:sign list Executing Test_illegal_address()


Executing Test_paste_in_cmdline():abc "def ghi
:"abc def ghi
:"
:aaa "asdf bbb
:"aaa asdf bbb
:"
:aaa "/tmp/some bbb
:"aaa /tmp/some bbb
:"
:aaa veryl"ongword bbb
:"aaa verylongword bbb
:"
:aaa "a;b-c*d bbb
:"aaa a;b-c*d bbb
:"
:=toupper(getline(1))
:ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D 
:"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D
:"


Executing Test_remove_char_in_cmdline():abc defef
:"abc ef
:"
:abc defdef
:"abcdef
:"
:abc def ghighi
:"abc ghi
:"
:abc def
:def"def
"test_cmdline.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"78L, 1859C89L, 2168C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_command_count.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_command_count.vim" 191 lines, 4742 characters


Executing Test_command_count_0()
"DoesNotExistEver" [New File]

Executing Test_command_count_1()


"a" [New File]


loading buffers


"b" [New File]


loading buffers


"c" [New File]


loading buffers


"d" [New File]


loading buffers


"e" [New File]


loading buffers
"c" [New File]beb


Executing Test_command_count_2()


"d" [New File]
"a


Already only one window
"x" [New File]

Already only one window


Executing Test_command_count_3()
"aaa" [New File]bbb
"ccc
"test_command_count.vim" 191L, 4742C


2 buffers deleted


Executing Test_command_count_4()
"cc" [New File]

"dd" [New File]


"ee" [New File]
"aa


"bb" [New File]


"cc" [New File]


"dd" [New File]


"ee" [New File]
"cc


"ee" [New File]


"ff" [New File]
"test_command_count.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"89L, 2168C97L, 2380C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_crypt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_crypt.vim" 83 lines, 2590 characters


Executing Test_crypt_blowfish()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][blowfish] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 3L, 98C


Executing Test_crypt_blowfish2()
"Xtest.txt" [New File]:X
Enter encryption key: ******
Enter same key again: ******


"Xtest.txt" [New][blowfish2] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [blowfish2] 3L, 98C


Executing Test_crypt_zip()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][crypted] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [crypted] 3L, 98C


Executing Test_head_only_2()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_head_only_3()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][converted][New][noeol] 1L, 80C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 2L, 27C


Executing Test_uncrypt_blowfish2()
"Xtest.txt" [New File][converted][New][noeol] 1L, 103C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: *******


"Xtest.txt" [blowfish2] 2L, 44C


Executing Test_uncrypt_zip()
"Xtest.txt" [New File][converted][New][noeol] 1L, 45C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [converted][crypted] 2L, 26C"test_crypt.res" [New File][converted][New] 0L, 0C written

Executed 8 tests
"messages"97L, 2380C108L, 2667C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cscope.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"108L, 2667C111L, 2706C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_diffmode.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_diffmode.vim" 237 lines, 4954 characters


Executing Test_diff_fold_sync()


Executing Test_diffget_diffput()


Executing Test_diffoff()  -------------------------------------|

  -------------------------------------|

  Two|

  Three|||||||||||||||||||  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    

[No Name] [+]                             One                                                                             Two  Three                                    ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     [No Name] [+]                           Two                                    

Three                                  

~                                      

~                                      

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   OneTwoThree~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   



Executing Test_filler_lines()


7 more lines


10 more lines


Executing Test_setting_cursor()
"Xtest1" [New File]

90 more lines
"Xtest1" [New] 91L, 262C written2" [New File]

100 more lines
"Xtest2"[New] 101L, 293C written101L, 293C191L, 262C


Executing Test_vert_split()
"Xtest" [New] 5L, 25C written"Xtest2" [New] 6L, 29C written


"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3"Xtest" 5L, 25C2" 6L, 29C
"test_diffmode.vim" 237L, 4954Cres" [New File][New] 0L, 0C written


Executed 6 tests
"messages"111L, 2706C120L, 2928C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_digraph.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_digraph.vim" 461 lines, 14928 characters


Executing Test_digraph_cmndline()
Executing T


Executing Test_digraphs()

Executing Test_digraphs_option()

Executing Test_digraphs_output()


Executing Test_loadkeymap()"test_digraph.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"120L, 2928C128L, 3123C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_display.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049lExecuting Test_display_foldcolumn()e more noise blah blah<82|

> more stuff here||||||||||~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                  e more noise blah blah<|

  82> more stuff here    ||||||||||  

  

  

  

  

  

  

  

  ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                "test_display.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"128L, 3123C132L, 3199C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_farsi.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_farsi.vim" 84 lines, 2881 characters




Executed 2 tests
"messages"[converted] 132L, 3199C[converted] 137L, 3295C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fnameescape.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fnameescape.vim" 21 lines, 467 characters


Executing Test_fnameescape()
"Xspa ce"[New] 21L, 467C written
"Xemark![New] 21L, 467C written
"test_fnameescape.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"137L, 3295C141L, 3368C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fold.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fold.vim" 97 lines, 3328 characters


Executing Test_address_fold()


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


8 lines yanked


10 lines yanked


4 lines yanked


Executing Test_indent_fold()


Executing Test_indent_fold2()
"test_fold.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"141L, 3368C147L, 3495C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gf.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gf.vim" 33 lines, 1138 characters


Executing Test_gf_url()
"test_gf.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"147L, 3495C151L, 3554C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gn.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gn.vim" 93 lines, 2821 characters


Executing Test_gn_command()/[u]niquepattern/s
/a:0\@!\zs\d\+
"test_gn.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"151L, 3554C155L, 3617C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gui.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"155L, 3617C158L, 3653C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hardcopy.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hardcopy.vim" 62 lines, 2001 characters


Executing Test_printheader_parsing()


Executing Test_printmbfont_parsing()


Executing Test_printoptions_parsing()


Executing Test_with_syntax()Printing page 1 (0%)Printed: test_hardcopy.vim
"test_hardcopy.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"158L, 3653C165L, 3836C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hide.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hide.vim" 97 lines, 2443 characters


Executing Test_hide()
"Xf1" [New File]

"Xf1" [New File]
"Xf212121


one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"165L, 3836C169L, 3895C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_history.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_history.vim" 106 lines, 3567 characters


Executing Test_History()


Executing Test_Search_history_window()/a
/b
/a

b

a

b

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Tests for the history functions



test_history.vim                                                                /a

/b

/

/

/

/

/~                                                                              ~                                                                              ~                                                                              ~                                                                              [Command Line]                                                                  [?12l[?25h[?25l/a
"test_history.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"169L, 3895C174L, 4000C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hlsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hlsearch.vim" 34 lines, 1013 characters


Executing Test_hlsearch()/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

~                                                                               [No Name] [+]                                                                   " Test for v:hlsearch



function! Test_hlsearch()

  new

  call setline(1, repeat(['aaa'], 10))

  set hlsearch nolazyredraw

  let r=[]

  " redraw is needed to make hlsearch highlight the matches

  exe "normal! /aaa\<CR>" | redraw

  let r1 = screenattr(1, 1)

test_hlsearch.vim                                                               aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





"test_hlsearch.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"174L, 4000C178L, 4067C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment.vim" 760 lines, 19011 characters


Executing Test_normal_increment_01()
"dummy" [New File]

Executing Test_normal_increment_02()
"dummy" [New File]

Executing Test_normal_increment_03()
"dummy" [New File]

Executing Test_visual_increment_01()
"dummy" [New File]

Executing Test_visual_increment_02()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_03()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_04()
"dummy" [New File]

Executing Test_visual_increment_05()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_06()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_07()
"dummy" [New File]5 lines changed

Executing Test_visual_increment_08()
"dummy" [New File]

Executing Test_visual_increment_09()
"dummy" [New File]

Executing Test_visual_increment_10()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_11()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_12()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_13()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_14()
"dummy" [New File]

Executing Test_visual_increment_15()
"dummy" [New File]

Executing Test_visual_increment_16()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_17()
"dummy" [New File]

Executing Test_visual_increment_18()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_19()
"dummy" [New File]

Executing Test_visual_increment_20()
"dummy" [New File]

Executing Test_visual_increment_21()
"dummy" [New File]

Executing Test_visual_increment_22()
"dummy" [New File]

Executing Test_visual_increment_23()
"dummy" [New File]

Executing Test_visual_increment_24()
"dummy" [New File]

Executing Test_visual_increment_25()
"dummy" [New File]

Executing Test_visual_increment_26()
"dummy" [New File]

Executing Test_visual_increment_27()
"dummy" [New File]

Executing Test_visual_increment_28()
"dummy" [New File]

Executing Test_visual_increment_29()
"dummy" [New File]

Executing Test_visual_increment_30()
"dummy" [New File]

Executing Test_visual_increment_31()
"dummy" [New File]

Executing Test_visual_increment_32()
"dummy" [New File]_31" [New File]


Executing Test_visual_increment_33()
"dummy" [New File]

Executing Test_visual_increment_34()
"dummy" [New File]

Executing Test_visual_increment_35()
"dummy" [New File]

Executing Test_visual_increment_36()
"dummy" [New File]

Executing Test_visual_increment_37()
"dummy" [New File]

Executing Test_visual_increment_38()
"dummy" [New File]"test_increment.res" [New File][New] 0L, 0C written


Executed 41 tests
"messages" 178L, 4067C222L, 5628C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment_dbcs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment_dbcs.vim" 30 lines, 604 characters


Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 222L, 5628C[converted] 226L, 5709C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_job_fails.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_job_fails.vim" 19 lines, 598 characters


Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"226L, 5709C230L, 5784C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_json.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_json.vim" 287 lines, 10700 characters


Executing Test_js_decode()


Executing Test_js_encode()


Executing Test_json_decode()


Executing Test_json_encode()


"test_json.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"230L, 5784C237L, 5934C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_langmap.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_langmap.vim" 28 lines, 628 characters


Executing Test_langmap()
"test_langmap.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"237L, 5934C241L, 5999C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_man.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_man.vim" 60 lines, 1358 characters


Executing Test_g_ft_man_open_mode()




Cannot find a 'vim'.


Executing Test_nomodifiable()




Cannot find a 'vim'.
"test_man.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"241L, 5999C246L, 6102C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_marks.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_marks.vim" 26 lines, 775 characters


Executing Test_Incr_Marks()


Executing Test_Restore_DelMark()1 more line; before #2  0 seconds ago
1 line less; after #2  0 seconds agomore line; before #2  0 seconds ago
"test_marks.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"246L, 6102C251L, 6202C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_matchadd_conceal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049lExecuting Test_clearmatches()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_default_conceal_char()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #+This+is+a+Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_conceallevel_3()#ThisisaTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #Thisisa Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_syn_conceal()Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_repeat_conceal_with_syntax_off()TARGET_TARGETTARGET
t_ttsimple_matchadd()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_simple_matchadd_and_conceal()#XThisXisXaXTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_syn_and_match_conceal()#ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #*This*is*a*Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_using_matchaddpos()#Pis a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       "test_matchadd_conceal.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"251L, 6202C263L, 6616C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession.vim" 104 lines, 2315 characters


Executing Test_mksession()
"/tmp/vGfWvjn/0" [New] 9L, 203C written


search hit BOTTOM, continuing at TOP
"test_mksession.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 263L, 6616C[converted] 267L, 6685C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession_utf8.vim" 104 lines, 2328 characters


Executing Test_mksession_utf8()
"/tmp/vIqE3kz/0" [New] 9L, 215C written


search hit BOTTOM, continuing at TOP
"test_mksession_utf8.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"267L, 6685C271L, 6764C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_nested_function.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_nested_function.vim" 67 lines, 1305 characters


Executing Test_max_nesting()


Executing Test_nested_argument()


[]


Executing Test_nested_functions()
"test_nested_function.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"271L, 6764C277L, 6909C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_netbeans.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"277L, 6909C280L, 6950C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_normal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_normal.vim" 2280 lines, 58740 characters


Executing Test_normal00_optrans()

Executing Test_normal01_keymodel()
4 lines yankedExecuting Test_normal02_selectmode()10 fewer lines

Executing Test_normal02_selectmode2():set im
[?12l[?25h[?25l:set noim


Executing Test_normal03_join()


Executing Test_normal04_filter():.!sed -e 's/^/|    /'
[?12l[?25h[?1l>[?1049lone
[?1049h[?1h=[?25l:.!sed -e 's/^/|    /'
[?12l[?25h[?25l:.!
:!echo one
[?1l>[?12l[?25h[?1049l

[No write since last change]

one


Press ENTER or type command to continue[?1049h[?1h=[?25l:.!!
[?12l[?25h

[?25lExecuting Test_normal05_formatexpr()


Executing Test_normal05_formatexpr_newbuf()
"another" [New File]

Executing Test_normal05_formatexpr_setopt()


Executing Test_normal06_formatprg():.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered

Executing Test_normal07_internalfmt()
7 fewer lin

Executing Test_normal08_fold()


Executing Test_normal09_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal09a_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal10_expand()


Executing Test_normal11_showcmd()

Executing Test_normal12_nv_error()


Executing Test_normal13_help()
"help.txt" [readonly] 225L, 8437C


Executing Test_normal14_page()


Executing Test_normal14_page_eol()

Executing Test_normal15_z_scroll_vert()


Executing Test_normal16_z_scroll_hor()


Executing Test_normal17_z_scroll_hor2()


Executing Test_normal18_z_fold()


Executing Test_normal19_z_spell()
Word 'goood' added to ./Xspellfile.add
search hit BOTTOM, continuing at TOPWord 'goood' added to ./Xspellfile.add2 goood' added to ./Xspellfile.add/tmp/v5mzzt1/11removed from /tmp/v5mzzt1/11goood' added to /tmp/v5mzzt1/11removed from /tmp/v5mzzt1/11added to ./Xspellfile.addremoved from ./Xspellfile.add2 goood' added to ./Xspellfile.addremoved from ./Xspellfile.addgoood' added to ./Xspellfile2.add

Executing Test_normal20_exmode()


Executing Test_normal21_nv_hat()
"Xfoobar" [New File]ile2" [New File]

Executing Test_normal22_zet()


Executing Test_normal23_K()
"version8.txt" [readonly] 14932L, 562906Cline 1 of 14932 --0%-- col 1
"man" [New File]aa%bb" [New File]
"cc|dd
:! man --pager=cat 'man'[?1l>[?12l[?25h[?1049l

[No write since last change]

stdin not open for reading!


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25lExecuting Test_normal24_rot13()


Executing Test_normal25_tag()
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"insert.txt" [readonly] 2003L, 82815Cline 49 of 2003 --2%-- col 7-49


Executing Test_normal26_put()


Executing Test_normal27_bracket()


21 substitutions on 21 lines


Executing Test_normal28_parenthesis()


Executing Test_normal29_brace()
17 fewer lines4 fewer lines3

Executing Test_normal30_changecase()


Executing Test_normal31_r_cmd()

Executing Test_normal32_g_cmd1()
/x_foo?abc

Executing Test_normal33_g_cmd2()/[1-8]
search hit BOTTOM, continuing at TOP
9 substitutions on 9 linesblock of 3 lines yanked5

Executing Test_normal34_g_cmd3()


Executing Test_normal35_g_cmd4()


Executing Test_normal36_g_cmd5()


Executing Test_normal37_g_cmd6()
"1.txt" [New File]23


Executing Test_normal38_nvhome()


Executing Test_normal39_cw()

Executing Test_normal40_ctrl_bsl()

Executing Test_normal41_insert_reg()=a
=a
=a


Executing Test_normal42_halfpage()


Executing Test_normal43_textobject1()


Executing Test_normal44_textobjects2()


Executing Test_normal45_drop()


Executing Test_normal46_ignore()


Executing Test_normal47_autocmd()


Executing Test_normal47_visual_buf_wipe()


Executing Test_normal48_wincmd()


Executing Test_normal49_counts()


Executing Test_normal50_commandline()q:  :xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :set im

:set noim

:.!sed -e 's/^/|    /'

:.!

:!echo one

:.!!

:

[Command Line]                                                                  [?12l[?25h[?25l[?12l[?25h[?25l:^M   



Executing Test_normal51_FileChangedRO()
"Xreadonly.log" 1L, 4C
Error detected while processing ...13]..Test_normal51_FileChangedRO:
line    8:W10: Warning: Changing a readonly file

Executing Test_normal52_rl()3_digraph()


Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][New] 0L, 0C written


Executed 61 tests
"messages" 280L, 6950C348L, 9314C written
[?1l>[?12l[?25h[?1049l

VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_packadd.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_packadd.vim" 238 lines, 8288 characters


Executing Test_colorscheme()


Executing Test_colorscheme_completion():colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')acolorscheme one')dcolorscheme one')dcolorscheme one')(colorscheme one')lcolorscheme one')icolorscheme one'),colorscheme one') colorscheme one')'colorscheme one')
:colorscheme ...one...three')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')acolorscheme three')dcolorscheme three')dcolorscheme three')(colorscheme three')lcolorscheme three')icolorscheme three'),colorscheme three') colorscheme three')'colorscheme three')
:colorscheme ...one...three...wo')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')acolorscheme two')dcolorscheme two')dcolorscheme two')(colorscheme two')lcolorscheme two')icolorscheme two'),colorscheme two') colorscheme two')'colorscheme two')
:colorscheme ...one...three...wo...')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')acolorscheme ')dcolorscheme ')dcolorscheme ')(colorscheme ')lcolorscheme ')icolorscheme '),colorscheme ') colorscheme ')'colorscheme ')


Executing Test_helptags()


Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C writtenalso/loaded.vim" [New File][New] 1L, 29C writtenftdetect/test.vim" [New File[New] 1L, 26C written


Executing Test_packadd_completion():packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')apackadd pluginA')dpackadd pluginA')dpackadd pluginA')(packadd pluginA')lpackadd pluginA')ipackadd pluginA'),packadd pluginA') packadd pluginA')'packadd pluginA')
:packadd ...pluginA...B')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')apackadd pluginB')dpackadd pluginB')dpackadd pluginB')(packadd pluginB')lpackadd pluginB')ipackadd pluginB'),packadd pluginB') packadd pluginB')'packadd pluginB')
:packadd ...pluginA...B...C')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')apackadd pluginC')dpackadd pluginC')dpackadd pluginC')(packadd pluginC')lpackadd pluginC')ipackadd pluginC'),packadd pluginC') packadd pluginC')'packadd pluginC')
:packadd ...pluginA...B...C...')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')apackadd ')dpackadd ')dpackadd ')(packadd ')lpackadd ')ipackadd '),packadd ') packadd ')'packadd ')


Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C written


Executing Test_packloadall()


Executing Test_runtime()
"test_packadd.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"348L, 9314C359L, 9597C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_perl.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_perl.vim" 123 lines, 3037 characters


Executing Test_SvREFCNT()
"t" [New File]

Executing Test_VIM_package()


Executing Test_change_buffer()/^1


Executing Test_evaluate_list()/^2
search hit BOTTOM, continuing at TOP


Executing Test_perldo()
"__TEST__" [New File]test_perl.vim"123L, 3037C


Executing Test_perleval()


Executing Test_stdio()


&VIM::Msg


STDOUT


STDERR
"test_perl.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"359L, 9597C369L, 9825C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_profile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_profile.vim" 146 lines, 6247 characters


Executing Test_profile_completion():profile ...continue file func pause start
:"profile continue file func pause start
:"
:profile start test_prof...ile.vim
:"profile start test_profile.vim
:"


Executing Test_profile_errors()


Executing Test_profile_file()


Executing Test_profile_func()
"test_profile.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"369L, 9825C376L, 9994C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_quickfix.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_quickfix.vim" 1693 lines, 46351 characters


Executing Test_Autocmd()
"F1" [New File]

(1 of 1): Line 10
"F2" [New File]

(1 of 2): Line 10


Executing Test_Autocmd_Exception()


Executing Test_adjust_lnum()


Already only one window
"Xqftestfilec" 20L, 131C


9 fewer lines


Already only one window
"Xqftestfilel" 20L, 131C


9 fewer lines


Executing Test_browse()
"Xqftestfile1" 20L, 131C


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


Executing Test_caddbuffer_to_empty()
"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


(2 of 1486):


Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File]

Executing Test_caddexpr_wrong()


(1 of 1):


(1 of 1):


Executing Test_cage()


error list 9 of 10; 1 errors      :cgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :cgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 9 of 10; 1 errors      :lgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :lgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


Executing Test_cbottom()


Executing Test_cbuffer()
"Xtestfile7" [New File]

(1 of 2): Line 700
"Xtestfile7" [New File]


(1 of 2): Line 700


Executing Test_cexpr()


Executing Test_cfile()
"Xtestfile1" [New File]


(1 of 2): Line 700


"Xtestfile1" [New File]


(1 of 2): Line 700


Executing Test_cgetexpr_works()


Executing Test_clist()


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


Executing Test_cwindow()~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Quickfix List]                                                                 ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Location List]                                                                 Executing Test_dirstack_cleanup()


(1 of 1): 0


Executing Test_duplicate_buf()
"DoesNotExist" [New File]2" [New File]


Xgrepthis
"Xgrepthis" line 1 of 2 --50%-- col 1


(1 of 2): this one


Xgrepthis
(1 of 2): this one


Executing Test_efm()


Executing Test_efm1()
"Xtestfile" 21L, 903C


(1 of 20): 1506-045 (S) Undeclared identifier fd_set.


(20 of 20): What is the title of the quickfix window?


Executing Test_efm2()
"Xtestfile" [New File]


Executing Test_efm_dirstack()


Executing Test_efm_ignore_continuations()


Executing Test_errortitle()


Executing Test_grep()


Already only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lAlready only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lExecuting Test_helpgrep()

"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1

(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


Executing Test_history()


error list 1 of 10; 1 errors      :  cexpr 'Xtestfile:Line search text'


error list 1 of 2; 1 errors:  cexpr 'Xtestfile:Line search text'


error list 1 of 3; 13 errors      :lexpr ""


error list 1 of 2; 13 errors      :lexpr ""


Executing Test_invalid_efm()


Executing Test_locationlist()


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


W19: Deleting augroup that is still in use
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" 1L, 11Cbar1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=

[?25lAlready only one window


Executing Test_locationlist_curwin_was_closed()


W19: Deleting augroup that is still in use
Executing Test_long_lines()"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C


Error detected while processing function RunTheTest[13]..Test_nomem:


line    2:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C


line    5:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C


line    8:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C


line   11:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C


line   14:


E342: Out of memory!  (allocating 1025 bytes)


Executing Test_qf_property()


Executing Test_qf_title()


Executing Test_quickfix_set_list_with_act()


Executing Test_quickfix_was_changed_by_autocmd()


error list 9 of 10; 1 errors      :setqflist()


W19: Deleting augroup that is still in use
error list 9 of 10; 1 errors      :setloclist()


error list 9 of 10; 1 errors      :setloclist()


W19: Deleting augroup that is still in use
Executing Test_setqflist()"Xtestfile" [New File]

(2 of 2):


(3 of 3):


(2 of 2):


(3 of 3):


Executing Test_setqflist_empty_middle()


test_quickfix.vim
"test_quickfix.vim" 1693L, 46351C


(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :vimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :vimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setqflist()


error list 10 of 10; 2 errors     :vimgrep matches test_quickfix.vim


test_quickfix.vim
(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :lvimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :lvimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setloclist()


error list 10 of 10; 2 errors     :lvimgrep matches test_quickfix.vim


Executing Test_setqflist_empty_older()


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :vimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :vimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :vimgrep three test_quickfix.vim


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :lvimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :lvimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :lvimgrep three test_quickfix.vim


Executing Test_switchbuf()
"Xqftestfile1" 20L, 131C220L, 131C1" line 1 of 20 --5%-- col 1


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" line 1 of 20 --5%-- col 1


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C220L, 131C


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


Already only one window
"Xqftestfile1" 20L, 131C220L, 131C320L, 131C


Executing Test_two_windows()
"one" [New File]two


Executing Test_vimgreptitle()


file
"file" [New File]


Cannot open file "file"
"test_quickfix.res" [New File][New] 0L, 0C written


Executed 42 tests
"messages" 376L, 9994C421L, 11297C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_ruby.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_ruby.vim" 34 lines, 820 characters


Executing Test_ruby_change_buffer()/^1


Executing Test_ruby_evaluate_dict()


{"a"=>"foo", "b"=>123}


Executing Test_ruby_evaluate_list()/^2
search hit BOTTOM, continuing at TOP
"test_ruby.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"421L, 11297C427L, 11443C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_search.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search.vim" 296 lines, 8731 characters


Executing Test_search_cmdline()/foobar
/the
search hit BOTTOM, continuing at TOP/thes
/foobar
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
?the
?the
?the
?the
?the
?the
?the
?the
?the
?the
search hit TOP, continuing at BOTTOM/thes
/thes
/thes
/thes
/thei
/theis
/theiss
/themthe\>
Executing Test_search_cmdline2()/the
/the
/the
/the
/the
/the
/the
/foo
6 their

  7 the

  8 them

  9 these

 10 foobar

[No Name] [+]                                                                   " Test for the search command



func Test_search_cmdline()

  if !exists('+incsearch')

    return

  endif

  " need to disable char_avail,

  " so that expansion of commandline works

  call test_disable_char_avail(1)

  new

  call setline(1, ['  1', '  2 these', '  3 the', '  4 their', '  5 there', '  66 their', '  7 the', '  8 them', '  9 these', ' 10 foobar'])

  " Test 1

  " CTRL-N / CTRL-P skips through the previous search history

  set noincsearch

  :1

test_search.vim                                                                 Executing Test_searchpair()


Executing Test_use_sub_pat()
"test_search.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"427L, 11443C434L, 11605C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_signs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_signs.vim" 199 lines, 6383 characters


Executing Test_sign()
"foo" [New File]a  b  c xd                                                                                 ~

[No Name] [+]                                                                   " Test for signs



if !has('signs')

  finish

endif

test_signs.vim                                                                  ~                                                                               ~                                                                               ~                                                                               ~                                                                               foo                                                                               a

  b

x c

  d

[No Name] [+]                                                                     a  bx c  d  ~   "foo" [New file] --No lines in buffer--
"barF

Executing Test_sign_completion():sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
:sign jump 1 ...buffer= file=
:"sign jump 1 buffer= file=
:"


Executing Test_sign_delete_buffer()


Executing Test_sign_invalid_commands()


Executing Test_sign_undefine_still_placed()
"foobar" [New File]test_signs.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"434L, 11605C442L, 11818C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_smartindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_smartindent.vim" 14 lines, 376 characters


Executing Test_nosmartindent()/some
search hit BOTTOM, continuing at TOP"test_smartindent.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"442L, 11818C446L, 11893C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup.vim" 185 lines, 4581 characters


Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l1: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xbefore.vim


  2: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xhere/plugin/here.vi


m

  3: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xhere/pack/foo/start


/foobar/plugin/foo.vim


  4: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xafter/plugin/later.


vim


  5: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xafter.vim


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25lError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/Xafter.vim:


line    2:


E528: Must specify a ' value: viminfo+=nviminfo


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=

[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=

[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 1 line, 10 characters[?12;25h[?12l[?25h"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=

[?25lExecuting Test_startup_script()[?1000h


Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l"test_startup.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"446L, 11893C456L, 12144C written
[?1000l

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup_utf8.vim" 64 lines, 1366 characters


Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"/dev/fd/63" [readonly] 2 lines, 24 characters


"Xtestout" [New File] 2 lines, 24 characters written


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 2 lines, 24 characters[?12;25h[?12l[?25h"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=[?25l"test_startup_utf8.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"456L, 12144C461L, 12255C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_stat.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_stat.vim" 64 lines, 1598 characters


Executing Test_checktime()
"Xtest.tmp" 1L, 13C[?12l[?25h[?25l1L, 25C


Executing Test_existent_directory()


Executing Test_existent_file()[?12l[?25h


[?25lExecuting Test_nonexistent_file()


Executing Test_win32_symlink_dir()
"test_stat.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"461L, 12255C469L, 12456C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_substitute.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_substitute.vim" 41 lines, 1151 characters


Executing Test_multiline_subst()


search hit BOTTOM, continuing at TOP
3 substitutions on 3 lines

3 substitutions on 2 lines
"test_substitute.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"469L, 12456C473L, 12532C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_syntax.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_syntax.vim" 164 lines, 4101 characters


Executing Test_syn_iskeyword()CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


syntax iskeyword @,48-57,_,192-255CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


Executing Test_syntax_after_reload()
"Xsomefile" [New File][New] 2L, 12C written
"other" [New File]Xsomefile" 2L, 12C


Executing Test_syntax_completion():syn ...case clear cluster conceal enable include iskeyword keyword list manual ma


tch off on region reset spell sync"syn case clear cluster conceal enable include iskeyword keyword list manual match off on region reset spell sync
:syn case ...ignore match
:"syn case ignore match
:"
:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=


minlines= region"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= minlines= region
:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu


rsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha


nge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol


dColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr


Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen


uSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig


nColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc


al SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab


Line TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis


ual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC


ond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun


ctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp


erator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr


ing2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr


ow perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets


SQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErro"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant Cursor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu PmenuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal SpellRare Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaCond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFunctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOperator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaString2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArrow perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBracketsSQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErr
:syn match ...Boolean Character ColorColumn Comment Conceal Conditional Constant C
:"syn match Boolean Character ColorColumn Comment Conceal Conditional Constant 
:"


Executing Test_syntax_list()
"../memfile_test.c" [readonly] 143L, 3142C


--- Syntax items ---




--- Syntax items ---


"Xsomefile" [New File]


Executing Test_syntime()
"../memfile_test.c" [readonly] 143L, 3142C/* vi:set ts=8 sts=4 sw=4 noet:

 *

 * VIM - Vi IMproved    by Bram Moolenaar

 *

 * Do ":help uganda"  in Vim to read copying and usage conditions.

 * Do ":help credits" in Vim to see a list of people who contributed.

 * See README.txt for an overview of the Vim source code.

 */



/*

 * memfile_test.c: Unittests for memfile.c

 * Mostly by Ivan Krasilnikov.

 */



#undef NDEBUG

#include <assert.h>



/* Must include main.c because it contains much more than just main() */

#define NO_VIM_MAIN

#include "main.c"



/* This file has to be included because the tested functions are static */

#include "memfile.c"

"Xsomefile" [New File]
"test_syntax.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"473L, 12532C481L, 12729C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_system.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_system.vim" 92 lines, 2910 characters


Executing Test_System()
"Xdummy" [New File]

Executing Test_system_exmode()
"test_system.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"481L, 12729C486L, 12824C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_textobjects.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_textobjects.vim" 43 lines, 946 characters


Executing Test_inner_block_with_cpo_M_left_backslash()


Executing Test_inner_block_with_cpo_M_right_backslash()


Executing Test_inner_block_without_cpo_M()
"test_textobjects.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"486L, 12824C492L, 13023C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_undo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_undo.vim" 265 lines, 6936 characters


Executing Test_U_command()Executing Test_global_local_undolevels()
"one" [New File]

6 fewer lines; before #8  0 seconds ago
"two" [New File]

3 fewer lines; before #11  0 seconds ago
"three" [New File]

Executing Test_insert_expr()=setline('.','1234')
1 line less; before #4  0 seconds ago3=setline('.','1234')
1 line less; before #7  0 seconds ago=string(123)
1 line less; before #9  0 seconds ago


Executing Test_undo_del_chars()
1 change; before #3  0 seconds ago21


1 change; before #6  1 seconds ago5
4s; after #3
1; before #21


3 changes; after #6  1 seconds ago3 changes; before #7  0 seconds ago


3 changes; before #1  3 seconds ago


3 changes; after #6  3 seconds ago


3 changes; after #9  0 seconds ago


Executing Test_undo_write()
"Xtest" [New File]"Xtest" [New] 1L, 12C written"Xtest" 3L, 20C written1 line less; before #4  0 seconds ago


2 fewer lines; before #2  0 seconds ago


1 line less; before #1  0 seconds ago


1 more line; after #1  0 seconds ago


2 more lines; after #3  0 seconds ago


1 more line; after #4  0 seconds ago


Executing Test_undofile_earlier()
"Xfile" [New File]"Xfile" [New] 3L, 14C written3L, 14C


Finished reading undo file Xundofile


3 fewer lines; before #1  2017/07/13 19:08:47


Executing Test_undojoin()1 line less; before #2  0 seconds ago2 fewer lines; before #3  0 seconds ago


Executing Test_undolist()1 change; before #2  0 seconds agoExecuting Test_undotree()

1 change; before #2  0 seconds ago
"Xtest" [New] 1L, 4C written
"test_undo.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"492L, 13023C504L, 13330C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_usercommands.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_usercommands.vim" 104 lines, 2527 characters


Executing Test_Ambiguous()


Executing Test_CmdUndefined()


Executing Test_cmdmods()
"test_usercommands.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"504L, 13330C510L, 13458C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viminfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viminfo.vim" 515 lines, 13496 characters


Executing Test_cmdline_history()


Executing Test_cmdline_history_order()


Executing Test_global_vars()


Executing Test_viminfo_bad_syntax()


Executing Test_viminfo_encoding()
"Xviminfo" [converted] 73L, 3483C


Executing Test_viminfo_file_mark_tabclose()
"Xtestfileintab" [New File]viminfo" 83L, 3664C


Executing Test_viminfo_file_mark_zero_time()


Executing Test_viminfo_file_marks()
"ten" [New File]again" [New File]
"thirty" [New File]
"twen
"again" [New File]fourty" [New File]
"Xviminfo" 90L, 3462C


Executing Test_viminfo_jumplist()
"testbuf" [New File]/20
/30
/last pos
/15
/last pos
?30
/15
/last pos
?30
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here


Executing Test_viminfo_marks()
"bufa" [New File]b


Executing Test_viminfo_oldfiles()


Executing Test_viminfo_read_and_write()


Executing Test_viminfo_registers()
"test_viminfo.res" [New File][New] 0L, 0C written


Executed 13 tests
"messages" 510L, 13458C526L, 13970C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viml.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viml.vim" 1316 lines, 31904 characters


Error detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/test_viml.vim:


line  432:


E492: Not an editor command: ^Iasdf


line  444:


E492: Not an editor command: ^Iasdf


line  452:


E492: Not an editor command: asdf


line  455:


E492: Not an editor command: asdf | Xpath 'p'


Error detected while processing function T8_F:


line    5:


E492: Not an editor command: ^I    asdf


line    7:


E492: Not an editor command: ^I    asdf | Xpath 'd'


line   19:


E492: Not an editor command: ^I    asdf


line   21:


E492: Not an editor command: ^I    asdf | Xpath 'l'


line   29:


E121: Undefined variable: novar


E15: Invalid expression: novar^I^I" returns (default return value 0)


Error detected while processing function T8_G:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function T8_H:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function F[2]..G[2]..H[2]..I:


line    2:


E492: Not an editor command:     asdf^I^I" error


Error detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t


estdir/test_viml.vim:


line  663:


E15: Invalid expression: | strlen("\"") | Xpath 'j'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'


line  673:


E15: Invalid expression: | strlen("\"") | Xpath 'n'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'


line  682:


E15: Invalid expression: | strlen("\"") | Xpath 'r'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'


line  717:


E492: Not an editor command:     asdf^I^I" error


1

line  787:


E492: Not an editor command:     asdf^I^I" error


line  794:


E492: Not an editor command:     asdf^I^I" error


line  817:


E121: Undefined variable: asdf


E15: Invalid expression: asdf


line  828:


E121: Undefined variable: asdf


E15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'


Error detected while processing function F:


line    8:


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar^I" possibly undefined


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif


Executing Test_arg_abort()


Executing Test_braces_skipped()


Executing Test_curlies()


Executing Test_defining_functions()


Executing Test_echo_and_string()


foo bar


'foo bar'


-1.2


-1.2


string


function('string')


{'a': {...}}


{'a': {...}}


[[...]]


[[...]]


[{}, {}, {}]


[{}, {}, {}]


{'a': {}, 'b': {}}


{'a': {}, 'b': {}}


[[], [], []]


[[], [], []]


{'a': [], 'b': []}


{'a': [], 'b': []}


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {...}, {...}]


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {'one': 'yes', 'two': 'yes', 'th


ree': 'yes'}, {'one': 'yes', 'two': 'yes', 'three': 'yes'}]


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {...}}


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {'one': 'yes', 'two':


'yes', 'three': 'yes'}}


[[1, 2, 3], [...], [...]]


[[1, 2, 3], [1, 2, 3], [1, 2, 3]]


{'a': [1, 2, 3], 'b': [...]}


{'a': [1, 2, 3], 'b': [1, 2, 3]}


Executing Test_endwhile_function()


Executing Test_endwhile_script()


   function T1_F()


1      Xpath 'a'


2      let first = 1


3      while 1


4Xpath 'b'


5if first


6Xpath 'c'


7let first = 0


8break


9else


10Xpath 'd'


11return


12endif


13     endwhile


   endfunction"/tmp/vLX1gc6/0" [noeol] 16L, 299C

13 substitutions on 13 lines

Pattern not found: ^\s*$
"/tmp/vLX1gc6/0" 13L, 248C written
"test_viml.vim" 1316L, 31904C

   function T1_G()

1      Xpath 'h'

2      let first = 1

3      while 1

4Xpath 'i'

5if first

6Xpath 'j'

7let first = 0

8break

9else

10Xpath 'k'

11return


12endif


13if 1    " unmatched :if


14     endwhile


   endfunction"/tmp/vLX1gc6/1" [noeol] 17L, 334C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vLX1gc6/1" 14L, 281C written
"test_viml.vim" 1316L, 31904C

Executing Test_error_in_function()

Executing Test_error_in_script()

Executing Test_expr_parsing()

Executing Test_finish()

   function T4_F()

1      if 1

2Xpath 'a'

3let loops = 3

4while loops > 0"    3:  2:     1:

5Xpath 'b' . loops

6if (loops == 2)

7Xpath 'c' . loops

8return


9Xpath 'd' . loops


10endif


11Xpath 'e' . loops


12let loops = loops - 1


13endwhile


14Xpath 'f'


15     else


16Xpath 'g'


17     endif


   endfunction"/tmp/vLX1gc6/2" [noeol] 20L, 504C

17 substitutions on 17 lines

Pattern not found: ^\s*$
"/tmp/vLX1gc6/2" 17L, 445C written
"test_viml.vim" 1316L, 31904C

Executing Test_func_abort()

Executing Test_if_bar_fail()

Executing Test_if_fail()

Executing Test_if_while()

Executing Test_num64()

Executing Test_return()

Executing Test_script_lines()

Executing Test_skip()

Executing Test_type()

Executing Test_while_fail()
"test_viml.res" [New File][New] 0L, 0C written

Executed 21 tests
"messages" 526L, 13970C550L, 14609C written

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_visual.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_visual.vim" 25 lines, 506 characters


Executing Test_block_shift_multibyte()


Executing Test_dotregister_paste()"test_visual.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"550L, 14609C555L, 14723C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_window_id.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_window_id.vim" 103 lines, 2714 characters


Executing Test_win_getid()
"one" [New File]twohree" [New File]
"four" [New File]ive


Executing Test_win_getid_curtab()
"X" [New File]test_window_id.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"555L, 14723C560L, 14827C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_writefile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_writefile.vim" 16 lines, 490 characters


Executing Test_WriteFile()
"test_writefile.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"560L, 14827C564L, 14896C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_latin.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_latin.vim" 7 lines, 280 characters


Executing Test_eow_with_optional()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_nested_backrefs()


Executing Test_recursive_substitute()
"test_alot_latin.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"[converted] 564L, 14896C[converted] 572L, 15112C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049lExecuting Test_classes_re1()


Executing Test_classes_re2()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_match_using_multibyte_conceal_char()#ˑThisˑisˑaˑTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " A series of tests that can run in one Vim invocation.

" This makes testing go faster, since Vim doesn't need to restart.



" These tests use utf8 'encoding'.  Setting 'encoding' is already done in

" runtest.vim.  Checking for the multi_byte feature is in the individual

" files, so that they can be run by themselves.



source test_expr_utf8.vim

source test_matchadd_conceal_utf8.vim

source test_regexp_utf8.vim

test_alot_utf8.vim                                                              Executing Test_source_latin()
"Xscript"[New] 2L, 44C written
Executing Test_source_utf8()"Xscript"[New] 2L, 42C written:%s/àx/--à1234--/g
:%s/Àx/--À1234--/g


Executing Test_strcharpart()


Executing Test_strgetchar()
"test_alot_utf8.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"572L, 15112C584L, 15447C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot.vim" 48 lines, 1233 characters


Executing Test_BufEnter()
"NewFile" [New File]Xdir" is a directory


Executing Test_abbreviation()Executing Test_abs()


Executing Test_acos()


Executing Test_asin()


Executing Test_atan()


Executing Test_atan2()


Executing Test_augroup_deleted()


W19: Deleting augroup that is still in use
Executing Test_augroup_warning()

W19: Deleting augroup that is still in useentering


Executing Test_auto_partial_rebind()


Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File]

"bb.txt" [New File]


Executing Test_autocmd_bufunload_avoiding_SEGV_02()

"a.txt" [New File]
"test_alot.vim" 48L, 1233C


Executing Test_autocmd_bufunload_with_tabnext()


Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File]

Executing Test_bind_in_python()


Executing Test_break_undo()Executing Test_bufunload()


Executing Test_cancel_ptjump()


Already only one window:ptjump word
  # pri kind tagfile


  1 Fwordfile1


cmd1


  2 Fwordfile2


cmd2


Type number and <Enter> (empty cancels): 
"help.txt" [readonly] 225L, 8437C


Executing Test_caught_error_in_statusline()source test_messages.vim

source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



                                                                                Executing Test_caught_error_in_tabline()                                                                                source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



test_alot.vim                                                                   Executing Test_ceil()


Executing Test_closure_counter()


Executing Test_closure_refcount()


Executing Test_closure_unlet()


Executing Test_color_names()


Executing Test_compare_null_dict()


Executing Test_compare_partials()


Executing Test_compl_vim_cmds_after_register_expr()=s:test_func()
 AAAAA_Group             BufAdd                  BufCreate               BufDelete               BufEnter                BufFilePost             BufFilePre              BufHidden               BufLeave                BufNew                  BufNewFile              BufRead                 BufReadCmd              BufReadPost             tBufReadPre              BufUnload               BufWinEnter             BufWinLeave             BufWipeout              BufWrite                BufWriteCmd             BufWritePost           Executing Test_complete_no_undo()=UndoComplete()
xxx

aaa

yyy

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   test_tabpage.vimtest_tagcase.vimtest_tagjump.vimtest_timers.vimtest_true_false.vimtest_unlet.vimsource test_window_cmd.vimsource test_options.vime hereTest3: text with a (parenthesis here

test_alot.vim                                                                   January        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       1 change; before #2  0 seconds ago=UndoComplete()

bbb

yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       -- INSERT --January        1 change; before #4  0 seconds ago=UndoComplete()


yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December           
January



~              

~              

~              

~              

~              

~              

~              

~              February       

March          

April          

May            

June           

July           

August         

September      -- INSERT --January        1 change; before #5  0 seconds ago


Executing Test_completefunc_opens_new_window_one()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_opens_new_window_two()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_with_scratch_buffer()January        

February

March     

April   

May      January        

February       info2-1

2-2

2-3



February

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis hereJanuary        

February       

March          

April          

May            



[Scratch]                                                                       test_alot.vim                                                                   [Scratch] [Preview]                                                             [Scratch]                                                                       
March~              

~              

~              

~              

~              January        

February       

March          

April          

May            3

3

3[Scratch]                                                                        [Scratch]                                                                       February       

March          
April

~              

~              

~              

~              

~              January        

February       

March          

April          

May            4

4

4[Scratch]                                                                        [Scratch]                                                                       March          

April          Executing Test_completefunc_works()


search hit BOTTOM, continuing at TOPthreedef       

threeDEF       threedef       

threeDEF       
threeDEF

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~              

~              

~              

~              

~              threedef       

threeDEF       Executing Test_completion_ctrl_e_without_autowrap()Executing Test_cos()


Executing Test_cosh()


Executing Test_cursorhold_insert()[?12l[?25h[?25lExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25lExecuting Test_cursorline_keep_col()


Executing Test_curswant_with_autocommand()

Executing Test_cycle_partial_job()


Executing Test_cyclic_dict_arg()


Executing Test_cyclic_list_arg()


Executing Test_delete_myself()[?12l[?25h


[?25lExecuting Test_dict()


Executing Test_dictionary()


Executing Test_dir_delete()


Executing Test_early_bar()


Executing Test_empty_buffer()


Executing Test_empty_doau()


No matching autocommands


Executing Test_equal()


Executing Test_ex_undo()
"ex-undo" [New File]

1 line less; before #3  0 seconds ago


1 line less; after #1  0 seconds ago


2 fewer lines; before #1  0 seconds ago


Executing Test_execute_list()


Executing Test_execute_string()


this


theend


something


Executing Test_existing()


Executing Test_exp()


Executing Test_expand()


Executing Test_feedkeys_x_with_empty_string()Executing Test_file_delete()
"Xfile" [New File][New] 2L, 4C written


Executing Test_file_perm()


Executing Test_fileformat_after_bw()
"a.txt" [New File]ex-undo" [New File]


Executing Test_filetype_valid()


Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File]ex-undo" [New File]

Executing Test_filter_cmd_completion():filter ^I"=execute('let cmdline = getcmdline()')
:filter ^I:filter pat^I"=execute('let cmdline = getcmdline()')
:filter pat^I:filter /pat^I"=execute('let cmdline = getcmdline()')
:filter /pat^I:filter /pat/^I"=execute('let cmdline = getcmdline()')
:filter /pat/^I:filter pat pri...nt"=execute('let cmdline = getcmdline()')
:filter pat print:filter /pat/ pri...nt"=execute('let cmdline = getcmdline()')
:filter /pat/ print:filter #pat# pri...nt"=execute('let cmdline = getcmdline()')
:filter #pat# printExecuting Test_filter_fails()


Executing Test_filter_map_dict_expr_funcref()


Executing Test_filter_map_dict_expr_string()


Executing Test_filter_map_list_expr_funcref()


Executing Test_filter_map_list_expr_string()


Executing Test_floor()


Executing Test_fmod()


Executing Test_fnamemodify()
"test_alot.vim" 48L, 1233C


Executing Test_func_unref()


Executing Test_funcref()


0

Executing Test_function_in_dict()


Executing Test_function_with_funcref()


Executing Test_gD()


Executing Test_gD_char()


Executing Test_gD_comment()


Executing Test_gD_inline_comment()


Executing Test_gD_string()


Executing Test_gD_string_same_line()


Executing Test_gD_too()


Executing Test_gd()


Executing Test_gd_comment()


Executing Test_gd_comment_in_string()


Executing Test_gd_inline_comment()


Executing Test_gd_inline_comment_body()


Executing Test_gd_inline_comment_only()


Executing Test_gd_kr_style()


Executing Test_gd_missing_braces()


Executing Test_gd_not_local()


Executing Test_gd_string()


Executing Test_gd_string_in_comment()


Executing Test_gd_string_only()


Executing Test_gd_trailing_comment()


Executing Test_gd_trailing_multiline_comment()


Executing Test_get_partial_items()


Executing Test_getreg_empty_list()


Executing Test_global_local_lispwords()


Executing Test_help_complete()


Executing Test_help_respect_current_file_lang()
"testdoc.abx" [readonly] 2L, 25Cja[readonly] 2L, 25Cline 1 of 2 --50%-- col 2-9txt[readonly] 2L, 25C
Executing Test_help_tagjump()"help.txt" [readonly] 225L, 8437C
"options.txt" [readonly] 8739L, 370255Cline 7652 of 8739 --87%-- col 7-49
"eval.txt" [readonly][converted] 10613L, 408230C line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1320 of 8739 --15%-- col 4-25
"cmdline[readonly] 1147L, 46822C


Executing Test_if()


Executing Test_info()


Executing Test_invalid()


Executing Test_invalid_submatch()


Executing Test_isnan()


Executing Test_join_with_count()


Executing Test_keymap_valid()


Executing Test_keyword_jump()
"Xtestfile" 9L, 141C


Executing Test_lambda_call_lambda_from_lambda()


Executing Test_lambda_capture_by_reference()


Executing Test_lambda_circular_reference()


Executing Test_lambda_closure_counter()


Executing Test_lambda_combination()


Executing Test_lambda_delfunc()


Executing Test_lambda_do_not_share_local_variable()


Executing Test_lambda_fails()


Executing Test_lambda_feature()


Executing Test_lambda_refer_local_variable_from_other_scope()


Executing Test_lambda_scope()


Executing Test_lambda_share_scope()


Executing Test_lambda_side_effect()


Executing Test_lambda_with_a_var()


Executing Test_lambda_with_filter()


Executing Test_lambda_with_map()


Executing Test_lambda_with_partial()


Executing Test_lambda_with_sort()


Executing Test_lambda_with_timer()[?12l[?25h


[?25l1[?12l[?25h

[?25l2[?12l[?25h

[?25l3[?12l[?25h

[?25l4[?12l[?25h

[?25l5[?12l[?25h

[?25l6[?12l[?25h

[?25l7[?12l[?25h

[?25l8[?12l[?25h

[?25lExecuting Test_load_menu()


Executing Test_log()


Executing Test_log10()


Executing Test_loop_over_null_list()


Executing Test_map_ctrl_c_insert()Executing Test_map_ctrl_c_visual():'<,'>$put ='vmap works'


Executing Test_map_cursor()1 line less; before #8  0 seconds ago


Executing Test_map_feedkeys():call feedkeys(".", "in")
:call feedkeys(".", "in")
Executing Test_map_langmap():call append(line('$'), '+')


Executing Test_map_meta_quotes()Executing Test_match()


abcdefghijklmnopq

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   abcdΣabcdef

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos()12345

NP

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   12345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   012345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos_using_negative_priority()x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchstrpos()


Executing Test_max_min_errors()


Executing Test_messages()


hello0x

-1 match priority

vmap works    hello1234567898


hello9xhello9
Executing Test_missing_attr()


Executing Test_move_cursor()


Executing Test_named_function_closure()


Executing Test_no_type_checking()


Executing Test_noinsert_complete()=s:complTest1()
~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       x

-1 match priority

vmap worksTest1: text with a (here some more text)

Test1: text with a (here some more text)Test2: text wit a (here some more text [und undo])fooc d[No Name]                                                                        source         

soundfold      ndfold=s:complTest2()


~              

~              source         

soundfold      Executing Test_non_zero_arg()


Executing Test_not_existing()


Executing Test_not_lamda()


Executing Test_omnifunc_with_check()


search hit BOTTOM, continuing at TOPfour1

~                                                                               ~                                                                               ~                                                                               [+]four1          

four2          2

~              

~              four1          

four2          four1          

four2          

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          four3          

four4          

four5          

four6          4

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          5

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          four4          

four5          Executing Test_oneshot()[?12l[?25h


[?25lExecuting Test_option_value()


Executing Test_options()
"option-window" [New File]


Executing Test_partial_args()


Executing Test_partial_dict()


Executing Test_partial_exists()


Executing Test_partial_implicit()


Executing Test_partial_string()


Executing Test_path_keep_commas()


Executing Test_paused()[?12l[?25h


[?25lExecuting Test_popup_complete()=ListMonths()

June

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               June           

July           -- INSERT --June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       



February       

March          





March          

April          April          

May            May            

June           June           

July           July           

August         =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           =ListMonths()


~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()

June~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJune           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()
ne

~              

~              June           

July           ~              

~              June           

July           -- INSERT --June           

Julyly

~              

~              July           
July           =ListMonths()
ne

~              
June           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December        
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July           =ListMonths()

January

~              

~              

~              January        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July                 
January

~              

~              

~              January        

June           

July           January        =ListMonths()


~              

~              

~              January        

June           

July           =ListMonths()

June~              

~              

~              June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       



February       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       October        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       
Nov

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November         
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October        =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       October        

November       September      

October        =ListMonths()
=ListMonths()
December2015

December~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xDecember       =ListMonths()

March~                                                                               ~              March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()
March~              
March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()

March

~                                                                               ~              

~              March          

May            =ListMonths()
M~              
March          

May            =ListMonths()
M~              
March          

May            Executing Test_popup_complete2()=ListMonths()
Executing Test_popup_completion_insertmode()=ListMonths()
~                                                                               ~                                                                               ~              

~                  January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       
March~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        February       

March          
April

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        March          

April          
May~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        April          

May             
June

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        May            

June           ly

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        June           

July             
August

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        July           

August            
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        August         

September      
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October         
November

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November       
Dec

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       Executing Test_pow()


Executing Test_printf_64bit()


Executing Test_printf_errors()


0

0

1

0

0

Executing Test_printf_float()


0.000000


Executing Test_printf_misc()


Executing Test_printf_spec_b()


Executing Test_printf_spec_s()


Executing Test_ptag_with_notagstack()


Executing Test_read_only()


Executing Test_recursive_delete()
"Xdir1/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written


Executing Test_redefine_dict_func()


Executing Test_ref_job_partial_dict()


Executing Test_reltime()[?12l[?25h


[?25lExecuting Test_repeat_many()[?12l[?25h


[?25lExecuting Test_repeat_three()[?12l[?25h


[?25lExecuting Test_retain_partial()[?12l[?25h


[?25lExecuting Test_round()


Executing Test_script_function_in_dict()


Executing Test_script_function_in_dict_arg()


Executing Test_searchpos()
"one" [New File]

Executing Test_set_add()


Executing Test_set_backslash()


Executing Test_set_reg_null_list()


Executing Test_set_tagcase()


Executing Test_setmatches()


Executing Test_signcolumn()


Executing Test_sin()


Executing Test_sinh()


Executing Test_sort_default()


Executing Test_sort_float()


Executing Test_sort_nested()


Executing Test_sort_numbers()


Executing Test_sort_numeric()


Executing Test_sort_strings()


Executing Test_special_char()


Executing Test_sqrt()


Executing Test_static_tagjump()
"Xfile1" [New File][New] 3L, 18C written


Executing Test_statusline_will_be_disabled_with_error()x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                                                                                                               Executing Test_stop_all_in_callback()[?12l[?25h


[?25lExecuting Test_stop_in_callback()[?12l[?25h


[?25lExecuting Test_stopall()


Executing Test_str2float()


Executing Test_str2nr()


Executing Test_strcharpart()


Executing Test_strgetchar()


Executing Test_substitute_expr()


Executing Test_substitute_expr_arg()


Executing Test_symlink_delete()
"Xfile" [New File][New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written
"Xdir4/Xfile" [New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_syntax_valid()


Executing Test_tabline_will_be_disabled_with_error()                                                                                x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               [No Name]                                                                       Executing Test_tabnext_on_buf_unload1()


Executing Test_tabnext_on_buf_unload2()


"x" [Not edited] --No lines in buffer--
"y" [New File]

Executing Test_tabpage()
"Xtestfile" [New File]

2 fewer lines; before #1  0 seconds ago
"test1" [New File]newfile" [New File]
"test1" [New File]file] --No lines in buffer--F

Executing Test_tabpage_with_autocmd()


Executing Test_tabpage_with_tab_modifier()
"help.txt" [readonly] line 1 of 225 --0%-- col 1


"ex-undo" [New File]


Executing Test_tagcase()
"Xtext" [New File]

Executing Test_tan()


Executing Test_tanh()


Executing Test_thesaurus()


Executing Test_three_windows()
"Xtestje1" [New File][New] 1L, 8C written2" [New File][New] 1L, 8C written3" [New File][New] 1L, 8C written11L, 8C


"Xtestje3" 1L, 8C21L, 8C11L, 8C


"Xanother" [New File]
"Xtestje11L, 8C
"Xanother" [New File]


Already only one window
"help.txt" [readonly] 225L, 8437C


Executing Test_tostring()


Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=

[?25l"colored" [New File]


Executing Test_trunc()


Executing Test_valid()


Executing Test_version()


Executing Test_vim_did_enter()


Executing Test_whichwrap()


Executing Test_win_tab_autocmd()


"somefile" [New File]


Executing Test_window_cmd_cmdwin_with_vsp()


Executing Test_window_cmd_ls0_with_split()


Executing Test_window_cmd_wincmd_gf()
"test_gf.txt" 0L, 0C
W19: Deleting augroup that is still in use
Executing Test_with_directories()"Xdir1/file" [New File]

"Xdir1/file" [New] 2L, 4C written


"Xdir3/Xdir4/file" [New] 2L, 4C written2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File]Executing Test_with_partial_callback()[?12l[?25h[?25ltilde()rong_arguments()
"test_alot.res" [New File]

"test_alot.res" [New] 0L, 0C written
Executed 245 tests"messages" 584L, 15447C


"messages" 832L, 23479C written


[?1l>[?12l[?25h[?1049l

From test_arglist.vim:
Executing Test_argadd()
Executing Test_argc()
Executing Test_argdelete()
Executing Test_argedit()
Executing Test_argidx()
Executing Test_arglist_autocmd()
Executing Test_arglistid()
Executing Test_argpos()
Executing Test_argument()
Executing Test_argv()
Executing Test_zero_argadd()
Executed 11 tests

From test_assert.vim:
Executing Test_assert_equal()
Executing Test_assert_exception()
Executing Test_assert_fail_fails()
Executing Test_assert_false()
Executing Test_assert_inrange()
Executing Test_assert_notequal()
Executing Test_assert_true()
Executing Test_compare_fail()
Executing Test_match()
Executing Test_notmatch()
Executing Test_user_is_happy()
Executing Test_wrong_error_type()
Executed 12 tests

From test_autochdir.vim:
Executing Test_set_filename()
Executed 1 test

From test_backspace_opt.vim:
Executing Test_backspace_option()
Executed 1 test

From test_breakindent.vim:
Executing Test_breakindent01()
Executing Test_breakindent02()
Executing Test_breakindent03()
Executing Test_breakindent04()
Executing Test_breakindent05()
Executing Test_breakindent06()
Executing Test_breakindent07()
Executing Test_breakindent07a()
Executing Test_breakindent08()
Executing Test_breakindent08a()
Executing Test_breakindent09()
Executing Test_breakindent10()
Executing Test_breakindent11()
Executing Test_breakindent12()
Executing Test_breakindent13()
Executing Test_breakindent14()
Executing Test_breakindent15()
Executing Test_breakindent16()
Executed 18 tests

From test_bufwintabinfo.vim:
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
Executed 3 tests

From test_cdo.vim:
Executing Test_cdo()
Executing Test_ldo()
Executed 2 tests

From test_channel.vim:
Executed 0 test

From test_charsearch.vim:
Executing Test_charsearch()
Executing Test_search_cmds()
Executed 2 tests

From test_cmdline.vim:
Executing Test_complete_list()
Executing Test_complete_tab()
Executing Test_complete_wildmenu()
Executing Test_expand_star_star()
Executing Test_getcompletion()
Executing Test_illegal_address()
Executing Test_paste_in_cmdline()
Executing Test_remove_char_in_cmdline()
Executed 8 tests

From test_command_count.vim:
Executing Test_command_count_0()
Executing Test_command_count_1()
Executing Test_command_count_2()
Executing Test_command_count_3()
Executing Test_command_count_4()
Executed 5 tests

From test_crypt.vim:
Executing Test_crypt_blowfish()
Executing Test_crypt_blowfish2()
Executing Test_crypt_zip()
Executing Test_head_only_2()
Executing Test_head_only_3()
Executing Test_uncrypt_blowfish()
Executing Test_uncrypt_blowfish2()
Executing Test_uncrypt_zip()
Executed 8 tests

From test_cscope.vim:
Executed 0 test

From test_diffmode.vim:
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()
Executing Test_filler_lines()
Executing Test_setting_cursor()
Executing Test_vert_split()
Executed 6 tests

From test_digraph.vim:
Executing Test_digraph_cmndline()
Executing Test_digraphs()
Executing Test_digraphs_option()
Executing Test_digraphs_output()
Executing Test_loadkeymap()
Executed 5 tests

From test_display.vim:
Executing Test_display_foldcolumn()
Executed 1 test

From test_farsi.vim:
Executing Test_farsi_map()
Executing Test_farsi_toggle()
Executed 2 tests

From test_fnameescape.vim:
Executing Test_fnameescape()
Executed 1 test

From test_fold.vim:
Executing Test_address_fold()
Executing Test_indent_fold()
Executing Test_indent_fold2()
Executed 3 tests

From test_gf.vim:
Executing Test_gf_url()
Executed 1 test

From test_gn.vim:
Executing Test_gn_command()
Executed 1 test

From test_gui.vim:
Executed 0 test

From test_hardcopy.vim:
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()
Executed 4 tests

From test_hide.vim:
Executing Test_hide()
Executed 1 test

From test_history.vim:
Executing Test_History()
Executing Test_Search_history_window()
Executed 2 tests

From test_hlsearch.vim:
Executing Test_hlsearch()
Executed 1 test

From test_increment.vim:
Executing Test_normal_increment_01()
Executing Test_normal_increment_02()
Executing Test_normal_increment_03()
Executing Test_visual_increment_01()
Executing Test_visual_increment_02()
Executing Test_visual_increment_03()
Executing Test_visual_increment_04()
Executing Test_visual_increment_05()
Executing Test_visual_increment_06()
Executing Test_visual_increment_07()
Executing Test_visual_increment_08()
Executing Test_visual_increment_09()
Executing Test_visual_increment_10()
Executing Test_visual_increment_11()
Executing Test_visual_increment_12()
Executing Test_visual_increment_13()
Executing Test_visual_increment_14()
Executing Test_visual_increment_15()
Executing Test_visual_increment_16()
Executing Test_visual_increment_17()
Executing Test_visual_increment_18()
Executing Test_visual_increment_19()
Executing Test_visual_increment_20()
Executing Test_visual_increment_21()
Executing Test_visual_increment_22()
Executing Test_visual_increment_23()
Executing Test_visual_increment_24()
Executing Test_visual_increment_25()
Executing Test_visual_increment_26()
Executing Test_visual_increment_27()
Executing Test_visual_increment_28()
Executing Test_visual_increment_29()
Executing Test_visual_increment_30()
Executing Test_visual_increment_31()
Executing Test_visual_increment_32()
Executing Test_visual_increment_33()
Executing Test_visual_increment_34()
Executing Test_visual_increment_35()
Executing Test_visual_increment_36()
Executing Test_visual_increment_37()
Executing Test_visual_increment_38()
Executed 41 tests

From test_increment_dbcs.vim:
Executing Test_increment_dbcs_1()
Executed 1 test

From test_job_fails.vim:
Executing Test_job_start_fails()
Executed 1 test

From test_json.vim:
Executing Test_js_decode()
Executing Test_js_encode()
Executing Test_json_decode()
Executing Test_json_encode()
Executed 4 tests

From test_langmap.vim:
Executing Test_langmap()
Executed 1 test

From test_man.vim:
Executing Test_g_ft_man_open_mode()
Executing Test_nomodifiable()
Executed 2 tests

From test_marks.vim:
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()
Executed 2 tests

From test_matchadd_conceal.vim:
Executing Test_clearmatches()
Executing Test_default_conceal_char()
Executing Test_matchadd_and_conceallevel_3()
Executing Test_matchadd_and_syn_conceal()
Executing Test_matchadd_repeat_conceal_with_syntax_off()
Executing Test_simple_matchadd()
Executing Test_simple_matchadd_and_conceal()
Executing Test_syn_and_match_conceal()
Executing Test_using_matchaddpos()
Executed 9 tests

From test_mksession.vim:
Executing Test_mksession()
Executed 1 test

From test_mksession_utf8.vim:
Executing Test_mksession_utf8()
Executed 1 test

From test_nested_function.vim:
Executing Test_max_nesting()
Executing Test_nested_argument()
Executing Test_nested_functions()
Executed 3 tests

From test_netbeans.vim:
Executed 0 test

From test_normal.vim:
Executing Test_normal00_optrans()
Executing Test_normal01_keymodel()
Executing Test_normal02_selectmode()
Executing Test_normal02_selectmode2()
Executing Test_normal03_join()
Executing Test_normal04_filter()
Executing Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()
Executing Test_normal07_internalfmt()
Executing Test_normal08_fold()
Executing Test_normal09_operatorfunc()
Executing Test_normal09a_operatorfunc()
Executing Test_normal10_expand()
Executing Test_normal11_showcmd()
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
Executing Test_normal14_page()
Executing Test_normal14_page_eol()
Executing Test_normal15_z_scroll_vert()
Executing Test_normal16_z_scroll_hor()
Executing Test_normal17_z_scroll_hor2()
Executing Test_normal18_z_fold()
Executing Test_normal19_z_spell()
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
Executing Test_normal22_zet()
Executing Test_normal23_K()
Executing Test_normal24_rot13()
Executing Test_normal25_tag()
Executing Test_normal26_put()
Executing Test_normal27_bracket()
Executing Test_normal28_parenthesis()
Executing Test_normal29_brace()
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()
Executing Test_normal32_g_cmd1()
Executing Test_normal33_g_cmd2()
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
    Skipped
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()
Executing Test_normal40_ctrl_bsl()
Executing Test_normal41_insert_reg()
Executing Test_normal42_halfpage()
Executing Test_normal43_textobject1()
Executing Test_normal44_textobjects2()
Executing Test_normal45_drop()
Executing Test_normal46_ignore()
Executing Test_normal47_autocmd()
    Skipped
Executing Test_normal47_visual_buf_wipe()
Executing Test_normal48_wincmd()
Executing Test_normal49_counts()
Executing Test_normal50_commandline()
Executing Test_normal51_FileChangedRO()
Executing Test_normal52_rl()
Executing Test_normal53_digraph()
Executing Test_normal54_Ctrl_bsl()
Executed 61 tests
SKIPPED Test_normal35_g_cmd4(): output of g< can't be tested currently
SKIPPED Test_normal47_autocmd(): not possible to test cursorhold autocmd while waiting for input in normal_cmd

From test_packadd.vim:
Executing Test_colorscheme()
Executing Test_colorscheme_completion()
Executing Test_helptags()
Executing Test_packadd()
Executing Test_packadd_completion()
Executing Test_packadd_noload()
Executing Test_packloadall()
Executing Test_runtime()
Executed 8 tests

From test_perl.vim:
Executing Test_SvREFCNT()
Executing Test_VIM_package()
Executing Test_change_buffer()
Executing Test_evaluate_list()
Executing Test_perldo()
Executing Test_perleval()
Executing Test_stdio()
Executed 7 tests

From test_profile.vim:
Executing Test_profile_completion()
Executing Test_profile_errors()
Executing Test_profile_file()
Executing Test_profile_func()
Executed 4 tests

From test_quickfix.vim:
Executing Test_Autocmd()
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Executing Test_browse()
Executing Test_caddbuffer_to_empty()
Executing Test_caddbuffer_wrong()
Executing Test_caddexpr_wrong()
Executing Test_cage()
Executing Test_cbottom()
Executing Test_cbuffer()
Executing Test_cexpr()
Executing Test_cfile()
Executing Test_cgetexpr_works()
Executing Test_clist()
Executing Test_cwindow()
Executing Test_dirstack_cleanup()
Executing Test_duplicate_buf()
Executing Test_efm()
Executing Test_efm1()
Executing Test_efm2()
Executing Test_efm_dirstack()
Executing Test_efm_ignore_continuations()
Executing Test_errortitle()
Executing Test_grep()
Executing Test_helpgrep()
Executing Test_history()
Executing Test_invalid_efm()
Executing Test_locationlist()
Executing Test_locationlist_cross_tab_jump()
Executing Test_locationlist_curwin_was_closed()
Executing Test_long_lines()
Executing Test_nomem()
Executing Test_qf_property()
Executing Test_qf_title()
Executing Test_quickfix_set_list_with_act()
Executing Test_quickfix_was_changed_by_autocmd()
Executing Test_setqflist()
Executing Test_setqflist_empty_middle()
Executing Test_setqflist_empty_older()
Executing Test_switchbuf()
Executing Test_two_windows()
Executing Test_vimgreptitle()
Executed 42 tests

From test_ruby.vim:
Executing Test_ruby_change_buffer()
Executing Test_ruby_evaluate_dict()
Executing Test_ruby_evaluate_list()
Executed 3 tests

From test_search.vim:
Executing Test_search_cmdline()
Executing Test_search_cmdline2()
Executing Test_searchpair()
Executing Test_use_sub_pat()
Executed 4 tests

From test_signs.vim:
Executing Test_sign()
Executing Test_sign_completion()
Executing Test_sign_delete_buffer()
Executing Test_sign_invalid_commands()
Executing Test_sign_undefine_still_placed()
Executed 5 tests

From test_smartindent.vim:
Executing Test_nosmartindent()
Executed 1 test

From test_startup.vim:
Executing Test_after_comes_later()
Executing Test_compatible_args()
Executing Test_file_args()
Executing Test_help_arg()
Executing Test_read_stdin()
Executing Test_startup_script()
Executing Test_startuptime()
Executed 7 tests

From test_startup_utf8.vim:
Executing Test_read_fifo_utf8()
Executing Test_read_stdin_utf8()
Executed 2 tests

From test_stat.vim:
Executing Test_checktime()
Executing Test_existent_directory()
Executing Test_existent_file()
Executing Test_nonexistent_file()
Executing Test_win32_symlink_dir()
Executed 5 tests

From test_substitute.vim:
Executing Test_multiline_subst()
Executed 1 test

From test_syntax.vim:
Executing Test_syn_iskeyword()
Executing Test_syntax_after_reload()
Executing Test_syntax_completion()
Executing Test_syntax_list()
Executing Test_syntime()
Executed 5 tests

From test_system.vim:
Executing Test_System()
Executing Test_system_exmode()
Executed 2 tests

From test_textobjects.vim:
Executing Test_inner_block_with_cpo_M_left_backslash()
Executing Test_inner_block_with_cpo_M_right_backslash()
Executing Test_inner_block_without_cpo_M()
Executed 3 tests

From test_undo.vim:
Executing Test_U_command()
Executing Test_global_local_undolevels()
Executing Test_insert_expr()
Executing Test_undo_del_chars()
Executing Test_undo_write()
Executing Test_undofile_earlier()
Executing Test_undojoin()
Executing Test_undolist()
Executing Test_undotree()
Executed 9 tests

From test_usercommands.vim:
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
Executed 3 tests

From test_viminfo.vim:
Executing Test_cmdline_history()
Executing Test_cmdline_history_order()
Executing Test_global_vars()
Executing Test_viminfo_bad_syntax()
Executing Test_viminfo_encoding()
Executing Test_viminfo_file_mark_tabclose()
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
Executing Test_viminfo_jumplist()
Executing Test_viminfo_marks()
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
Executed 13 tests

From test_viml.vim:
Executing Test_arg_abort()
Executing Test_braces_skipped()
Executing Test_curlies()
Executing Test_defining_functions()
Executing Test_echo_and_string()
Executing Test_endwhile_function()
Executing Test_endwhile_script()
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
Executing Test_func_abort()
Executing Test_if_bar_fail()
Executing Test_if_fail()
Executing Test_if_while()
Executing Test_num64()
Executing Test_return()
Executing Test_script_lines()
Executing Test_skip()
Executing Test_type()
Executing Test_while_fail()
Executed 21 tests

From test_visual.vim:
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()
Executed 2 tests

From test_window_id.vim:
Executing Test_win_getid()
Executing Test_win_getid_curtab()
Executed 2 tests

From test_writefile.vim:
Executing Test_WriteFile()
Executed 1 test

From test_alot_latin.vim:
Executing Test_eow_with_optional()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_nested_backrefs()
Executing Test_recursive_substitute()
Executed 5 tests

From test_alot_utf8.vim:
Executing Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()
Executing Test_source_latin()
Executing Test_source_utf8()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executed 9 tests

From test_alot.vim:
Executing Test_BufEnter()
Executing Test_abbreviation()
Executing Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
Executing Test_augroup_warning()
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
Executing Test_autocmd_bufunload_avoiding_SEGV_02()
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
Executing Test_bind_in_python()
Executing Test_break_undo()
Executing Test_bufunload()
Executing Test_cancel_ptjump()
Executing Test_caught_error_in_statusline()
Executing Test_caught_error_in_tabline()
Executing Test_ceil()
Executing Test_closure_counter()
Executing Test_closure_refcount()
Executing Test_closure_unlet()
Executing Test_color_names()
Executing Test_compare_null_dict()
Executing Test_compare_partials()
Executing Test_compl_vim_cmds_after_register_expr()
Executing Test_complete_no_undo()
Executing Test_completefunc_opens_new_window_one()
Executing Test_completefunc_opens_new_window_two()
Executing Test_completefunc_with_scratch_buffer()
Executing Test_completefunc_works()
Executing Test_completion_ctrl_e_without_autowrap()
Executing Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()
Executing Test_cursorhold_insert_ctrl_x()
Executing Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()
Executing Test_cycle_partial_job()
Executing Test_cyclic_dict_arg()
Executing Test_cyclic_list_arg()
Executing Test_delete_myself()
Executing Test_dict()
Executing Test_dictionary()
Executing Test_dir_delete()
Executing Test_early_bar()
Executing Test_empty_buffer()
Executing Test_empty_doau()
Executing Test_equal()
Executing Test_ex_undo()
Executing Test_execute_list()
Executing Test_execute_string()
Executing Test_existing()
Executing Test_exp()
Executing Test_expand()
Executing Test_feedkeys_x_with_empty_string()
Executing Test_file_delete()
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
Executing Test_filetype_valid()
Executing Test_filter()
Executing Test_filter_cmd_completion()
Executing Test_filter_fails()
Executing Test_filter_map_dict_expr_funcref()
Executing Test_filter_map_dict_expr_string()
Executing Test_filter_map_list_expr_funcref()
Executing Test_filter_map_list_expr_string()
Executing Test_floor()
Executing Test_fmod()
Executing Test_fnamemodify()
Executing Test_func_unref()
Executing Test_funcref()
Executing Test_function_in_dict()
Executing Test_function_with_funcref()
Executing Test_gD()
Executing Test_gD_char()
Executing Test_gD_comment()
Executing Test_gD_inline_comment()
Executing Test_gD_string()
Executing Test_gD_string_same_line()
Executing Test_gD_too()
Executing Test_gd()
Executing Test_gd_comment()
Executing Test_gd_comment_in_string()
Executing Test_gd_inline_comment()
Executing Test_gd_inline_comment_body()
Executing Test_gd_inline_comment_only()
Executing Test_gd_kr_style()
Executing Test_gd_missing_braces()
Executing Test_gd_not_local()
Executing Test_gd_string()
Executing Test_gd_string_in_comment()
Executing Test_gd_string_only()
Executing Test_gd_trailing_comment()
Executing Test_gd_trailing_multiline_comment()
Executing Test_get_partial_items()
Executing Test_getreg_empty_list()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
Executing Test_help_tagjump()
Executing Test_if()
Executing Test_info()
Executing Test_invalid()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
Executing Test_lambda_call_lambda_from_lambda()
Executing Test_lambda_capture_by_reference()
Executing Test_lambda_circular_reference()
Executing Test_lambda_closure_counter()
Executing Test_lambda_combination()
Executing Test_lambda_delfunc()
Executing Test_lambda_do_not_share_local_variable()
Executing Test_lambda_fails()
Executing Test_lambda_feature()
Executing Test_lambda_refer_local_variable_from_other_scope()
Executing Test_lambda_scope()
Executing Test_lambda_share_scope()
Executing Test_lambda_side_effect()
Executing Test_lambda_with_a_var()
Executing Test_lambda_with_filter()
Executing Test_lambda_with_map()
Executing Test_lambda_with_partial()
Executing Test_lambda_with_sort()
Executing Test_lambda_with_timer()
Executing Test_load_menu()
Executing Test_log()
Executing Test_log10()
Executing Test_loop_over_null_list()
Executing Test_map_ctrl_c_insert()
Executing Test_map_ctrl_c_visual()
Executing Test_map_cursor()
Executing Test_map_feedkeys()
Executing Test_map_langmap()
Executing Test_map_meta_quotes()
Executing Test_match()
Executing Test_matchaddpos()
Executing Test_matchaddpos_using_negative_priority()
Executing Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
Executing Test_missing_attr()
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()
Executing Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
Executing Test_oneshot()
Executing Test_option_value()
Executing Test_options()
Executing Test_partial_args()
Executing Test_partial_dict()
Executing Test_partial_exists()
Executing Test_partial_implicit()
Executing Test_partial_string()
Executing Test_path_keep_commas()
Executing Test_paused()
Executing Test_popup_complete()
Executing Test_popup_complete2()
Executing Test_popup_completion_insertmode()
Executing Test_pow()
Executing Test_printf_64bit()
Executing Test_printf_errors()
Executing Test_printf_float()
Executing Test_printf_misc()
Executing Test_printf_spec_b()
Executing Test_printf_spec_s()
Executing Test_ptag_with_notagstack()
Executing Test_read_only()
Executing Test_recursive_delete()
Executing Test_redefine_dict_func()
Executing Test_ref_job_partial_dict()
Executing Test_reltime()
Executing Test_repeat_many()
Executing Test_repeat_three()
Executing Test_retain_partial()
Executing Test_round()
Executing Test_script_function_in_dict()
Executing Test_script_function_in_dict_arg()
Executing Test_searchpos()
Executing Test_set_add()
Executing Test_set_backslash()
Executing Test_set_reg_null_list()
Executing Test_set_tagcase()
Executing Test_setmatches()
Executing Test_signcolumn()
Executing Test_sin()
Executing Test_sinh()
Executing Test_sort_default()
Executing Test_sort_float()
Executing Test_sort_nested()
Executing Test_sort_numbers()
Executing Test_sort_numeric()
Executing Test_sort_strings()
Executing Test_special_char()
Executing Test_sqrt()
Executing Test_static_tagjump()
Executing Test_statusline_will_be_disabled_with_error()
Executing Test_stop_all_in_callback()
Executing Test_stop_in_callback()
Executing Test_stopall()
Executing Test_str2float()
Executing Test_str2nr()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executing Test_substitute_expr()
Executing Test_substitute_expr_arg()
Executing Test_symlink_delete()
Executing Test_symlink_dir_delete()
Executing Test_symlink_recursive_delete()
Executing Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()
Executing Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
Executing Test_tabpage()
Executing Test_tabpage_with_autocmd()
Executing Test_tabpage_with_tab_modifier()
Executing Test_tagcase()
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
Executing Test_tostring()
Executing Test_true_false_arg()
Executing Test_trunc()
Executing Test_valid()
Executing Test_version()
Executing Test_vim_did_enter()
Executing Test_whichwrap()
Executing Test_win_tab_autocmd()
Executing Test_window_cmd_cmdwin_with_vsp()
Executing Test_window_cmd_ls0_with_split()
Executing Test_window_cmd_wincmd_gf()
Executing Test_with_directories()
Executing Test_with_partial_callback()
Executing Test_with_tilde()
Executing Test_wrong_arguments()
Executed 245 tests

Test results:
ALL DONE
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena/testdir'
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json_test.o json_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o json_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_athena.o objects/gui_x11.o objects/pty.o objects/gui_beval.o objects/gui_at_sb.o objects/gui_at_fs.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/memfile.o objects/message.o objects/json_test.o -lXaw -lXmu -lXext -lXt -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -ldl  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./json_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile_test.o memfile_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o memfile_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_athena.o objects/gui_x11.o objects/pty.o objects/gui_beval.o objects/gui_at_sb.o objects/gui_at_fs.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/message.o objects/memfile_test.o -lXaw -lXmu -lXext -lXt -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -ldl  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./memfile_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message_test.o message_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o message_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o objects/gui.o objects/gui_athena.o objects/gui_x11.o objects/pty.o objects/gui_beval.o objects/gui_at_sb.o objects/gui_at_fs.o objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/memfile.o objects/message_test.o -lXaw -lXmu -lXext -lXt -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -ldl  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./message_test || exit 1; echo  passed;
passed
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena'
touch build-stamp-vim-athena
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox'
/usr/bin/make -f Makefile vim
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox'
make[2]: 'vim' is up to date.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox'
if test -n "yes" -a -f po/Makefile; then \
	cd po; /usr/bin/make -f Makefile check VIM=../vim; \
fi
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox/po'
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq af.po
touch af.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ca.po
touch ca.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.po
touch cs.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq de.po
touch de.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.po
touch en_GB.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq eo.po
touch eo.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq es.po
touch es.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fi.po
touch fi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fr.po
touch fr.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ga.po
touch ga.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq it.po
touch it.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.po
touch ja.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.po
touch ko.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ko.UTF-8.po
touch ko.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nb.po
touch nb.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq nl.po
touch nl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq no.po
touch no.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.po
touch pl.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pt_BR.po
touch pt_BR.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.po
touch ru.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.po
touch sk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sv.po
touch sv.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.po
touch uk.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq vi.po
touch vi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.UTF-8.po
touch zh_CN.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.po
touch zh_CN.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.UTF-8.po
touch zh_TW.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.po
touch zh_TW.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq cs.cp1250.po
touch cs.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.sjis.po
touch ja.sjis.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ja.euc-jp.po
touch ja.euc-jp.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.cp1250.po
touch pl.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq pl.UTF-8.po
touch pl.UTF-8.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq ru.cp1251.po
touch ru.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.cp1250.po
touch sk.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.cp1251.po
touch uk.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.cp936.po
touch zh_CN.cp936.ck
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox/po'
if test vim != vim -a ! -r vim; then \
	ln -s vim vim; \
fi
cd testdir; /usr/bin/make -f Makefile  VIMPROG=../vim  SCRIPTSOURCE=../../runtime
make[2]: Entering directory '/<<PKGBUILDDIR>>/src/vim-nox/testdir'
rm -f test.log messages
rm -rf test1.failed test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out wrongtermsize
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test1.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test1.in" 57 lines, 2069 charactersFirst a simple test to check if the test script works.



If Vim was not compiled with the +eval feature, the small.vim script will be

set to copy the test.ok file to test.out, so that it looks like the test

succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by

tests that require the +eval feature or other features that are missing in the

small version.



If Vim was not compiled with the +windows feature, the tiny.vim script will be

set like small.vim above.  tiny.vim is sourced by tests that require the

+windows feature or other features that are missing in the tiny version.



If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will

be set like small.vim above.  mbyte.vim is sourced by tests that require the

+multi_byte feature.

Similar logic is applied to the +mzscheme feature, using mzscheme.vim.

Similar logic is applied to the +lua feature, using lua.vim.



STARTTEST

:" If columns or lines are too small, create wrongtermsize.

:" (Some tests will fail. When columns and/or lines are small)

:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 1133 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST:w! mzscheme.vim

:w! lua.vim

:"

:" If +multi_byte feature supported, make mbyte.vim empty.

:if has("multi_byte") | sp another | w! mbyte.vim | q | endif

:"

:" If +mzscheme feature supported, make mzscheme.vim empty.

:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif

:"

:" If +lua feature supported, make lua.vim empty.

:if has("lua") | sp another | w! lua.vim | q | endif

:"

:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.

:" Otherwise write small.vim to skip the test.

:if 1 | q! | endif

:w! small.vim

:" If +windows feature not supported :sp will fail and tiny.vim will be

:" written to skip the test.

:sp another

:wq! tiny.vim

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[?12l[?25h[?25l:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[?12l[?25h[?25l:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lthis is a test[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 15 characters written[?12l[?25h[?25l:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[?12l[?25h
[?25l[?12l[?25h[?25l:[?12l[?25hw! small.vim
[?25l"small.vim" [New File] 1 line, 1 character written[?12l[?25h[?25l:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [New File] 1 line, 1 character written[?12l[?25h[?25le! test.ok

w! test.outqa![?12l[?25h[?25l:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hw! lua.vim
[?25l"lua.vim" [New File] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File]

"mbyte.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File]

"lua.vim" 0 lines, 0 characters writtene! test.ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[?12l[?25h[?25l:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[?12l[?25h[?25l:[?12l[?25hif 1 | q! | endif
[?25l[?1l>[?12l[?25h[?1049lrm -rf X* viminfo
rm -rf test3.failed test.ok test.out X* viminfo
cp test3.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test3.in" 2342 lines, 23089 characters/* vim: set cin ts=4 sw=4 : */



Test for 'cindent'



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo modeline

:edit" read modeline

/start of AUTO

=/end of AUTO

ENDTEST



/* start of AUTO matically checked vim: set ts=4 : */

{if (test)cmd1;cmd2;

}



{if (test)cmd1;else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l/* vim: set cin ts=4 sw=4 : */[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[?12l[?25h[?25l:[?12l[?25hedit                " read modeline
[?25l"test3.in"2342L, 23089Cif (test)cmd1;cmd2;if (test)cmd1;else[?12l[?25h[?25l/[?12l[?25hstart of AUTO
[?25l[?12l[?25h[?25l/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent... 
957 lines indented [?12l[?25h[?25l/^STARTTEST
}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 93C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l}break;default:baz();baz();break;

    }

}



/* end of AUTO */



STARTTEST

:set tw=0 wm=60 columns=80 noai fo=croq

/serious/e

a about life, the universe, and the rest^[

ENDTEST



{



/* this is

 * a real serious important big

 * comment

 */[?12l[?25h[?25l/[?12l[?25hserious/e
[?25l[?12l[?25h[?25l





-- INSERT --

about life, the

 * universe, and the

 * rest important big[?12l[?25h[?25l

* comment[?12l[?25h[?25l

/^STARTTEST
*/

    /* insert " about life, the universe, and the rest" after "serious" */

}



STARTTEST[?12l[?25h[?25l

:set nocin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6L, 78C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comments

joabout life^[/happens

jothere^[/below

oline^[/this

Ohello^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocin
[?25l[?12l[?25h[?25l/[?12l[?25hcomments
[?25l{

    /** Testing for comments, without 'cin' set[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

about life[?12l[?25h[?25l

/[?12l[?25hhappens
[?25l/*

* what happens here?[?12l[?25h[?25l

*/[?12l[?25h[?25l

-- INSERT --

there[?12l[?25h[?25l

/[?12l[?25hbelow
[?25l/*the end of the comment, try inserting a line below */[?12l[?25h[?25l

-- INSERT --

line[?12l[?25h[?25l

/[?12l[?25hthis
[?25l/* how aboutthis one */[?12l[?25h[?25l

-- INSERT --hello[?12l[?25h[?25l

this one */[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 18C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/vec2

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l/[?12l[?25hvec2
[?25l{

    var = this + that + vec[0] * vec[0]+ vec[1] * vec[1]+ vec2[2] * vec[2];[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5L, 51C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=}4

/testing1

k2==/testing2

k2==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=}4
[?25l[?12l[?25h[?25l/[?12l[?25htesting1
[?25l{asdf asdflkajds f;

    if (tes & ting) {asdf asdf asdf ;asdfa sdf asdf;}

    testing1;[?12l[?25h [?25l



/[?12l[?25htesting2
[?25lif (tes & ting)

    {asdf asdf asdf ;asdfa sdf asdf;}

    testing2;[?12l[?25h [?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=(0,)20

/main

=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=(0,)20
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25lmain ( int first_par, /*[?12l[?25h[?25l

19 lines to indent...
20indented [?12l[?25h[?25l

* Comment for[?12l[?25h[?25l

/^STARTTEST
* Comment for* first par*/second_par /** Comment for* second par*/);



}



STARTTEST

:set cin

:set cino=es,n0s

/main

=][

ENDTEST



main(void)

{

    /* Make sure that cino=X0s is not parsed like cino=Xs. */

    if (cond)foo();[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4L, 36C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=es,n0s
[?25l[?12l[?25h[?25l/[?12l[?25hmain
[?25l[?12l[?25h[?25l8 lines to indent...
9indented [?12l[?25h

[?25l/^STARTTEST
else

    {bar();

    }

}



STARTTEST[?12l[?25h[?25l

:set cin
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set cino=

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin
[?25l[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l{[?12l[?25h[?25l

11 lines to indent...
12indented [?12l[?25h[?25l

do[?12l[?25h[?25l

/^STARTTEST
if (){if ()asdf;elseasdf;}

    } while ();

    cmd;/* this should go under the } */

}



STARTTEST

]]=][

ENDTEST



void f()

{

    if ( k() ) {l();} else { /* Start (two words) end */m();

    }[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1L, 6C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h





[?25l8 lines to indent...
9indented [?12l[?25h

   [?25l/^STARTTEST
n();

}



STARTTEST[?12l[?25h[?25l

:set cino={s,e-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,e-s
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

7 lines to indent...
8indented     {[?12l[?25h[?25l

if ( k() )[?12l[?25h[?25l

/^STARTTEST
{l();} else { /* Start (two words) end */m();}

    n();    /* should be under the if () */

}



STARTTEST[?12l[?25h[?25l

:set cino={s,fs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=/ foo[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino={s,fs
[?25l[?12l[?25h[?25lvoid bar(void)

{[?12l[?25h[?25l

/[?12l[?25h foo
[?25l30 lines to indent...
31indented     {[?12l[?25h[?25l/^STARTTEST
void func(void)

    {

    a = 1;{b = 2;}

    c = 3;

    d = 4;

    }

/* foo */



STARTTEST

:set cino=

/while

ohere^[

ENDTEST



a()

{

  do {

    a = a +a;

  } while ( a );/* add text under this line */[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 25C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l/[?12l[?25hwhile
[?25l[?12l[?25h[?25l

-- INSERT --

here[?12l[?25h[?25l

if ( a )
    i[?12l[?25h[?25l

/^STARTTEST
a;

}



STARTTEST[?12l[?25h[?25l

:set cino= com=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 109C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/comment

olabel2: b();^Mlabel3 /* post */:^M/* pre */ label4:^Mf(/*com*/);^Mif (/*com*/)^^Mcmd();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino= com=
[?25l[?12l[?25h[?25l/[?12l[?25hcomment
[?25la()

{

label1:/* hmm */// comment[?12l[?25h[?25l

-- INSERT --label2: b();

label3 /* post */:

/* pre */ label4:f(/*com*/);if (/*com*/)cmd();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 53C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/simple

=5j[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[?12l[?25h[?25l/[?12l[?25hsimple
[?25l/*

  * A simple comment[?12l[?25h[?25l

5 lines to indent...
6indented * A simple comment[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
/*

** A different comment

*/



STARTTEST[?12l[?25h[?25l

:set cino=c0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 70C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=c0,C1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 73C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/*

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=c0,C1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST
/*********

    A comment.

    *********/

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 17C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,U1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,U1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

c = c1 &&[?12l[?25h[?25l

/^STARTTEST
(c2 ||c3) && c4;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,w1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,w1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (   c1[?12l[?25h[?25l

/^STARTTEST
&& (   c2|| c3))foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3) && c4;

    if (c1 && c2)foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=(s,m1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 28C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(s,m1  
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

c = c1 && ([?12l[?25h[?25l

/^STARTTEST
c2 ||c3

    ) && c4;

    if (c1 && c2

    )foo;

}



STARTTEST[?12l[?25h[?25l

:set cino=b1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=b1
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

9 lines to indent...
10 lines indented [?12l[?25h[?25l

switch (x)[?12l[?25h[?25l

/^STARTTEST
{case 1:a = b;break;default:a = 0;break;

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W5
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W5
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

10 lines to indent...
11indented [?12l[?25h[?25l

invokeme([?12l[?25h[?25l

/^STARTTEST
argu,ment);

    invokeme(argu,ment);

    invokeme(argu,ment);

}



STARTTEST[?12l[?25h[?25l

:set cino=/6
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=/6
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

3 lines to indent...
4indented [?12l[?25h[?25l

statement;[?12l[?25h[?25l

/^STARTTEST
// comment 1// comment 2

}



STARTTEST[?12l[?25h[?25l

:set cino=
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 34C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-12kdd]]/comment 1/+1

==[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=
[?25l[?12l[?25h[?25l==ENDTEST[?12l[?25h[?25lvoid f()

{[?12l[?25h[?25l

/[?12l[?25hcomment 1/+1
[?25lstatement;// comment 1

    // comment 2[?12l[?25h[?25l    // comment 2[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino=g0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=g0
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass CAbc

{[?12l[?25h[?25l

6 lines to indent...
7indented [?12l[?25h[?25l

int Test() { return FALSE; }[?12l[?25h[?25l

/^STARTTEST
public: // comment

    void testfall();

protected:

    void testfall();

};



STARTTEST[?12l[?25h[?25l

:set cino=(0,gs,hs
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 29C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,gs,hs
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lclass Foo : public Bar

{[?12l[?25h[?25l

5 lines to indent...
6indented [?12l[?25h[?25l

public:[?12l[?25h[?25l

/^STARTTEST
virtual void method1(void) = 0;virtual void method2(int arg1,int arg2,int arg3) = 0;

};



STARTTEST[?12l[?25h[?25l

:set cino=+20
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 24C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=+20
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25lvoid

foo()

{[?12l[?25h[?25l

4 lines to indent...
5indented [?12l[?25h[?25l

if (a)[?12l[?25h[?25l

/^STARTTEST
{

    } elseasdf;

}



STARTTEST[?12l[?25h[?25l

:set cino=(0,W2s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd]]=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,W2s
[?25l[?12l[?25h[?25l2kdd]]=][ENDTEST[?12l[?25h[?25l

{[?12l[?25h[?25l

34 lines to indent...
35indented [?12l[?25h[?25l

averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([?12l[?25h[?25l

/^STARTTEST
dec)->asdfasdfasdf(asdfadsf,asdfasdf,asdfasdf,),func(asdfadf,asdfasdf),asdasdf);

}



STARTTEST

:set cino=M1

2kdd]]=][

ENDTEST



int main ()

{

    if (cond1 &&cond2)foo;

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=M1
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l4 lines to indent...
5indented [?12l[?25h

   [?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set cino=(0,ts
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0,ts
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

7 lines to indent...
8indented [?12l[?25h[?25l

void func(int a[?12l[?25h[?25l

/^STARTTEST
#if defined(FOO), int b, int c

#endif)

{

}



STARTTEST[?12l[?25h[?25l

:set cino=(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 23C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=(0
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void[?12l[?25h[?25l

/^STARTTEST
func(int a

#if defined(FOO), int b, int c

#endif

    )

{

}



STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 22C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=7][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=7][

ENDTEST[?12l[?25h



[?25l

69 lines to indent...
50
7indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
int a,int b)

{

}void

func6(int a)

{

}



STARTTEST

:set cino&

:set cino+=l1

2kdd2j=][

ENDTEST



void func(void)

{

    int tab[] =

    {1, 2, 3,4, 5, 6};[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l:[?12l[?25hset cino+=l1
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l22 lines to indent...
23indented [?12l[?25h

[?25l/^STARTTEST
break;case baz: {printf("baz");break;}case quux:printf("But don't break the indentation of this instruction\n");break;

    }

}



STARTTEST

:set cino&

2kdd2j=][

ENDTEST



void func(void)

{

    cout << "a"

    << "b"

    << ") :"

    << "c";

}[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l

[?12l[?25h



[?25l6 lines to indent...
7indented     << "b"

        << ") :"

        << "c";[?12l[?25h

[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

]]3jofoo();^[[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[?12l[?25h[?25lvoid func(void)

{[?12l[?25h[?25l/** This is a comment.*/[?12l[?25h[?25l

-- INSERT --

foo();[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set cino&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 21C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd2j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino&
[?25l[?12l[?25h[?25l2kdd2j=][ENDTEST[?12l[?25h



[?25l

8 lines to indent...
9indented [?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

/^STARTTEST
{

    for (int i = 0; i < 10; ++i)if (i & 1) {foo(1);} elsefoo(0);

    baz();

}



STARTTEST[?12l[?25h[?25l

:set cino=k2s,(0
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1

2kdd3j=][[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0
[?25l[?12l[?25h[?25l2kdd3j=][ENDTEST[?12l[?25h[?25l

void func(void)[?12l[?25h[?25l

23 lines to indent...
24indented [?12l[?25h[?25l

{[?12l[?25h[?25l

/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func( c1&& (     c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l23 lines to indent...
24indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2s,(s,U1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(s,U1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l24 lines to indent...
25indented         && condition2)

        action();    && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (c22345|| c3))printf("foo\n");c = c1 &&(c2 ||c3) && c4;

}



STARTTEST

:set cino=k2s,(0,W4

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,W4
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l29 lines to indent...
30indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
&& (   c2|| c3))foo;a_long_line(argument,argument);

    a_short_line(argument,argument);

}



STARTTEST

:set cino=k2s,u2

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 27C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,u2
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l18 lines to indent...
19indented         && condition2)

        action();        && argument2);[?12l[?25h

[?25l/^STARTTEST
foo;

    if (c1 &&(c2 || c3))

    {

    }

    if (c123456789&& (c22345|| c3))printf("foo\n");

}



STARTTEST

:set cino=k2s,(0,w1

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1

    && condition2)

    action();

    function(argument1

    && argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 30C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2s,(0,w1
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l27 lines to indent...
28indented         && condition2)

        action();         && argument2);[?12l[?25h

[?25l/^STARTTEST
if (   c1&& (      c2|| c3))foo;

    func(   c1&& (      c2|| c3))foo;

}



STARTTEST

:set cino=k2,(s

2kdd3j=][

ENDTEST



void func(void)

{

    if (condition1&& condition2)action();

    function(argument1&& argument2);[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 26C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=k2,(s
[?25l[?12l[?25h[?25l

[?12l[?25h





[?25l14 lines to indent...
15indented [?12l[?25h

[?25l/^STARTTEST
if (c1 && (c2 ||c3))foo;

    if (c1 &&(c2 || c3))

    {

    }

}



STARTTEST[?12l[?25h[?25l

:set cino=N-s
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 47C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^NAMESPACESTART

=/^NAMESPACEEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=N-s
[?25l[?12l[?25h[?25l/[?12l[?25h^NAMESPACESTART
[?25lNAMESPACESTART[?12l[?25h[?25l

/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82indented [?12l[?25h[?25l/^STARTTEST
namespace test test2

{

    1111111111111111111;

}

namespace111111111

{

    111111111111111111;

}

NAMESPACEEND





STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

var bar = {

foo: {

that: this,

some: ok,

},[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l12 lines to indent...
13indented     foo: {

        that: this,

        some: ok,

    },[?12l[?25h[?25l/^STARTTEST
"bar":{a : 2,b: "123abc",x: 4,"y": 5

    }

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l5 lines to indent...
6indented [?12l[?25h[?25l/^STARTTEST
var foo = [

    1,

    2,

    3

];

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l7 lines to indent...
8indented [?12l[?25h[?25l/^STARTTEST
function bar() {

    var foo = [1,2,3

    ];

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l58 lines to indent...
509indented [?12l[?25h[?25l/^STARTTEST
return false;}_arguments[0]=options;method.apply(this,_arguments);}});

    }



})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

function init(options) {

$(this).data(class_name+'_public',$.extend({},{

foo: 'bar',

bar: 2,

foobar: [[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l14 lines to indent...
15indented     $(this).data(class_name+'_public',$.extend({},{

        foo: 'bar',

        bar: 2,

        foobar: [[?12l[?25h[?25l/^STARTTEST
1,2,3],callback: function(){return true;}

    }, options||{}));

}

JSEND



STARTTEST[?12l[?25h[?25l

:set cino=j1,J1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 35C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1/^JSSTART

=/^JSEND[?12l[?25h[?25l

ENDTEST
[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25lJSSTART[?12l[?25h[?25l

/[?12l[?25h^JSEND
[?25l16 lines to indent...
17indented [?12l[?25h[?25l/^STARTTEST
2,3],callback: function(){return true;}}, options||{}));

    }

})(jQuery);

JSEND



STARTTEST

:set cino=j1,J1,+2

/^JSSTART

=/^JSEND

ENDTEST



JSSTART

// Results of JavaScript indent

// 1

(function(){

var a = [

'a',[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 38C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cino=j1,J1,+2
[?25l[?12l[?25h[?25l/[?12l[?25h^JSSTART
[?25l[?12l[?25h[?25l/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent... 
150 lines indented     var a = [

      'a',[?12l[?25h[?25l/^STARTTEST
var a,

    b,

    c,

    d,

    e,

    f,

    g,

    h,

    i;

JSEND



STARTTEST

:set cin cino&

/start of define

=/end of define

ENDTEST



/* start of define */

{

}

#define AAA \

BBB\

CCC[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3L, 48C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset cin cino&
[?25l[?12l[?25h[?25l/[?12l[?25hstart of define
[?25l[?12l[?25h[?25l/[?12l[?25hend of define
[?25l11 lines to indent...
12indented     BBB\

    CCC[?12l[?25h[?25l/^STARTTEST
#define CNT \

    1 + \

    2 + \

    4

/* end of define */



STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2L, 61C written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/+-1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines    c,

    d,

    e,    f,    g,    h,    i;JSEND/* start of define */

{}#define AAA \

    BBB\

    CCC#define CNT \

    1 + \

    2 + \4

/* end of define */[?12l[?25h[?25l:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [New] 2096L, 20188C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test3 = test61; then \
#	  if diff test.out test3.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test3.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test3.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test4.failed test.ok test.out X* viminfo
cp test4.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test4.in" 34 lines, 960 charactersTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew

/start of

:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx" split to Xxx, autocmd will do :brew

G?this is a

othis should be auto-indented^[

:" Append text with autoindent to this file

:au! BufEnter Xxx

:buf Xxx" go to Xxx, no autocmd anymore

G?this is a

othis should be in column 1^[:wq " append text without autoindent to Xxx

G:r Xxx" include Xxx in the current file

:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is sset

Go# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes current buffer on BufEnter event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 20 lines, 678 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:?startstart?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter Xxx brew
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25lstartstart

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx   " write test file Xxx
[?25l"Xxx" [New] 7L, 124C written[?12l[?25h[?25l:[?12l[?25hset ai modeline modelines=3
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xxx             " split to Xxx, autocmd will do :brew
[?25l"Xxx" 7L, 124CTest for autocommand that changes current buffer on BufEnter event.

Check if modelines are interpreted for the correct buffer.STARTTESTo small.vim:set nocompatible viminfo+=nviminfo

:au BufEnter Xxx brew/start of.,/end of/w!" write test file Xxx

:set ai modeline modelines=3:sp Xxx    " split to Xxx, autocmd will do :brew

test4.in                                                                        :set fo+=rssue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi

^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.outqa!ENDTESTstartstart of test file Xxx

test4.in                                                                        test4.in" line 1 of 34 --2%-- col 1[?12l[?25h[?25l:qa!ENDTESTstartstart

start of test file Xxx

vim: set noai :        this is a test

        this is a test

        this is a test        this is a testend of test file Xxx[?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --        this should be auto-indented[+][+][?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l:[?12l[?25h                   " Append text with autoindent to this file
[?25l[?12l[?25h[?25l:[?12l[?25hau! BufEnter Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hbuf Xxx            " go to Xxx, no autocmd anymore
[?25l"Xxx" 7L, 124Cstart of test file Xxx

vim: set noai :

        this is a test

        this is a test

        this is a test



end of test file Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxxt          [?12l[?25h[?25l?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l-- INSERT --this should be in column 1[+][?12l[?25h[?25l:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx8L, 151C written:au BufEnter Xxx brew/start of:.,/end of/w! Xxx   " write test file Xxx

:set ai modeline modelines=3

:sp Xxx             " split to Xxx, autocmd will do :brew

G?this is aothis should be auto-indented^[

:                   " Append text with autoindent to this file

:au! BufEnter Xxx:buf Xxx            " go to Xxx, no autocmd anymoreG?this is aothis should be in column 1^[:wq " append text without autoindent to XxxG:r Xxx   nclude Xxx in the current file:set fo+=r" issue #57 do not move cursor on <c-o> when autoindent is ssetGo# abcdef^[2hi^Od0^[o# abcdef^[2hi^Od0^[:

:?startstart?,$w! test.out

:qa!ENDTESTstarstart of test file Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a testthis should be auto-indented

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25hr Xxx             " include Xxx in the current file
[?25l"Xxx" 8L, 151C

start of test file Xxx[?12l[?25h[?25l

:[?12l[?25hset fo+=r          " issue #57 do not move cursor on <c-o> when autoindent is 


set
[?25l:au! BufEnter Xxx[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

this should be in column 1

end of test file Xxx
[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --

# def[?12l[?25h[?25lINSERTt --defo[?12l[?25hd[?25l[?12l[?25h[?25l

-- INSERT --

# abcdef[?12l[?25h[?25l

-- INSERT --
-- (insert)- --[?12l[?25h[?25l

-- INSERTt --def:[?12l[?25hd[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [New] 20L, 330C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test4 = test61; then \
#	  if diff test.out test4.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test4.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test4.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test5.failed test.ok test.out X* viminfo
cp test5.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test5.in" 29 lines, 949 charactersTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.



STARTTEST

:so small.vim

:au BufLeave Xxx bwipe

/start of

:.,/end of/w! Xxx" write test file Xxx

:sp Xxx" split to Xxx

:bwipe" delete buffer Xxx, now we're back here

G?this is a

othis is some more text^[

:" Append some text to this file

:?start?,$w! test.out" Write current file contents

:bwipe test.out" delete alternate buffer

:au bufleave test5.in bwipe

:bwipe!" delete current buffer, get an empty one

ithis is another test line^[:w >>test.out

:" append an extra line to the output file

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that deletes the current buffer on BufLeave event.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 664 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave Xxx bwipe
[?25l[?12l[?25h[?25l/[?12l[?25hstart of
[?25l[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx               " write test file Xxx
[?25l"Xxx" [New File] 7 lines, 124 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx                         " split to Xxx
[?25l"Xxx" 7 lines, 124 charactersstart of test file Xxxvim: set noai :this is a test

        this is a test

        this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx                                                                             ?start?,$w! test.outWrite current file contentsbwipe test.out      delete alternate bufferau bufleave test5.in bwipebwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out:                               " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx

test5.in                                                                        [?12l[?25h[?25l:[?12l[?25hbwipe                          " delete buffer Xxx, now we're back here
[?25lTest for autocommand that deletes the current buffer on BufLeave event.

Also test deleting the last buffer, should give a new, empty buffer.STARTTEST:so small.vim:au BufLeave Xxx bwipe

/start of:.,/end of/w! Xxx               " write test file Xxx:sp Xxx                         " split to Xxx:bwipe                          " delete buffer Xxx, now we're back hereG?this is aothis is some more text^[                    Append some text to this file

:?start?,$w! test.outWrite current file contents

:bwipe test.out                 " delete alternate buffer

:au bufleave test5.in bwipe:bwipe!                         " delete current buffer, get an empty one

ithis is another test line^[:w >>test.out   " append an extra line to the output file

:qa!ENDTESTstart of test file Xxx"test5.in" line 23 of 29 --79%-- col 1[?12l[?25h[?25lvim: set noai :this is a testthis is a testthis is a testthis is a test

end of test file Xxx[?12l[?25h[?25l

?[?12l[?25hthis is a
[?25l[?12l[?25h[?25l

this is some more text[?12l[?25h[?25l

end of test file Xxx[?12l[?25h[?25l

:[?12l[?25h                               " Append some text to this file
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out           " Write current file contents
[?25l"test.out" [New File] 8 lines, 147 characters written[?12l[?25h[?25l:[?12l[?25hbwipe test.out                 " delete alternate buffer
[?25l[?12l[?25h[?25l:[?12l[?25hau bufleave test5.in bwipe
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!                         " delete current buffer, get an empty one
[?25lError detected while processing BufLeave Auto commands for "test5.in":

E89: No write since last change for buffer 1 (add ! to override)


Press ENTER or type command to continue[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lthis is another test line[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 26 characters appended[?12l[?25h[?25l:[?12l[?25h                               " append an extra line to the output file
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test5 = test61; then \
#	  if diff test.out test5.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test5.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test7.failed test.ok test.out X* viminfo
cp test7.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test7.in" 26 lines, 675 charactersTest for autocommand that changes the buffer list, when doing ":ball".



STARTTEST

:so small.vim

/^start of

A1^[:.,/end of/w! Xxx1   " write test file Xxx1

:sp Xxx1

:close

$r2:.,/end of/w! Xxx2    " write test file Xxx2

:sp Xxx2

:close

$r3:.,/end of/w! Xxx3    " write test file Xxx3

:sp Xxx3

:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for autocommand that changes the buffer list, when doing ":ball".[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 508 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx1   " write test file Xxx1
[?25l"Xxx1" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx1
[?25l"Xxx1" 4 lines, 77 charactersstart of test file Xxx1this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx1[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2    " write test file Xxx2
[?25l"Xxx2" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx2
[?25l"Xxx2" 4 lines, 77 charactersstart of test file Xxx2this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx2                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx2[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx3    " write test file Xxx3
[?25l"Xxx3" [New File] 4 lines, 77 characters written[?12l[?25h[?25l:[?12l[?25hsp Xxx3
[?25l"Xxx3" 4 lines, 77 charactersstart of test file Xxx3this is a test

        this is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx3                                                                            closeau BufReadPost Xxx2 bwipe

$r4:ball                 " open window for all args, close Xxx2

:.,$w! test.outWrite contents of this file^W^W:w >>test.outAppend contents of second window (Xxx1)/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3

test7.in [+]                                                                    [?12l[?25h[?25l:[?12l[?25hclose
[?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/end of/w! Xxx1   " write test file Xxx1:sp Xxx1:close$r2:.,/end of/w! Xxx2    " write test file Xxx2:sp Xxx2:close$r3:.,/end of/w! Xxx3    " write test file Xxx3sp Xxx3

:close:au BufReadPost Xxx2 bwipe$r4:ball       open window for all args, close Xxx2

:.,$w! test.out  Write contents of this filew >>test.out        " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!ENDTESTstart of test file Xxx3[?12l[?25h[?25l:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[?12l[?25h[?25l4[?12l[?25h[?25l:[?12l[?25hball                 " open window for all args, close Xxx2
[?25l"Xxx1"4 lines, 77 characters


"Xxx2" 4 lines, 77 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h.,$w! test.out          " Write contents of this file
[?25l"test.out" [New File] 4 lines, 77 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:close

:au BufReadPost Xxx2 bwipe

$r4:ball" open window for all args, close Xxx2

:.,$w! test.out" Write contents of this file

^W^W:w >>test.out" Append contents of second window (Xxx1)

^W^W:/^start of/,$w >>test.out   " Append contents of last window (this file)

:qa!

ENDTEST



start of test file Xxx4

test7.in [+]                                                                    start of test file Xxx1this is a testthis is a test

end of test file Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xxx1                                                                            [?12l[?25h

test7.in [+]                                                                     Xxx1                                                                            [?25l:[?12l[?25hw >>test.out        " Append contents of second window (Xxx1)
[?25l"test.out" 4 lines, 77 characters appended[?12l[?25htest7.in [+]                                                                    Xxx1                                                                             [?25l:[?12l[?25h/^start of/,$w >>test.out   " Append contents of last window (this file)
[?25lsearch hit BOTTOM, continuing at TOP"test.out" 4 lines, 77 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test7 = test61; then \
#	  if diff test.out test7.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test7.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test8.failed test.ok test.out X* viminfo
cp test8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test8.in" 46 lines, 1236 charactersTest for BufWritePre autocommand that deletes or unloads the buffer.

Test for BufUnload autocommand that unloads all other buffers.



STARTTEST

:so small.vim

:au BufWritePre Xxx1 bunload

:au BufWritePre Xxx2 bwipe

/^start of

A1^[:.,/end of/w! Xxx1  " write test file Xxx1

$r2:.,/end of/w! Xxx2   " write test file Xxx2

:e! Xxx2" edit Xxx2

:bdel test8.in" delete this file from the buffer list

:e Xxx1" edit Xxx1

:w" write it, will unload it and give an error msg

:w! test.out" Write contents of this file

:e! Xxx2" start editing Xxx2

:bwipe test.out" remove test.out from the buffer list

:w" write it, will delete the buffer and give an error msg:w >>test.out" Append contents of this file

:au! BufWritePre

:func CloseAll()

  let i = 0

  while i <= bufnr('$')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for BufWritePre autocommand that deletes or unloads the buffer.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1054 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTif i != bufnr('%') && bufloaded(i)exe  i . "bunload"

    endif

    let i += 1

  endwhile

endfunc

:func WriteToOut()

  edit! test.out

  $put ='VimLeave done'

  write

endfunc

:set viminfo='100,nviminfo

:au BufUnload * call CloseAll()

:au VimLeave * call WriteToOut()

:e small.vim

:sp mbyte.vim

:q

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[?12l[?25h[?25l/[?12l[?25h^start of
[?25l

start of Xxx[?12l[?25h[?25l1[?12l[?25h[?25l

:[?12l[?25h.,/end of/w! Xxx1  " write test file Xxx1
[?25l"Xxx1" [New File] 3 lines, 31 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h.,/end of/w! Xxx2   " write test file Xxx2
[?25l"Xxx2" [New File] 3 lines, 31 characters written[?12l[?25h[?25l:[?12l[?25he! Xxx2                " edit Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2

        testend of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbdel test8.in^I^I" delete this file from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25he Xxx1                 " edit Xxx1
[?25l"Xxx1" 3 lines, 31 characters1
[?12l[?25h[?25l:[?12l[?25hw                      " write it, will unload it and give an error msg
[?25l"Xxx2"3 lines, 31 characters


E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out            " Write contents of this file
[?25l"test.out" [New File] 3 lines, 31 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! Xxx2                " start editing Xxx2
[?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2test

end of Xxx"Xxx2" 3 lines, 31 characters[?12l[?25h[?25l:[?12l[?25hbwipe test.out         " remove test.out from the buffer list
[?25l[?12l[?25h[?25l:[?12l[?25hw                      " write it, will delete the buffer and give an error ms


g[?25l"Xxx1"3 lines, 31 characters

E203: Autocommands deleted or unloaded buffer to be written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out           " Append contents of this file
[?25l"test.out" 3 lines, 31 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! BufWritePre
[?25lstart of Xxx1test

end of Xxx[?12l[?25h[?25l:[?12l[?25hfunc CloseAll()
[?25l

:  [?12l[?25h  let i = 0


[?25l:  [?12l[?25h  while i <= bufnr('$')


[?25l:    [?12l[?25h    if i != bufnr('%') && bufloaded(i)


[?25l:      [?12l[?25h      exe  i . "bunload"


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let i += 1


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfunc WriteToOut()
[?25l

:  [?12l[?25h  edit! test.out


[?25l:  [?12l[?25h  $put ='VimLeave done'


[?25l:  [?12l[?25h  write


[?25l:  [?12l[?25hendfunc
[?25lstart of Xxx1test

end of Xxx

~                                                                               [?12l[?25h[?25l:[?12l[?25hset viminfo='100,nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hau BufUnload * call CloseAll()
[?25l[?12l[?25h[?25l:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[?12l[?25h[?25l:[?12l[?25he small.vim
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"small.vim" 1 line, 1 character


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" 0 lines, 0 characters~                                                                               ~                                                                               ~                                                                               mbyte.vim                                                                       small.vim                                                                       "mbyte.vim" 0 lines, 0 characters[?12l[?25h[?25l:[?12l[?25hq
[?25lError detected while processing function CloseAll:


line    4:


E16: Invalid range: 0bunload


"test.out" 6 lines, 62 characters


"test.out" 7 lines, 76 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test8 = test61; then \
#	  if diff test.out test8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test9.failed test.ok test.out X* viminfo
cp test9.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test9.in" 12 lines, 255 charactersTest for Bufleave autocommand that deletes the buffer we are about to edit.



STARTTEST

:so small.vim

:au BufLeave test9.in bwipe yy

:e yy

:/^start of/,$w! test.out      " Write contents of this file

:qa!

ENDTEST



start of test file xx

end of test file xx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Bufleave autocommand that deletes the buffer we are about to edit.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 117 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[?12l[?25h[?25l:[?12l[?25he yy
[?25lE143: Autocommands unexpectedly deleted new buffer yy[?12l[?25h[?25l:[?12l[?25h/^start of/,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 2 lines, 42 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test9 = test61; then \
#	  if diff test.out test9.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test9.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test9.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test14.failed test.ok test.out X* viminfo
cp test14.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test14.in" 99 lines, 1606 charactersTests for "vaBiB", end could be wrong.

Also test ":s/pat/sub/" with different ~s in sub.

Also test for ^Vxff and ^Vo123 in Insert mode.

Also test "[m", "]m", "[M" and "]M"

Also test search()



STARTTEST

:so small.vim

/Start cursor here

vaBiBD:?Bug?,/Piece/-2w! test.out

/^- Bug

:s/u/~u~/

:s/i/~u~/

:s/o/~~~/

:.w >>test.out

:if has("ebcdic")

: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"

:else

: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"

:endif

:exe "normal " . tt

:unlet tt

:.w >>test.out[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "vaBiB", end could be wrong.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 56 lines, 1141 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute

Y:$put =@0

/bar /e

:$put =@0

-:keeppatterns /xyz

0dn:/^search()/,$w >>test.out

:qa!

ENDTEST



- Bug in "vPPPP" on this text (Webb):{cmd;{cmd;    /* <-- Start cursor here */{}}}[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25hStart cursor here
[?25l[?12l[?25h[?25l[?12l[?25h[?25l{ 

                        cmd;    /* <-- Start cursor here */ 

                        { 

                        } 

                [?12l[?25h[?25l                cmd; 

                }[?12l[?25h[?25l





6 fewer lines        }Piece of Java{        tt m1 {                t1;e1[?12l[?25h[?25l:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [New File] 3 lines, 44 characters written[?12l[?25h[?25l/[?12l[?25h^- Bug
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/u/~u~/
[?25l[?12l[?25h[?25l:[?12l[?25hs/i/~u~/
[?25luuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l:[?12l[?25hs/o/~~~/
[?25luuuuuuuuun this text (Webb):
[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 48 characters appended[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>


"

[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"


[?25l:  [?12l[?25h:endif
[?25l:$put =@/

/^substitute

:keeppatterns s/asdf/xyz/

:$put =@/

/^substitute[?12l[?25h[?25l:[?12l[?25hexe "normal " . tt
[?25lABC !a^Og^G8[?12l[?25h[?25l:[?12l[?25hunlet tt
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset vb
[?25l[?12l[?25h[?25l/[?12l[?25h^Piece
[?25l[?12l[?25h[?25l{A[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25ltt m2 {[?12l[?25h[?25l{B[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25lt2;} e2tt m3 {[?12l[?25h[?25l{C[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 10 characters appended[?12l[?25h[?25l{DC[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{EA[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l{F[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}G e1[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h

[?25lif (x){t3;}} e3[?12l[?25h[?25l}H e3[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l

}[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 3 characters appended[?12l[?25h[?25l}JH e3[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 8 characters appended[?12l[?25h[?25l}K e2[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 7 characters appended[?12l[?25h[?25l{LF[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^foobar
[?25lfoobar[?12l[?25h[?25l

:[?12l[?25hlet startline = line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('foobar', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25hcall search('^$', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l:[?12l[?25hcall search('^$', 'bc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[?12l[?25h[?25l/[?12l[?25htwo
[?25lsubstitute foo asdf



one two[?12l[?25h[?25l

:[?12l[?25hcall search('.', 'c')
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hs/foo/bar/
[?25lbar
[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25lsearch()

0

1

1

two

foo[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25lxyz[?12l[?25h[?25l:[?12l[?25h$put =@/
[?25l

^substitute[?12l[?25h[?25l

/[?12l[?25h^substitute
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l

/[?12l[?25hbar /e
[?25l[?12l[?25h[?25l:[?12l[?25h$put =@0
[?25l

substitute bar xyz[?12l[?25h[?25l



:[?12l[?25hkeeppatterns /xyz
[?25l[?12l[?25h[?25l

/bar /exyz[?12l[?25h[?25l:[?12l[?25h/^search()/,$w >>test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 9 lines, 58 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test14 = test61; then \
#	  if diff test.out test14.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test14.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test14.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test15.failed test.ok test.out X* viminfo
cp test15.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test15.in" 136 lines, 2246 charactersTests for :right on text with embedded TAB.

Also test formatting a paragraph.

Also test undo after ":%s" and formatting.



STARTTEST

:so small.vim

:set tw=65



:/^\s*test for :left/,/^\s*test for :center/ left

:/^\s*test for :center/,/^\s*test for :right/ center

:/^\s*test for :right/,/^xxx/-1 right

:set fo+=tcroql tw=72

/xxxxxxxx$

0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :right on text with embedded TAB.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 401 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=65
[?25l[?12l[?25h[?25l

test for :left[?12l[?25h[?25l

:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25lsearch hit BOTTOM, continuing at TOPtest for :left[?12l[?25h[?25l:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[?12l[?25h[?25l:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[?12l[?25h[?25l:[?12l[?25hset fo+=tcroql tw=72
[?25l[?12l[?25h[?25l/[?12l[?25hxxxxxxxx$
[?25lasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx

xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx

xx xxxxxxx. xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx

> xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h
[?25l

 xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xxxx xxxxxxx.

xxxx xxxx.xxxxxxx: xxxx xxxxxxx, xx xxxx xxxxxxx~                                                                               [?12l[?25h

[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[?12l[?25h[?25l1 more line; before #1  1 seconds ago0gq6kk

:set nocp viminfo+=nviminfo

:" undo/redo here to make the next undo only work on the following changes

u^R

:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq

/^aa

ggu

:?test for :left?,$w! test.out

:qa!

ENDTESTtest for :leftaafaadfaasdfaaasdfaaxasdfaa

asxxdfaatest for :centeraafaafd asdf[?12l[?25h[?25l1 line less; after #1  1 seconds agotest for :lefta      afa    adfa      asdfaaasdfa           axasdfaa                test for :center  aa  fa        afd asdf[?12l[?25h

[?25l:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[?12l[?25h[?25l/[?12l[?25h^aa
[?25lasxxdfaaxxxoikeasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey



xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx

xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.

xxxx xxxx.



> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx

> xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx



aa aa aa aa

bb bb bb bb

cc cc cc cc[?12l[?25h[?25l





:.,.+2s/^/x/
3 substitutions on 3 linesxaa aa aa aa

xbb bb bb bb

xcc cc cc cc
[?12l[?25h[?25l:set tw=3
[?12l[?25h[?25l





3 more lines

aaaaaa3 more lines[?12l[?25h[?25l

3 fewer lines; before #2  0 seconds agoaa aa aa aa

bb bb bb bb

cc cc cc cc

~                                                                               [?12l[?25h

[?25l:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[New] 111L, 2304C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test15 = test61; then \
#	  if diff test.out test15.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test15.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test15.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test19.failed test.ok test.out X* viminfo
cp test19.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test19.in" 33 lines, 692 charactersTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.

Also test that dv_ works correctly



STARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 447 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25lSTARTTEST

:so small.vim

:set smarttab expandtab ts=8 sw=4

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

/some

r:set noexpandtab

/other

r

:" Test replacing with Tabs and then backspacing to undo it

0wR^H^H^H^[

:" Test replacing with Tabs

0wR^[

:" Test that copyindent works with expandtab set

:set expandtab smartindent copyindent ts=8 sw=8 sts=8

o{

x^[:set nosol

/Second line/

fwdv_:?^start?,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25hsome
[?25lstart textsome test text[?12l[?25h[?25l    ome test text[?12l[?25h[?25l

:[?12l[?25hset noexpandtab
[?25l[?12l[?25h[?25l/[?12l[?25hother
[?25ltest textother test text[?12l[?25h[?25l    ther test text[?12l[?25h[?25l

a cde[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[?12l[?25h
    [?25l[?12l[?25h[?25l

f ghi[?12l[?25h[?25l

:[?12l[?25h" Test replacing with Tabs
[?25l[?12l[?25h
    [?25l     hi[?12l[?25h[?25l

test text[?12l[?25h[?25l

:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[?12l[?25h[?25l:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[?12l[?25h[?25l{x[?12l[?25h[?25l

:[?12l[?25hset nosol
[?25l[?12l[?25h[?25l/[?12l[?25hSecond line/
[?25l

Second line beginning with whitespace[?12l[?25h[?25l
  with whitespace[?12l[?25h[?25l

:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [New File] 10 lines, 121 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test19 = test61; then \
#	  if diff test.out test19.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test19.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test19.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test20.failed test.ok test.out X* viminfo
cp test20.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test20.in" 28 lines, 398 charactersTests Blockwise Visual when there are TABs before the text.

First test for undo working properly when executing commands from a register.

Also test this in an empty buffer.



STARTTEST

:so tiny.vim

G0"ay$k@au

:new

@auY:quit!

GP

/start here$

"by$^Vjjlld

/456$

^Vjj"bP

:/56$/,$-1w! test.out

:qa!

ENDTEST



123456

234567

345678



test text test tex start here[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests Blockwise Visual when there are TABs before the text.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 107 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso tiny.vim
[?25l[?12l[?25h[?25lsome texttest text

test text



Ox^[jAy^[kdd[?12l[?25h[?25lx[?12l[?25h

[?25ly[?12l[?25h[?25ly

Ox^[jAy^[kdd[?12l[?25h[?25l



2 changes; before #1  0 seconds ago[?12l[?25h

[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       123456

234567

345678test text test tex start here

                some texttest

test textOx^[jAy^[kdd

test20.in                                                                       [?12l[?25h[?25lx[+][?12l[?25h

[?25ly[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l1 line less; before #1  0 seconds ago    [?12l[?25h[?25l:[?12l[?25hquit!
[?25l:so tiny.vim

G0"ay$k@au:new@auY:quit!GP/start here$"by$^Vjjlld/456$^Vjj"bP:/56$/,$-1w! test.out:qa!ENDTEST123456

234567

345678test text test tex start heresome

         test text

test textOx^[jAy^[kdd[?12l[?25h[?25l[?12l[?25h[?25l

Ox^[jAy^[kdd[?12l[?25h[?25l

/[?12l[?25hstart here$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25ls[?12l[?25h[?25le[?12l[?25h[?25lt t[?12l[?25h[?25lat [?12l[?25h[?25lrt hereextex[?12l[?25h[?25l/[?12l[?25h456$
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l[?12l[?25h[?25l4

234[?12l[?25h[?25l5

345[?12l[?25h[?25l[?12l[?25h[?25lstart here56

234start here67

345start here78[?12l[?25h[?25l:[?12l[?25h/56$/,$-1w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 10 lines, 106 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test20 = test61; then \
#	  if diff test.out test20.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test20.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test20.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test22.failed test.ok test.out X* viminfo
cp test22.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test22.in" 13 lines, 197 charactersTests for file with some lines ending in CTRL-M, some not^M

^M

STARTTEST

:set ta tx

:e!

:$-3,$w! test.out

:qa!

ENDTEST



this lines ends in a^M

this one doesn't

this one does^M

and the last one doesn't

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for file with some lines ending in CTRL-M, some not^M[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset ta tx
[?25l[?12l[?25h[?25l:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[?12l[?25h[?25l:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [New File] 4 lines, 79 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test22 = test61; then \
#	  if diff test.out test22.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test22.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test22.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test23.failed test.ok test.out X* viminfo
cp test23.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test23.in" 15 lines, 282 charactersTests for complicated + argument to :edit command



STARTTEST

:$-1w! Xfile1

:$w! Xfile2

:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w

:w! test.out

:e Xfile1

:w >> test.out

:qa!

ENDTEST



The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"

foo|bar

foo/bar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for complicated + argument to :edit command[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 125 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" 1 line, 8 characters


foo|bar


"Xfile1" 1 line, 11 characters written


"Xfile2" 1 line, 8 characters


foo/bar


"Xfile2" 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 12 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 charactersfooPIPEbar

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xfile1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hw >> test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test23 = test61; then \
#	  if diff test.out test23.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test23.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test23.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test24.failed test.ok test.out X* viminfo
cp test24.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test24.in" 89 lines, 1301 charactersTests for regexp with backslash and other special characters inside []

Also test backslash for hex/octal numbered character.



STARTTEST

:set nocompatible viminfo+=nviminfo

/[\x]

x/[\t\]]

x/[]y]

x/[\]]

x/[y^]

x/[$y]

x/[\x61]

x/[\x60-\x64]

xj0/[\x785]

x/[\o143]

x/[\o140-\o144]

x/[\o417]

x/\%x42

x/\%o103

x/[\x00]

x

:s/[\x00-\x10]//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with backslash and other special characters inside [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 51 lines, 519 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/



:s/aaa/xyz/



:s/~/bcd/



:s/~\+/BB/

:"

:?start?,$w! test.out

:qa!

ENDTEST



start

test \text test text

test    text test text

test text ]test text

test ]text test text

test text te^st text

test te$xt test text

test taext test text  x61

test tbext test text  x60-x64

test 5text test text  x78 5[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h[\x]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[\t\]]
[?25l[?12l[?25h[?25ltext test tex[?12l[?25h[?25l/[?12l[?25h[]y]
[?25l[?12l[?25h[?25ltest text[?12l[?25h[?25l/[?12l[?25h[\]]
[?25l[?12l[?25h[?25ltext test text[?12l[?25h[?25l/[?12l[?25h[y^]
[?25l[?12l[?25h[?25lst text[?12l[?25h[?25l/[?12l[?25h[$y]
[?25l[?12l[?25h[?25lxt test text[?12l[?25h[?25l/[?12l[?25h[\x61]
[?25l[?12l[?25h[?25lext test text  x61[?12l[?25h[?25l/[?12l[?25h[\x60-\x64]
[?25l[?12l[?25h[?25lext test text  x60-x64[?12l[?25h
[?25l/[?12l[?25h[\x785]
[?25l[?12l[?25h[?25ltext test text  x78 5[?12l[?25h[?25l/[?12l[?25h[\o143]
[?25l

testc text test text  o143[?12l[?25h[?25l text test text  o143[?12l[?25h[?25l

/[?12l[?25h[\o140-\o144]
[?25l

tesdt text test text  o140-o144[?12l[?25h[?25lt text test text  o140-o14[?12l[?25h[?25l

/[?12l[?25h[\o417]
[?25l

test7 text test text  o41 7[?12l[?25h[?25l text test text  o41 7[?12l[?25h[?25l

/[?12l[?25h\%x42
[?25l

test text tBest text  \%x42[?12l[?25h[?25lest text  \%x42[?12l[?25h[?25l

/[?12l[?25h\%o103
[?25l

test text teCst text  \%o103[?12l[?25h[?25lst text  \%o103[?12l[?25h[?25l

/[?12l[?25h[\x00]
[?25l

test text ^@test text  [\x00][?12l[?25h[?25ltest text  [\x00][?12l[?25h[?25l

test te^@xt t^Dest t^Pext  [\x00-\x10][?12l[?25h[?25l

:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 linext test text  [\x00-\x10][?12l[?25h[?25l

test \xyztext test text  [\x-z][?12l[?25h[?25l

:[?12l[?25hs/[\x-z]\+//
[?25ltext test text  [\x-z][?12l[?25h[?25l

test text tev\uyst text  [\u-z][?12l[?25h[?25l

:[?12l[?25hs/[\u-z]\{2,}//
[?25lst text  [\u-z][?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\+//
[?25l xx [?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)\+//
[?25l[?12l[?25h[?25l

xx aaaaa xx a[?12l[?25h[?25l

:[?12l[?25hs/\(a*\)*//
[?25l[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{2,3}/A/
[?25lAaa xx[?12l[?25h[?25l

xx aaaaa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25lAaaa x[?12l[?25h[?25l

xx aaa12aa xx[?12l[?25h[?25l

:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25lAaa xx[?12l[?25h[?25l

xx foobar xbar xx[?12l[?25h[?25l

:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25lA xx[?12l[?25h[?25l

xx an file xx[?12l[?25h[?25l

:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25lA xx[?12l[?25h[?25l

x= 9;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25lXX
[?12l[?25h[?25l

hh= 77;[?12l[?25h[?25l

:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25lYY 77;[?12l[?25h[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hs/aaa/xyz/
[?25lxyz
 [?12l[?25h[?25l

xyz[?12l[?25h[?25l

:[?12l[?25hs/~/bcd/
[?25lbcd
 [?12l[?25h[?25l

bcdbcdbcd[?12l[?25h[?25l

:[?12l[?25hs/~\+/BB/
[?25lBB[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [New] 32L, 586C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test24 = test61; then \
#	  if diff test.out test24.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test24.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test24.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test26.failed test.ok test.out X* viminfo
cp test26.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test26.in" 44 lines, 750 charactersTest for :execute, :while and :if



STARTTEST

:so small.vim

mt:let i = 0

:while i < 12

:  let i = i + 1

:  if has("ebcdic")

:    execute "normal o" . i . "\047"

:  else

:    execute "normal o" . i . "\033"

:  endif

:  if i % 2

:    normal Ax^V^[

:    if i == 9

:      break

:    endif

:    if i == 5

:      continue

:    else

:      let j = 9

:      while j > 0

:if has("ebcdic")[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for :execute, :while and :if[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 39 lines, 696 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:      let j = 9

:      while j > 0

:if has("ebcdic")

:execute "normal" j . "a" . j . "\x27"

:else

:execute "normal" j . "a" . j . "\x1b"

:endif

:let j = j - 1

:      endwhile

:    endif

:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 0
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i < 12
[?25l

:  [?12l[?25h:  let i = i + 1


[?25l:  [?12l[?25h:  if has("ebcdic")


[?25l:    [?12l[?25h:    execute "normal o" . i . "\047"


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    execute "normal o" . i . "\033"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i % 2


[?25l:    [?12l[?25h:    normal Ax^^[


[?25l:    [?12l[?25h:    if i == 9


[?25l:      [?12l[?25h:      break


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if i == 5


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      let j = 9


[?25l:      [?12l[?25h:      while j > 0


[?25l:[?12l[?25h:        if has("ebcdic")


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x27"


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          execute "normal" j . "a" . j . "\x1b"


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        let j = j - 1


[?25l:[?12l[?25h:      endwhile


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  if i == 9


[?25l:    [?12l[?25h:    if has("ebcdic")


[?25l:      [?12l[?25h:      execute "normal Az\047"


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      execute "normal Az\033"


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endwhile
[?25l:  endif

:  if i == 9

:    if has("ebcdic")

:      execute "normal Az\047"

:    else

:      execute "normal Az\033"

:    endif

:  endif

:endwhile

:unlet i j

:'t,$w! test.out

:qa!

ENDTEST



1x999999999888888887777777666666555554444333221

2

3x999999999888888887777777666666555554444333221

4

5x

6

7x999999999888888887777777666666555554444333221

8

9x[?12l[?25h[?25l

:[?12l[?25hunlet i j
[?25l[?12l[?25h[?25l:[?12l[?25h't,$w! test.out
[?25l"test.out" [New File] 10 lines, 159 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test26 = test61; then \
#	  if diff test.out test26.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test26.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test26.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test28.failed test.ok test.out X* viminfo
cp test28.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test28.in" 23 lines, 364 charactersTest for sourcing a file with CTRL-V's at the end of the line



STARTTEST

:/firstline/+1,/lastline/-1w! Xtestfile

:so Xtestfile

Gmm__1^[^[__2^[__3^[^[__4^[__5^[:'m,$s/^@/0/g

:'m,$w! test.out

:qa!

ENDTEST



firstline

map __1 afirst

map __2 asecond

map __3 athird

map __4 afourth

map __5 afifth

map __1 asd^V

map __2 asd^V^V

map __3 asd^V^V

map __4 asd^V^V^V

map __5 asd^V^V^V

lastline[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for sourcing a file with CTRL-V's at the end of the line[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [New File] 10 lines, 148 characters written[?12l[?25h[?25l:[?12l[?25hso Xtestfile
[?25l[?12l[?25h[?25l

sd

map __2 asd^[[?12l[?25h[?25lsecond[?12l[?25hd  [?25lsd^[[?12l[?25h^[  [?25lsd^@map __5 asd^@[?12l[?25h[?25lfifth[?12l[?25h[?25l

:[?12l[?25h'm,$s/^@/0/g
[?25l0map __5 asd0fifth[?12l[?25h[?25l:[?12l[?25h'm,$w! test.out
[?25l"test.out" [New File] 2 lines, 45 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test28 = test61; then \
#	  if diff test.out test28.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test28.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test28.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test29.failed test.ok test.out X* viminfo
cp test29.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test29.in" 230 lines, 4261 charactersTest for joining lines and marks in them

 in compatible and nocompatible modes

 and with 'joinspaces' set or not

 and with 'cpoptions' flag 'j' set or not



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set nojoinspaces

:set cpoptions-=j

/firstline/

j"td/^STARTTEST/-1

PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=jj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss+=j

j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible

j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2

ENDTEST



firstline

asdfasdf.

asdf[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for joining lines and marks in them[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 11 lines, 478 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j
[?25l[?12l[?25h[?25l/[?12l[?25hfirstline/
[?25l[?12l[?25h

[?25l/[?12l[?25h^STARTTEST/-1
[?25l+-1
37 fewer linesSTARTTEST

/^{/+1[?12l[?25h[?25lmore linesasdfasdf.

asdf[?12l[?25h[?25lasdf

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop!

ert[?12l[?25h
hjkl i[?25l. as dfg? hjkl iop! ert

zx cvn.

as dfg?hjkl iop![?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv
hjkl i[?25l. as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h
zx cv[?25las dfg?

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg?  hjkl iop!  ert

zx cvn.

as dfg?[?12l[?25h  er[?25lt  e[?12l[?25h
zx cv[?25len[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions+=j
[?25l[?12l[?25h
zx cv[?25l

hjkl iop![?12l[?25h
hjkl i[?25l.  as dfg? hjkl iop! ertSTARTTEST[?12l[?25h er[?25lt er[?12l[?25h
zx cv[?25lrn[?12l[?25h[?25lnop[?12l[?25h[?25l





:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[?12l[?25h

[?25l



37 more linesasdfasdf.
[?12l[?25h[?25lasdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l  asdf[?12l[?25h[?25l

asdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.      [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf.[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

asdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l.  as dfg? hjkl iop! ert[?12l[?25h[?25lt  a[?12l[?25h[?25l

zx cvn.[?12l[?25h[?25l

/[?12l[?25hSTARTTEST/-2
[?25l+-2
4 fewer lines[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 147 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set comments=s1:/*,mb:*,ex:*/,://

:set nojoinspaces fo=j

:set backspace=eol,start

:.,+3join

j4J

:.,+2join

j3J

:.,+2join

j3J

:.,+2join

jj3J

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset nojoinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 17 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:inoremap <c-u> <left><c-u>

Avim3^U^[

:iunmap <c-u>

Avim4^U^U^[

:" Test with backspace set to the compatible setting

:set backspace= visualbell

A vim5^[A^U^U^[

A vim6^[Azwei^Gu^U^[

:inoremap <c-u> <left><c-u>

A vim7^U^U^[

:set compatible novisualbell

ENDTEST

1 this shouldn't be deleted

2 this shouldn't be deleted

3 this shouldn't be deleted

4 this should be deleted

5 this shouldn't be deleted

6 this shouldn't be deleted

7 this shouldn't be deleted

8 this shouldn't be deleted (not touched yet)



STARTTEST

/^{/+1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[?12l[?25h[?25l/[?12l[?25h^\d\+ this
[?25l[?12l[?25h[?25l:[?12l[?25hset cp bs=2
[?25l[?12l[?25h[?25l[?12l[?25hd    [?25lvim2[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?25ld3[?12l[?25h[?25l:[?12l[?25hiunmap <c-u>
[?25l[?12l[?25h[?25l[?12l[?25h

[?25l:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace= visualbell
[?25l[?12l[?25h[?25lvim5[?12l[?25h[?5h[?5l[?5h[?5l[?25ld vim6[?12l[?25h6    [?25lzwei[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[?12l[?25h[?5h[?5l[?5h[?5l[?25lvim7[?12l[?25h

[?25l:[?12l[?25hset compatible novisualbell
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 21 lines, 356 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj3J

:.,+2join

j3J

:.,+2join

jj3J

j:.,+2join

jj3J

j:.,+5join

j6J

oSome code!^M// Make sure backspacing does not remove this comment leader.^[0i^HH^[

ENDTEST



{



/*

 * Make sure the previous comment leader is not removed.

 */



/*

 * Make sure the previous comment leader is not removed.

 */[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[?12l[?25h[?25l:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[?12l[?25h[?25l:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[?12l[?25h[?25l:[?12l[?25hset backspace=eol,start
[?25l[?12l[?25h[?25l:[?12l[?25h.,+3join
[?25l/* Make sure the previous comment leader is not removed.  *//* List:

 * - item1

 *   foo bar baz[?12l[?25h

[?25l/* Make sure the previous comment leader is not removed.  */*   foo bar baz

 * - item2

 *   foo bar baz[?12l[?25h

[?25l:[?12l[?25h.,+8join
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz *//* List:- item1  foo bar baz

 * - item2[?12l[?25h

[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */// Should the next comment leader be left alone?

// Yes.// Should the next comment leader be left alone?[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lShould the next comment leader be left alone?  Yes.





// Yes.[?12l[?25h

[?25l// Should the next comment leader be left alone?  Yes.* Here the comment leader should be left intact. */

// And so should this one.[?12l[?25h

[?25l





:[?12l[?25h.,+2join
[?25l/* Here the comment leader should be left intact. */ // And so should this one.* Here the comment leader should be left intact. */[?12l[?25h

[?25l/* Here the comment leader should be left intact. */ // And so should this one.[?12l[?25h

[?25l:[?12l[?25h.,+2join
[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();[?12l[?25h[?25l

[?12l[?25h[?25lif (condition) // Remove the next comment leader!  OK, I will.
[?12l[?25h[?25l

action();
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+2join
[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;[?12l[?25h[?25l

[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l

;
[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h.,+5join
[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket@                                                                               ># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.[?12l[?25h[?25l

[?12l[?25h[?25lSome code!

// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l// Make sure backspacing does not remove this comment leader.

}[?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 61 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:?firstline?+1,$w! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines// Should the next comment leader be left alone?  Yes./* Here the comment leader should be left intact. */ // And so should this one.

/* Here the comment leader should be left intact. */ // And so should this one.

if (condition) // Remove the next comment leader!  OK, I will.

    action();if (condition) // Remove the next comment leader!  OK, I will.

    action();int i = 7 /* foo *// 3 // comment

 ;int i = 7 /* foo *// 3 // comment ;># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.># Note that the last character of the ending comment leader (left angle brackett) is a comment leader itself. Make sure that this comment leader is not removed  from the next line #< < On this line a new comment is opened which spans 2 liness. This comment should retain its comment leader.



Some code!// Make sure backspacing does not remove this comment leader.

}[?12l[?25h[?25l:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [New File] 97 lines, 3018 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test29 = test61; then \
#	  if diff test.out test29.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test29.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test29.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test31.failed test.ok test.out X* viminfo
cp test31.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test31.in" 95 lines, 1832 charactersTest for commands that close windows and/or buffers:

:quit

:close

:hide

:only

:sall

:all

:ball

:buf

:edit



STARTTEST

:so small.vim

GA 1^[:$w! Xtest1

$r2:$w! Xtest2

$r3:$w! Xtest3

:n! Xtest1 Xtest2

A 1^[:set hidden

:" test for working :n when hidden set; write "testtext 2"

:n

:w! test.out

:" test for failing :rew when hidden not set; write "testtext 2 2"

:set nohidden[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for commands that close windows and/or buffers:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 80 lines, 1697 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" test ":q!" and hidden buffer.

:bw! Xtest1 Xtest2 Xtest3 Xtest4

:sp Xtest1

:wincmd w

:bw!

:set modified

:bot sp Xtest2

:set modified

:bot sp Xtest3

:set modified

:wincmd t

:hide

:q!

:w >>test.out

:q!

:w >>test.out

:q!

:call append(line('$'), "Oh, Not finished yet.")

:w >>test.out

:qa!

ENDTEST



testtext[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h

[?25l1[?12l[?25h[?25l:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [New File] 1 line, 11 characters written[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [New File] 1 line, 11 characters written[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" 1 line, 11 characterstesttext 1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[?12l[?25h[?25l:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters2[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hrew
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)1 1
[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l1[?12l[?25h[?25l:[?12l[?25hsp
[?25lXtest1 [+]                                                                      testtext 1 1 1Xtest1 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)2 22 [?12l[?25h[?25l:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characterstesttext 1 1 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25lXtest1 [+]                                                                      Xtest2 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 2 2" twice
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l1 1[?12l[?25h[?25l:[?12l[?25hq!
[?25ltesttext 2 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25hunhide
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l2[?12l[?25h[?25l:[?12l[?25hhide
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3"
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 13 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1


"[?25ltesttext 3 3[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters1[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 3 3 3"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)3 3Xtest3 [+]                                                                      testtext 1Xtest1                                                                          [?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l3[?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[?12l[?25h[?25l:[?12l[?25h" write "testtext 1"
[?25l[?12l[?25h[?25l3 3[?12l[?25h[?25l:[?12l[?25hclose!
[?25l1~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hset nohidden
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[?12l[?25h[?25l:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File]Xtest4                                                                          testtext 1Xtest1                                                                          [?12l[?25h[?25l 4[+][?12l[?25h[?25l:[?12l[?25hall!
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)


"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25ltesttext 2 2 2

~                                                                               Xtest2 [+]                                                                      testtext 3 3 3 3~                                                                               3 [+][?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 15 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[?12l[?25h[?25l:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"95 lines, 1832 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hsp Xtest1
[?25l"Xtest1" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               Xtest1                                                                          :w >>test.out:q!:w >>test.out:q!:call append(line('$'), "Oh, Not finished yet."):w >>test.out:qa!ENDTESTtesttexttest31.in "Xtest1" 1 line, 11 characters[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25lXtest1                                                                           test31.in                                                                       [?12l[?25h[?25l:[?12l[?25hbw!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[?12l[?25h[?25l:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" 1 line, 11 charactersXtest1 [+]                                                                      testtext 2Xtest2                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" 1 line, 11 characterstesttext 1

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest1 [+]                                                                      testtext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3                                                                          [?12l[?25h[?25l:[?12l[?25hset modified
[?25l[+][?12l[?25h[?25l:[?12l[?25hwincmd t
[?25lXtest1 [+]                                                                      Xtest3 [+]                                                                       [?12l[?25h[?25l:[?12l[?25hhide
[?25ltesttext 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest2 [+]                                                                      testtext 3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               Xtest3 [+]                                                                      [?12l[?25h[?25l:[?12l[?25hq!
[?25l3~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hq!
[?25lE37: No write since last change


E162: No write since last change for buffer "Xtest1"


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 1 line, 11 characters appended


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test31 = test61; then \
#	  if diff test.out test31.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test31.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test31.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test33.failed test.ok test.out X* viminfo
cp test33.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test33.in" 34 lines, 616 charactersTest for 'lisp'

If the lisp feature is not enabled, this will fail!



STARTTEST

:so small.vim

:set lisp

/^(defun

=G:/^(defun/,$w! test.out

:q!

ENDTEST



(defun html-file (base)

(format nil "~(~A~).html" base))



(defmacro page (name title &rest body)

(let ((ti (gensym)))

`(with-open-file (*standard-output*

(html-file ,name)

:direction :output

:if-exists :supersede)

(let ((,ti ,title))

(as title ,ti)

(with center[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'lisp'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 5 lines, 63 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset lisp
[?25l[?12l[?25h[?25l/[?12l[?25h^(defun
[?25l[?12l[?25h[?25l22 lines to indent...
23indented   (format nil "~(~A~).html" base))





  (let ((ti (gensym)))

       `(with-open-file (*standard-output*

                 (html-file ,name)

                  :direction :output

                         :if-exists :supersede)

                        (let ((,ti ,title))

              (as title ,ti)

            (with center[?12l[?25h[?25l:[?12l[?25h/^(defun/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 23 lines, 544 characters written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test33 = test61; then \
#	  if diff test.out test33.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test33.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test34.failed test.ok test.out X* viminfo
cp test34.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test34.in" 87 lines, 1833 charactersTest for user functions.

Also test an <expr> mapping calling a function.

Also test that a builtin function cannot be replaced.

Also test for regression when calling arbitrary expression.



STARTTEST

:so small.vim

:function Table(title, ...)

:  let ret = a:title

:  let idx = 1

:  while idx <= a:0

:    exe "let ret = ret . a:" . idx

:    let idx = idx + 1

:  endwhile

:  return ret

:endfunction

:function Compute(n1, n2, divname)

:  if a:n2 == 0

:    return "fail"

:  endif

:  exe "let g:" . a:divname . " = ". a:n1 / a:n2

:  return "ok"

:endfunction[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for user functions.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 78 lines, 1621 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'

:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!

ENDTEST



here[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction Table(title, ...)
[?25l

:  [?12l[?25h:  let ret = a:title


[?25l:  [?12l[?25h:  let idx = 1


[?25l:  [?12l[?25h:  while idx <= a:0


[?25l:    [?12l[?25h:    exe "let ret = ret . a:" . idx


[?25l:    [?12l[?25h:    let idx = idx + 1


[?25l:    [?12l[?25h:  endwhile


[?25l:  [?12l[?25h:  return ret


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch[?12l[?25h[?25l



:[?12l[?25hfunction Compute(n1, n2, divname)
[?25l

:  [?12l[?25h:  if a:n2 == 0


[?25l:    [?12l[?25h:    return "fail"


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  exe "let g:" . a:divname . " = ". a:n1 / a:n2


[?25l:  [?12l[?25h:  return "ok"


[?25l:  [?12l[?25h:endfunction
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?

:    " Second is here just to prove that this line is correct when not skipping

:    " rhs of &&.

:    $put =(0&&(function('tr'))(1, 2, 3))[?12l[?25h[?25l



:[?12l[?25hfunc Expr1()
[?25l

:  [?12l[?25h:  normal! v


[?25l:  [?12l[?25h:  return "111"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc Expr2()
[?25l

:  [?12l[?25h:  call search('XX', 'b')


[?25l:  [?12l[?25h:  return "222"


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListItem()
[?25l

:  [?12l[?25h:  let g:counter += 1


[?25l:  [?12l[?25h:  return g:counter . '. '


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc ListReset()
[?25l

:  [?12l[?25h:  let g:counter = 0


[?25l:  [?12l[?25h:  return ''


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hfunc FuncWithRef(a)
[?25l

:  [?12l[?25h:  unlet g:FuncRef


[?25l:  [?12l[?25h:  return a:a


[?25l:  [?12l[?25h:endfunc
[?25l:call append(line('$'), max([1, 2, 3]))

:try

:    " Regression: the first line below used to throw ?E110: Missing ')'?[?12l[?25h[?25l



:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[?12l[?25h[?25l:[?12l[?25hlet counter = 0
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> + Expr1()
[?25l[?12l[?25h[?25l:[?12l[?25himap <expr> * Expr2()
[?25l[?12l[?25h[?25l:[?12l[?25hlet retval = "nop"
[?25l[?12l[?25h[?25l/[?12l[?25h^here
[?25l[?12l[?25h[?25lher$=[?12l[?25hTable("xxx", 4, "asdf")
[?25l=[?12l[?25hCompute(45, 0, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hCompute(45, 5, "retval")
[?25l=[?12l[?25hretval
[?25l=[?12l[?25hg:FuncRef(333)


[?25lError detected while processing function Expr1:


line    1:


E523: Not allowed here


Press ENTER or type command to continue[?12l[?25h[?25l:    $put =(0&&(function('tr'))(1, 2, 3))

:    $put =(1&&(function('tr'))(1, 2, 3))

:catch

:    $put ='!!! Unexpected exception:'$put =v:exception

:endtry$-9,$w! test.outdelfunc Table

:delfunc Computedelfunc Expr1delfunc Expr2

:delfunc ListItemListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX---222---

1. one2. two[?12l[?25h[?25l1. one again[?12l[?25h[?25l

:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25lE704: Funcref variable name must start with a capital: max[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:    " Regression: the first line below used to throw ?E110: Missing ')'?


[?25l:  [?12l[?25h:    " Second is here just to prove that this line is correct when not skipp


ing


[?25l:  [?12l[?25h:    " rhs of &&.


[?25l:  [?12l[?25h:    $put =(0&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:    $put =(1&&(function('tr'))(1, 2, 3))


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:    $put ='!!! Unexpected exception:'


[?25l:  [?12l[?25h:    $put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l:    $put =v:exception

:endtry

:$-9,$w! test.out

:delfunc Table

:delfunc Compute

:delfunc Expr1

:delfunc Expr2

:delfunc ListItem

:delfunc ListReset

:unlet retval counter

:q!ENDTESTxxx4asdf fail nop ok 9 333

XX111-XX

---222---

1. one

2. two1. one again

330[?12l[?25h[?25l

:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [New File] 10 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25hdelfunc Table
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Compute
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr1
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc Expr2
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListItem
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc ListReset
[?25l[?12l[?25h[?25l:[?12l[?25hunlet retval counter
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test34 = test61; then \
#	  if diff test.out test34.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test34.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test34.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test36.failed test.ok test.out X* viminfo
cp test36.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test36.in" 108 lines, 2025 charactersTest character classes in regexp using regexpengine 0, 1, 2.



STARTTEST

/^start-here/+1

Y:s/\%#=0\d//g

p:s/\%#=1\d//g

p:s/\%#=2\d//g

p:s/\%#=0[0-9]//g

p:s/\%#=1[0-9]//g

p:s/\%#=2[0-9]//g

p:s/\%#=0\D//g

p:s/\%#=1\D//g

p:s/\%#=2\D//g

p:s/\%#=0[^0-9]//g

p:s/\%#=1[^0-9]//g

p:s/\%#=2[^0-9]//g

p:s/\%#=0\o//g

p:s/\%#=1\o//g

p:s/\%#=2\o//g

p:s/\%#=0[0-7]//g

p:s/\%#=1[0-7]//g

p:s/\%#=2[0-7]//g

p:s/\%#=0\O//g[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest character classes in regexp using regexpengine 0, 1, 2.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 101 lines, 1850 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTp:s/\%#=1[^a-z]//g

p:s/\%#=2[^a-z]//g

p:s/\%#=0\u//g

p:s/\%#=1\u//g

p:s/\%#=2\u//g

p:s/\%#=0[A-Z]//g

p:s/\%#=1[A-Z]//g

p:s/\%#=2[A-Z]//g

p:s/\%#=0\U//g

p:s/\%#=1\U//g

p:s/\%#=2\U//g

p:s/\%#=0[^A-Z]//g

p:s/\%#=1[^A-Z]//g

p:s/\%#=2[^A-Z]//g

p:s/\%#=0\%204l^\t...//g

p:s/\%#=1\%205l^\t...//g

p:s/\%#=2\%206l^\t...//g

:/^start-here/+1,$wq! test.out

ENDTEST




[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^start-here/+1
[?25l[?12l[?25h[?25l:[?12l[?25hs/\%#=0\d//g



:[?12l[?25hs/\%#=1\d//g



:[?12l[?25hs/\%#=2\d//g



:[?12l[?25hs/\%#=0[0-9]//g



:[?12l[?25hs/\%#=1[0-9]//g



:[?12l[?25hs/\%#=2[0-9]//g



:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line0123456789~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\o//g



:[?12l[?25hs/\%#=1\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\o//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[0-7]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l

[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line01234567~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\x//g




:[?12l[?25hs/\%#=1\x//g




:[?12l[?25hs/\%#=2\x//g




:[?12l[?25hs/\%#=0[0-9A-Fa-f]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[0-9A-Fa-f]//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line0123456789ABCDEFabcdef~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\w//g


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\w//g





:[?12l[?25hs/\%#=1[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=2[0-9A-Za-z_]//g




:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\h//g




:[?12l[?25hs/\%#=1\h//g




:[?12l[?25hs/\%#=2\h//g




:[?12l[?25hs/\%#=0[A-Za-z_]//g




:[?12l[?25hs/\%#=1[A-Za-z_]//g




:[?12l[?25hs/\%#=2[A-Za-z_]//g




:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\a//g




:[?12l[?25hs/\%#=1\a//g




:[?12l[?25hs/\%#=2\a//g




:[?12l[?25hs/\%#=0[A-Za-z]//g




:[?12l[?25hs/\%#=1[A-Za-z]//g




:[?12l[?25hs/\%#=2[A-Za-z]//g




:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\l//g



:[?12l[?25hs/\%#=1\l//g



:[?12l[?25hs/\%#=2\l//g



:[?12l[?25hs/\%#=0[a-z]//g



:[?12l[?25hs/\%#=1[a-z]//g



:[?12l[?25hs/\%#=2[a-z]//g



:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 lineabcdefghiwxyz~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\u//g



:[?12l[?25hs/\%#=1\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\u//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=1[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2[A-Z]//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l


~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l

[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 lineABCDEFGHIXYZ~                                                                               [?12l[?25h[?25l




:[?12l[?25hs/\%#=0\%204l^\t...//g



:[?12l[?25hs/\%#=1\%205l^\t...//g

~                                                                               [?12l[?25h[?25l





:[?12l[?25hs/\%#=2\%206l^\t...//g
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 99 lines, 4269 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test36 = test61; then \
#	  if diff test.out test36.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test36.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test36.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test37.failed test.ok test.out X* viminfo
cp test37.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test37.in" 116 lines, 3262 charactersTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vim

:set noscrollbind

:set scrollopt=ver,jump

:set scrolloff=2

:set nowrap

:set noequalalways

:set splitbelow

:" TEST using two windows open to one buffer, one extra empty window

:split

:new

^Wt:

:resize 8

/^start of window 1$/

zt:

:set scrollbind

^Wj:

:resize 7

/^start of window 2$/

zt:

:set scrollbind

:" -- start of tests --[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below![?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 1498 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTHk^WtH^WjHyy^Wbp^Wtyy^Wbp:

^Wt:set noscb

ggL^Wj:set noscb

ggL:set scb

^Wt:set scb

^WtG^WjG^Wt:syncbind

Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out" Write contents of this file

:qa!

ENDTEST





start of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt=ver,jump
[?25l[?12l[?25h[?25l:[?12l[?25hset scrolloff=2
[?25l[?12l[?25h[?25l:[?12l[?25hset nowrap
[?25l[?12l[?25h[?25l:[?12l[?25hset noequalalways
[?25l[?12l[?25h[?25l:[?12l[?25hset splitbelow
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[?12l[?25h[?25l:[?12l[?25hsplit
[?25l^WtH3k^WtHyybp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out    " Write contents of this file

:qa!ENDTESTstart of window 1. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02test37.in                                                                       Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp:

:" ***** done with tests *****

:w! test.out     " Write contents of this file

:qa!ENDTESTstart of window 11122

test37.in                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l:w! test.out             " Write contents of this file

:qa!ENDTESTtest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 8
[?25l:" ***** done with tests *****w! test.out             " Write contents of this file

:qa!ENDTESTstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

test37.in                                                                       :" ***** done with tests *****:w! test.out             " Write contents of this fileqa!ENDTESTstart of window 1[?12l[?25h[?25l/[?12l[?25h^start of window 1$/
[?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hresize 7
[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lend of window 1start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[?12l[?25h[?25l

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h



[?25l. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[?12l[?25htest37.in                                                                        [No Name]                                                                       [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[+][?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    





[?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l2[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08440505060607070808090900[?12l[?25htest37.in                                                                        test37.in                                                                       test37.in                                                                       test37.in                                                                        test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       test37.in                                                                        test37.in                                                                        test37.in                                                                       test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0656789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415UTSRQPONMLKJIHGREDCBA9876543210 09101112131415[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

end of window 1



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?12l[?25h[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" ****** tests using two different buffers *****
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        test37.in                                                                       [?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25lstart of window 20000000000[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[?12l[?25h[?25l:[?12l[?25hnew
[?25ltest37.in                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [?12l[?25htest37.in                                                                       [No Name]                                                                        test37.in                                                                        [No Name]                                                                       [?25l4 more lines[+][?12l[?25h





[?25l18 more linesstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l/[?12l[?25h^start of window 1$/
[?25lsearch hit BOTTOM, continuing at TOPENDTESTstart of window 1010102020303[?12l[?25h[?25l

. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start of window 2$/
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03

. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollbind
[?25l[?12l[?25h[?25l:[?12l[?25h" -- start of tests --
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling down
[?25l[?12l[?25h





[?25l. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07

. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08

. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    



[?25l. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST scrolling up
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l440505060607070808090900. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04

. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07

. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25lstart of window 1

. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02

. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2

. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" TEST horizontal scrolling
[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt+=hor
[?25l[?12l[?25h[?25l05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05

15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05

2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

46 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06

56 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06

6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02

7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06UTSRQPONMLKJIHGREDCBA9876543210 07[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l

[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                    [No Name] [+]                                                                   [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                   [No Name] [+]                                                                    [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415



UTSRQPONMLKJIHGREDCBA9876543210 0910111213141516[?12l[?25h[?25l. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09

. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10

. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11

. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12

. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13

. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14

. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15



. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09

. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13

. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?12l[?25h[?25l[?12l[?25h[No Name] [+]                                                                    [No Name] [+]                                                                   [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l

[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    
test37.in                                                                        [No Name] [+]                                                                   [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset scrollopt-=hor
[?25l[?12l[?25h[?25l:[?12l[?25h" TEST syncbind
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST:so small.vim:set noscrollbind:set scrollopt=ver,jump:set scrolloff=2:set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 201010202[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25h[?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!

STARTTEST

:so small.vimset noscrollbindset scrollopt=ver,jump

:set scrolloff=2set nowrap[?12l[?25h





test37.in                                                                        [No Name] [+]                                                                   [?25l:[?12l[?25hset noscb
[?25l[?12l[?25h[?25lstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l:[?12l[?25hset scb
[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hset scb
[?25l[?12l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14

. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16

end of window 2end of test37.in (please don't delete this line)



end of window 2

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3:

:" TEST scrolling up

^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7:

test37.in                                                                        . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+]                                                                   [?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25l:[?12l[?25hsyncbind
[?25l[?12l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

:set scrollbind
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    [?25lzt:

:set scrollbind

^Wj:

:resize 7. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10

. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12

. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[?12l[?25htest37.in                                                                        [No Name] [+]                                                                   test37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [?25l

^Wj:
[?12l[?25htest37.in                                                                       [No Name] [+]                                                                    test37.in                                                                        [No Name] [+]                                                                   [No Name] [+]                                                                    [No Name] [+]                                                                   [?25l

. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l



:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" ***** done with tests *****
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out             " Write contents of this file
[?25l"test.out" [New File] 33 lines, 1329 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test37 = test61; then \
#	  if diff test.out test37.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test37.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test37.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test38.failed test.ok test.out X* viminfo
cp test38.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test38.in" 35 lines, 455 charactersTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 407 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTopq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[?12l[?25h[?25l:[?12l[?25hset t_kD=^^? t_kb=^^H
[?25l^[gg:set ai

:set bs=2

gR0^D 1

A

BCDEFGHIJKL

MNO

PQR^[G:ka

o0^D

abcdefghi

jk      lmn

    opq rst

^Duvwxyz

^['ajgR0^D 1

A

BCDEFGHIJKL

MNO

PQR^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[:$

iab     cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[:

iabcdefghijklmnopqrst^[0gRAB    IJKLMNO QR^[:wq! test.out

ENDTEST

[?12l[?25h[?25lTest Virtual replace mode.



STARTTEST

:so small.vim

:" make sure that backspace works, no matter what termcap is used

:set t_kD=^Vx7f t_kb=^Vx08

ggdGa

abcdefghi

jk      lmn

    opq rst

^Duvwxyz[?12l[?25h[?25l

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l

abcdefghijk      lmn    opq rstuvwxyz[?12l[?25h[?25l:[?12l[?25hset ai
[?25l[?12l[?25h[?25l:[?12l[?25hset bs=2
[?25l[?12l[?25h[?25l 1

 A BCDEFGHIJ    KL        MNOPQR[?12l[?25h[?25l:[?12l[?25hka
[?25l[?12l[?25h[?25labcdefghijk      lmn    opq rstuvwxyz[?12l[?25h

[?25l 1[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25lab      cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB      IJKLMNO QR[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 13 lines, 107 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test38 = test61; then \
#	  if diff test.out test38.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test38.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test39.failed test.ok test.out X* viminfo
cp test39.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test39.in" 118 lines, 2435 charactersTest Visual block mode commands

And test "U" in Visual mode, also on German sharp S.



#define BO_ALL      0x0001

#define BO_BS0x0002

#define BO_CRSR     0x0004



STARTTEST

:so small.vim

:so mbyte.vim

:" This only works when 'encoding' is "latin1", don't depend on the environment

:set enc=latin1

/^abcde

:" Test shift-right of a block

jllll^Vjj>wll^Vjlll>

:" Test shift-left of a block

G$hhhh^Vkk<

:" Test block-insert

Gkl^VkkkIxyz^[

:" Test block-replace

Gllll^Vkkklllrq

:" Test block-change[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 75 lines, 2061 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:exe ":norm! 2k\<C-V>$gj\<Esc>"

:let cpos=getpos("'>")

:$put ='col:'.cpos[2].' off:'.cpos[3]

:"

:" block_insert when replacing spaces in front of the block with tabs

:set ts=8 sts=4 sw=4

:4,7y

Gp

:exe ":norm! f0\<C-V>2jI\<tab>\<esc>"

:/^the/,$w >> test.out

:qa!

ENDTESTline1line2line3



aaaaaa

bbbbbb

cccccc

dddddd



xaaa[?12l[?25h[?25l/[?12l[?25h^abcde
[?25lbbbb

cccc

dddd



yaaa


bbb



A23

4567



B23

4567



C23

4567



abcdefghijklm[?12l[?25h[?25l

:[?12l[?25h" Test shift-right of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25habcd[?25l[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

e

abcdefghijklm
abcd[?12l[?25h[?25l

3 lines >ed 1 time        efghijklm

abcd        efghijklm

abcd        efghijklm[?12l[?25h     ef[?25l[?12l[?25h[?25lg[?12l[?25h[?25lhg[?12l[?25h[?25lih[?12l[?25h[?25lji[?12l[?25h[?25l        ghijklm        ghijklm[?12l[?25h[?25l:[?12l[?25h" Test shift-left of a block
[?25l[?12l[?25h[?25l

abcdefghijklm[?12l[?25h[?25l[?12l[?25h[?25li[?12l[?25h[?25l [?12l[?25h[?25l





3 lines <ed 1 timeef    efghijklmi[?12l[?25h[?25l:[?12l[?25h" Test block-insert
[?25l[?12l[?25h

a[?25l[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25l

ab

ab

abxyzbcdefghijklm

axyzbcd

axyzbcd

axyzbcd[?12l[?25h

a[?25l:[?12l[?25h" Test block-replace
[?25l[?12l[?25h





abcd[?25l[?12l[?25h[?25le[?12l[?25h[?25lb[?12l[?25h[?25lb[?12l[?25h[?25lbccf[?12l[?25h[?25lcddg[?12l[?25h[?25ld  h[?12l[?25h[?25lqqqq

axyzqqqq

axyzqqqq

abcdqqqq[?12l[?25h

axyz[?25l:[?12l[?25h" Test block-change
[?25l[?12l[?25h



[?25l[?12l[?25h[?25lj[?12l[?25h[?25li[?12l[?25h[?25l     ghijkl[?12l[?25h[?25lef  gkl[?12l[?25h[?25lmnomnomno[?12l[?25h[?25l:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [New File] 5 lines, 108 characters written[?12l[?25h[?25l:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[?12l[?25h[?25l/[?12l[?25h^aaaa/
[?25lsearch hit BOTTOM, continuing at TOPaaaaaa

bbbbbb

cccccc

ddddddsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right>  \<Esc>"
[?25l  aaa

bbb  bbb

ccc  ccc

ddd  ddd[?12l[?25h[?25l:[?12l[?25h/^aa/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 37 characters appended[?12l[?25h[?25l/[?12l[?25hxaaa$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l<p>xaaa

<p>bbbb

<p>cccc

<p>dddd[?12l[?25h[?25l:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 5 lines, 33 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[?12l[?25h[?25l/[?12l[?25h^A23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[?12l[?25h[?25l/[?12l[?25h^B23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25lab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 15 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[?12l[?25h[?25l/[?12l[?25h^C23$/
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25lab

456ab7[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 3 lines, 14 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all enc=utf-8
[?25laaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa

<bf><bf><bf>

bbb



A23ab

4567ab



B23 ab

4567ab



C23ab

456ab7[?12l[?25h[?25l





:[?12l[?25h/\t\tline
[?25lsearch hit BOTTOM, continuing at TOPline1line2line3search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25lxxx[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" 4 lines, 49 characters appended[?12l[?25h[?25l:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25lx   line1x   line2x   line3[?12l[?25h[?25l:[?12l[?25hset ve= enc=latin1
[?25lx     x   line1x     x   line2x     x   line3



aaa  aaa

bbb  bbb

ccc  ccc

ddd  ddd



<p>xaaa

<p>bbbb

<p>cccc

<p>dddd



yaaa


bbb



A23ab

4567ab



B23 ab

4567ab[?12l[?25h[?25l:[?12l[?25h.,/^$/w >> test.out
[?25l[?12l[?25h[?25lC23ab

456ab7



axyzbcdefghijklm

axyzqqqq   mnoghijklm

axyzqqqqef mnoghijklm

axyzqqqqefgmnoklm

abcdqqqqijklm[?12l[?25h[?25l


[?12l[?25hthe [?25lYOUTUSSEUU end
the [?12l[?25h

the [?25l

:[?12l[?25h" gUfx must uppercase until x, inclusive.
[?25l[?12l[?25h[?25l
- y[?25lOUSSTUSSEXu -
- y[?12l[?25h[?25l


:[?12l[?25h" VU must uppercase a whole line
[?25l[?12l[?25h[?25l

[?12l[?25h[?25lTHE YOUTUSSEUU END
[?12l[?25h

[?25l

:[?12l[?25h" same, when it's the last line in the buffer
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

11[?12l[?25h[?25l
11[?12l[?25h[?25l
111THE YOUTUSSEUU END
[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l111THE YOUTUSSEUU END


[?25l

:[?12l[?25h" Uppercase two lines
[?25l[?12l[?25h[?25l

blah didoh dut[?12l[?25h[?25l
doh dut [?12l[?25h[?25lblah di t[?12l[?25h[?25l
BLAH DIDOH DUT[?12l[?25h[?25l


:[?12l[?25h" Uppercase part of two lines
[?25l[?12l[?25h[?25l
~                                                                               [?12l[?25h[?25l


33[?12l[?25h

333the yo[?12l[?25h[?25lut[?12l[?25h[?25lUTUSSEUU END

333THE YOUTU[?12l[?25h[?25l



:[?12l[?25h" visual replace using Enter or NL
[?25l[?12l[?25h

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^M65

98^M65

98^M65[?12l[?25h

98

[?25l123456789

123456789

123456789[?12l[?25h
12345[?25l[?12l[?25h[?25l66[?12l[?25h[?25l789[?12l[?25h[?25l789

12345

789
[?12l[?25h[?25l98765

98765

98765[?12l[?25h
98[?25l[?12l[?25h[?25l7

987

98[?12l[?25h[?25l^@65

98^@65

98^@65[?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cpos=getpos("'>")
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l

col:4 off:0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[?12l[?25h[?25l:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[?12l[?25h[?25l:[?12l[?25h4,7y
[?25l4 lines yanked[?12l[?25h[?25l

4 more lines

4 more lines[?12l[?25h[?25l

#define BO_ALL      0x0001[?12l[?25h[?25l

:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l    0x0001

#define BO_BS0x0002

#define BO_CRSR0x0004[?12l[?25h[?25l





:[?12l[?25h/^the/,$w >> test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" 31 lines, 322 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test39 = test61; then \
#	  if diff test.out test39.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test39.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test39.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test40.failed test.ok test.out X* viminfo
cp test40.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test40.in" 63 lines, 1536 charactersTest for "*Cmd" autocommands



STARTTEST

:so small.vim

:/^start/,$w! Xxx" write lines below to Xxx

:au BufReadCmd XtestA 0r Xxx|$del

:e XtestA" will read text of Xxd instead

:au BufWriteCmd XtestA call append(line("$"), "write")

:w" will append a line to the file

:r XtestA" should not read anything

:" now we have:

:" 1     start of Xxx

:" 2test40

:" 3     end of Xxx

:" 4     write

:au FileReadCmd XtestB '[r Xxx

:2r XtestB" will read Xxx below line 2 instead

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test40

:" 5     end of Xxx

:" 6     end of Xxx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for "*Cmd" autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1455 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$w >>test.out" append "end of Xxx" to test.out

:au BufReadCmd XtestE 0r test.out|$del

:sp XtestE" split window with test.out

5Goasdf^[^W^W:"

:au BufWriteCmd XtestE w! test.out

:wall" will write other window to test.out

:" 1     start of Xxx

:" 2test40

:" 3     start of Xxx

:" 4test401

:" 5     end of Xxx

:" 6     asdf

:" 7     end of Xxx

:" 8     write

:" 9test401

:" 10    end of Xxx

:" 11    end of Xxx

:qa!

ENDTEST



start of Xxxtest40

end of Xxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$w! Xxx^I^I" write lines below to Xxx
[?25l"Xxx" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[?12l[?25h[?25l:[?12l[?25he XtestA^I^I^I" will read text of Xxd instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxx        test40end of Xxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[?12l[?25h[?25l:[?12l[?25hw^I^I^I^I" will append a line to the file
[?25lwrite[?12l[?25h[?25l:[?12l[?25hr XtestA^I^I^I" should not read anything
[?25lE484: Can't open file XtestA[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" now we have:
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h2r XtestB^I^I^I" will read Xxx below line 2 instead
[?25l"Xxx" 3 lines, 32 charactersstart of Xxxtest40

end of Xxx[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[?12l[?25h[?25ltest401[?12l[?25h[?25l:[?12l[?25h4,5w XtestC^I^I^I" will copy lines 4 and 5 to the end
[?25l        test401end of Xxx[?12l[?25h[?25l:[?12l[?25hr XtestC^I^I^I" should not read anything
[?25lE484: Can't open file XtestC[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw >>XtestD^I^I^I" will write all lines to test.out
[?25l"test.out" [New File] 9 lines, 91 characters written[?12l[?25h[?25l:[?12l[?25h$r XtestD^I^I^I" should not read anything
[?25lE484: Can't open file XtestD[?12l[?25h[?25l:[?12l[?25h$w >>test.out^I^I^I" append "end of Xxx" to test.out
[?25l"test.out" 1 line, 11 characters appended[?12l[?25h[?25l:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[?12l[?25h[?25l:[?12l[?25hsp XtestE^I^I^I" split window with test.out
[?25l"test.out" 10 lines, 102 charactersend of XxxXtestE                                                                          end of Xxxwrite        test401end of XxxXtestA                                                                          [?12l[?25h[?25lasdf[+][?12l[?25hXtestE [+]                                                                       XtestA                                                                          [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[?12l[?25h[?25l:[?12l[?25hwall^I^I^I^I" will write other window to test.out
[?25l"test.out" 11 lines, 107 characters written   [?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 1^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 2^I^Itest40
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 3^Istart of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 4^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 5^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 6^Iasdf
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 7^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 8^Iwrite
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 9^I^Itest401
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 10^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25h^I^I^I^I" 11^Iend of Xxx
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test40 = test61; then \
#	  if diff test.out test40.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test40.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test40.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test41.failed test.ok test.out X* viminfo
cp test41.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test41.in" 24 lines, 421 charactersTest for writing and reading a file of over 100 Kbyte



1 line: "This is the start"

3001 lines: "This is the leader"

1 line: "This is the middle"

3001 lines: "This is the trailer"

1 line: "This is the end"



STARTTEST

:%d

aThis is the start

This is the leader

This is the middle

This is the trailer

This is the end^[kY3000p2GY3000p

:w! Xtest

:%d

:e! Xtest

:.w! test.out

3003G:.w >>test.out

6005G:.w >>test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file of over 100 Kbyte[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 13 lines, 196 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lThis is the start

This is the leaderThis is the middleThis is the trailerThis is the end[?12l[?25h[?25l3000 more linestrailer

This is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailerThis is the trailer[?12l[?25h[?25lleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleaderleader[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 6005 lines, 117092 characters written[?12l[?25h[?25l:[?12l[?25h%d
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" 6005 lines, 117092 charactersThis is the start

This is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leaderThis is the leader[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 18 characters written[?12l[?25h[?25lThis is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the leader

This is the middle

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 19 characters appended[?12l[?25h[?25lThis is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the trailer

This is the end
[?12l[?25h[?25l

:[?12l[?25h.w >>test.out
[?25l"test.out" 1 line, 16 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test41 = test61; then \
#	  if diff test.out test41.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test41.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test41.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test42.failed test.ok test.out X* viminfo
cp test42.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test42.in" 130 lines, 2368 charactersTest for writing and reading a file starting with a BOM



STARTTEST

:so mbyte.vim

:set encoding=utf-8

:set fileencodings=ucs-bom,latin-1

:set ff=unix ffs=unix" This changes the file for DOS and MAC

:" --- Write the test files

:/^latin-1$/+1w! Xtest0

:/^utf-8$/+1w! Xtest1

:/^utf-8-err$/+1w! Xtest2

:/^ucs-2$/+1w! Xtest3

:/^ucs-2le$/+1w! Xtest4

:" Need to add a NUL byte after the NL byte

:set bin

:e! Xtest4" Ignore change from setting 'ff'

o^V^@^[:set noeol

:w

:set ffs& nobinary" Allow default test42.in format

:e #

:set ff=unix" Format for files to write

:/^ucs-4$/+1w! Xtest5

:/^ucs-4le$/+1w! Xtest6[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for writing and reading a file starting with a BOM[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2116 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1


utf-8

utf-8

utf-8-err

utf-8~@err

ucs-2


ucs-2le


[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:e! test.out

:$r Xtest0x

:$r Xtest1x

:$r Xtest2x

:$r Xtest3x

:$r Xtest4x

:$r Xtest5x

:$r Xtest6x

:set nobin ff&" Write the file in default format

:w! test.out

:qa!

ENDTEST



latin-1

<fe><fe>latin-1

utf-8

<feff>utf-8

utf-8-err

<feff>utf-8<80>err

ucs-2

<fe><ff>^@u^@c^@s^@-^@2^@

ucs-2le

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix ffs=unix           " This changes the file for DOS and MAC
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Write the test files
[?25l[?12l[?25h[?25l:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4                      " Ignore change from setting 'ff'
[?25l"Xtest4" 1 line, 17 characters<ff><fe>u^@c^@s^@-^@2^@l^@e^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

[?25l^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hset ffs& nobinary              " Allow default test42.in format
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25hset ff=unix                    " Format for files to write
[?25l[?12l[?25h[?25l:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [converted][New File] 1 line, 30 characters written[?12l[?25h[?25l:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [converted][New File] 1 line, 35 characters written[?12l[?25h[?25l:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6                      " ! for when setting 'ff' is a change
[?25l"Xtest6" 1 line, 33 characters<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h

~   [?25l
^@^@^@[?12l[?25h[?25l:[?12l[?25hset noeol
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters:$r Xtest0x:$r Xtest1x

:$r Xtest2x:$r Xtest3x:$r Xtest4x:$r Xtest5x:$r Xtest6x:set nobin ff&               " Write the file in default format:w! test.out:qa!ENDTESTlatin-1þþlatin-1utf-8utf-8utf-8-errutf-8<80>errucs-2þÿ^@u^@c^@s^@-^@2^@ucs-2leÿþu^@c^@s^@-^@2^@l^@e^@ucs-4[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest0
[?25l"Xtest0" [converted] 1 line, 12 charactersþþlatin-1~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lþþlatin-1

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 12 characters appended[?12l[?25h[?25l:[?12l[?25hset bomb fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest1
[?25l"Xtest1" 1 line, 9 charactersutf-8[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-8


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest2
[?25l"Xtest2" [converted] 1 line, 17 charactersutf-8<80>err
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=latin1


nobomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lutf-8<80>err

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 17 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=utf-8
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [New File] 1 line, 17 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest3
[?25l"Xtest3" [converted] 1 line, 8 charactersucs-2[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [converted][New File] 1 line, 8 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest4
[?25l"Xtest4" [converted] 1 line, 10 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=utf-16le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-2le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-2le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest5
[?25l"Xtest5" [converted] 1 line, 10 characters4[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 6 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [converted][New File] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest6
[?25l"Xtest6" [converted] 1 line, 12 charactersle
[?12l[?25h[?25l:[?12l[?25hredir >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hset fileencoding bomb?
[?25l  fileencoding=ucs-4le


  bomb


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25lucs-4le

~                                                                               [?12l[?25h[?25l:[?12l[?25hset fenc=latin-1
[?25l[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" [converted] 1 line, 8 characters appended[?12l[?25h[?25l:[?12l[?25hset fenc=ucs-4le
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [converted][New File] 1 line, 12 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" --- Check the files written with BOM
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 35 lines, 275 characters  fileencoding=latin1nobomb<fe><fe>latin-1  fileencoding=utf-8  bombutf-8  fileencoding=latin1nobomb<feff>utf-8<80>err  fileencoding=utf-16  bombucs-2  fileencoding=utf-16le[?12l[?25h[?25l:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" 1 line, 10 charactersbomb

ucs-2lefileencoding=ucs-4

  bomb

ucs-4fileencoding=ucs-4le

  bomb

ucs-4le

<fe><fe>latin-1[?12l[?25h[?25l

:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" 1 line, 9 characters

<feff>utf-8[?12l[?25h[?25l

:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" 1 line, 17 characters

utf-8<80>err[?12l[?25h[?25l

:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" 1 line, 14 characters

<fe><ff>^@u^@c^@s^@-^@2^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [Incomplete last line] 2 lines, 18 characters

<ff><fe>u^@c^@s^@-^@2^@l^@e^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" 1 line, 28 characters^@

^@^@<fe><ff>^@^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@[?12l[?25h[?25l

:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [Incomplete last line] 2 lines, 36 characters

<ff><fe>^@^@u^@^@^@c^@^@^@s^@^@^@-^@^@^@4^@^@^@l^@^@^@e^@^@^@[?12l[?25h[?25l

:[?12l[?25hset nobin ff&               " Write the file in default format
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 44 lines, 409 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test42 = test61; then \
#	  if diff test.out test42.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test42.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test42.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test43.failed test.ok test.out X* viminfo
cp test43.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test43.in" 34 lines, 473 charactersTests for regexp with various magic settings.



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:$

:set undolevels=100

dv?bar?

Yup:"

:?^1?,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 19 lines, 268 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l

1 a aa abb abbccc[?12l[?25h[?25l

/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l

2 d dd dee deefff[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l

3 g gg ghh ghhiii[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\mj*k\{2}l\+/e
[?25l

4 j jj jkk jkklll[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\vm*n{2}o+/e
[?25l

5 m mm mnn mnnooo[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V^aa$
[?25l

6 x ^aa$ x[?12l[?25h[?25laa$ x[?12l[?25h[?25l

:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l

7 (a)(b) abbaa[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l

8 axx [ab]xx[?12l[?25h[?25lab]x[?12l[?25h[?25l

:[?12l[?25h$
[?25l9 foobar[?12l[?25h[?25l

:[?12l[?25hset undolevels=100
[?25l[?12l[?25h[?25l?[?12l[?25hbar?
[?25l~                                                                               [?12l[?25h[?25l



1 more line; before #2  0 seconds agobar[?12l[?25h[?25l

9 foo
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 11L, 137C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test43 = test61; then \
#	  if diff test.out test43.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test43.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test43.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test44.failed test.ok test.out X* viminfo
cp test44.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test44.in" 81 lines, 1492 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test99 for exactly the same test with re=2.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=1

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1023 characters written[?12l[?25h[?25l:set ff& cpo+=A



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo



:new

:$put =['dog(a', 'cat(']

/(/e+

"ayn:bd!

:$put =''

G"ap

:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l:[?12l[?25h" c
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


:[?12l[?25h" d
[?25l[?12l[?25h[?25l/[?12l[?25h[\u4f7f\u5929]\+
[?25l


:[?12l[?25h" e
[?25l[?12l[?25h[?25l/[?12l[?25h\%U12345678
[?25l


:[?12l[?25h" f
[?25l[?12l[?25h[?25l/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


:[?12l[?25h" g
[?25l[?12l[?25h[?25l/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       e y f z

g abb



test.out [+]                                                                    [?12l[?25h[?25l:[?12l[?25h$put =['dog(a', 'cat(']
[?25ldog(acat([+][?12l[?25h[?25l/[?12l[?25h(/e+
[?25l/(/e+1
[?12l[?25h[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hbd!
[?25l1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii


e y



[?25l

[?12l[?25h[?25la[?12l[?25h[?25l

cat(
[?12l[?25h[?25l

:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test44 = test61; then \
#	  if diff test.out test44.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test44.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test45.failed test.ok test.out X* viminfo
cp test45.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test45.in" 90 lines, 1953 charactersTests for folding. vim: set ft=vim :



STARTTEST

:so small.vim

:" We also need the +syntax feature here.

:if !has("syntax")

   e! test.ok

   w! test.out

   qa!

:endif

:" basic test if a fold can be created, opened, moving to the end and closed

/^1

zf2j:call append("$", "manual " . getline(foldclosed(".")))

zo:call append("$", foldclosed("."))

]z:call append("$", getline("."))

zc:call append("$", getline(foldclosed(".")))

:" test folding with markers.

:set fdm=marker fdl=1 fdc=3

/^5

:call append("$", "marker " . foldlevel("."))

[z:call append("$", foldlevel("."))

jo{{ ^[r{jj:call append("$", foldlevel("."))

kYpj:call append("$", foldlevel("."))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for folding. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 73 lines, 1820 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:new

iTest fdm=indent and :move bug END

line2Test fdm=indent STARTline3line4^[

:set fdm=indent

:1m1

2jzc:m0

:%w >> test.out

:qa!

ENDTEST



1 aa

2 bb

3 cc

4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We also need the +syntax feature here.
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("syntax")
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   w! test.out


[?25l:  [?12l[?25h   qa!


[?25l:  [?12l[?25h:endif
[?25l:new

iTest fdm=indent and :move bug END

line2Test fdm=indent START[?12l[?25h[?25l:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[?12l[?25h[?25l1 aa2 bb3 cc4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg

8 hh

9 ii

a jj[?12l[?25h[?25l:[?12l[?25hcall append("$", foldclosed("."))
[?25l[?12l[?25h



[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l+--  3 lines: 1 aa--------------------------------------------------------------4 dd {{{

5 ee {{{ }}}

6 ff }}}

7 gg8 hh9 ii

a jj

b kk

last[?12l[?25h[?25l:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with markers.
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l   :new

   iTest fdm=indent and :move bug END

   line2

           Test fdm=indent START

           line3

           line4^[

   :set fdm=indent

   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa   2 bb   3 cc-  4 dd {{{

|- 5 ee {{{ }}}

|  6 ff }}}

   7 gg

   8 hh

   9 ii

   a jj[?12l[?25h[?25l/[?12l[?25h^5
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l{{ |  6 ff }}}[?12l[?25h[?25l-{|

|

|

|[?12l[?25h[?25l





:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l6 ff }}}

 7 gg

 8 hh[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test folding with indent
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=indent sw=2
[?25l-++---  3 lines: Test fdm=indent START-----------------------------------------:set fdm=indent:1m12jzc:m0%w >> test.out:qa!ENDTEST1 aa2 bb3 cc4 dd {{{5 ee {{{ }}}

 {{{  6 ff }}}  6 ff }}}

  7 gg 8 hh9 iia jj[?12l[?25h[?25l/[?12l[?25h^2 b
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l
-  2 bb[?12l[?25h[?25l
|-    3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test syntax folding
[?25l[?12l[?25h[?25l:[?12l[?25hset fdm=syntax fdl=0
[?25l          Test fdm=indent START        line3        line4^[:set fdm=indent1m12jzc:m0:%w >> test.out:qa!ENDTEST

   1 aa  2 bb    3 cc4 dd {{{5 ee {{{ }}}{{{6 ff }}}6 ff }}}7 gg8 hh[?12l[?25h[?25l:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l++--  8 lines: 4 dd ----------------------------------------------------------a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[?12l[?25h[?25l   1 aa

   marker 2

   1

   1

   0

   indent 2

   1[?12l[?25h[?25l:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l
--4 dd {{{commentstart  ||5 ee {{{ }}}

||{{{||6 ff }}}

||6 ff }}}||7 gg

||8 hh

||9 ii

||a jj||b kk

||last

||manual 1 aa

||-1||3 cc[?12l[?25h[?25l commentend- 

|-



| 

  

  

  

  

  

  [?12l[?25h[?25l:[?12l[?25hset fdl=1
[?25l++---  3 lines: 5 ee --------------------------------------------------------- 6 ff }}}++---  2 lines: 7 gg----------------------------------------------------------9 ii  a jj

  b kk

 lastmanual 1 aa-13 cc1 aamarker 21[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25hset fdl=0
[?25l++--  8 lines: 4 dd commentstart  commentend----------------------------------  a jj b kk  last manual 1 aa-13 cc1 aarker 2110indent[?12l[?25h[?25l
-4 dd {{{commentstart  commentend|-5 ee {{{ }}}

||{{{||6 ff }}}

|6 ff }}}|-7 gg

||8 hh

|9 iia jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{

|| 6 ff }}}

|  6 ff }}}

|- 7 gg

|| 8 hh

|  9 ii

   a jj

   b kk

   last

   manual 1 aa

   -1

   3 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", getline("."))
[?25l[?12l[?25h[?25l:[?12l[?25h" test expression folding
[?25l[?12l[?25h[?25l:[?12l[?25hfun Flvl()
[?25l

:  [?12l[?25h  let l = getline(v:lnum)


[?25l:  [?12l[?25h  if l =~ "bb$"


[?25l:    [?12l[?25h    return 2


[?25l:    [?12l[?25h  elseif l =~ "gg$"


[?25l:    [?12l[?25h    return "s1"


[?25l:    [?12l[?25h  elseif l =~ "ii$"


[?25l:    [?12l[?25h    return ">2"


[?25l:    [?12l[?25h  elseif l =~ "kk$"


[?25l:    [?12l[?25h    return "0"


[?25l:    [?12l[?25h  endif


[?25l:  [?12l[?25h  return "="


[?25l:  [?12l[?25hendfun
[?25l   :1m1

   2jzc:m0

   :%w >> test.out

   :qa!

   ENDTEST

   

   1 aa

     2 bb

       3 cc

-  4 dd {{{commentstart  commentend

|- 5 ee {{{ }}}

|| {{{[?12l[?25h[?25l:[?12l[?25hset fdm=expr fde=Flvl()
[?25l++-- 11 lines: 2 bb-----------------------------------------------------------b kk last  manual 1 aa  -1  3 cc 1 aa  marker 2

  1 10indent 21++--  4 lines: folding 9 ii---------------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l/[?12l[?25hbb$
[?25lsearch hit BOTTOM, continuing at TOP--  2 bb||    3 cc

||4 dd {{{commentstart  commentend

||5 ee {{{ }}}

||{{{

||6 ff }}}

||6 ff }}}

||7 gg|8 hh

|++---  2 lines: 9 ii----------------------------------------------------------b kklastmanual 1 aa

 -13 cc1 aa[?12l[?25h[?25l:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hhh$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hii$
[?25l-9 ii||a jjb kklastmanual 1 aa-13 cc[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l/[?12l[?25hkk$
[?25l[?12l[?25h[?25l:[?12l[?25hcall append("$", foldlevel("."))
[?25l[?12l[?25h[?25l:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [New File] 18 lines, 96 characters written[?12l[?25h[?25l:[?12l[?25hdelfun Flvl
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l   

   

   

   ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            ~                                                                            [No Name]                                                                       5 ee {{{ }}}{{{6 ff }}}|6 ff }}}|7 gg 8 hh

|-9 ii

||a jjb kklast

test45.in [+]                                                                   [?12l[?25h[?25lTest fdm=indent and :move bug ENDline2        Test fdm=indent START        line3        line4[+][?12l[?25h[?25l:[?12l[?25hset fdm=indent
[?25l++--  3 lines: Test fdm=indent START------------------------------------------~                                                                            ~                                                                            [?12l[?25h[?25l:[?12l[?25h1m1
[?25l[?12l[?25h[?25l:[?12l[?25hm0
[?25l3 lines moved++--  3 lines: Test fdm=indent START------------------------------------------Test fdm=indent and :move bug END

 line2[?12l[?25h[?25l:[?12l[?25h%w >> test.out
[?25l"test.out" 5 lines, 77 characters appendedtest.out [+]]  [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test45 = test61; then \
#	  if diff test.out test45.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test45.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test45.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test48.failed test.ok test.out X* viminfo
cp test48.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test48.in" 83 lines, 1658 charactersThis is a test of 'virtualedit'.



STARTTEST

:so small.vim

:set noswf

:set ve=all

-dgg

:"

:"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".

:"    Repeating CTRL-N fixes it. (Mary Ellen Foster)

2/w

C^N^[

:"

:"   Using "C" then then <CR> moves the last remaining character to the next

:"    line.  (Mary Ellen Foster)

j^/are

C^Mare belong to vim^[

:"

:"   When past the end of a line that ends in a single character "b" skips

:"    that word.

^$15lbC7^[

:"

:"   Make sure 'i' works[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of 'virtualedit'.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 61 lines, 1442 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set display=

:"

:"   Test for ^Y/^E due to bad w_virtcol value, reported by

:"   Roy <royl@netropolis.net>.

^O^[3li^E^[4li^E^[4li^E   <-- should show the name of a noted text editor^[

^o^[4li^Y^[4li^Y^[4li^Y   <-- and its version number^[-dd

:"

:" Test for yanking and pasting using the small delete register

gg/^foo

dewve"-p

:wq! test.out

ENDTEST

foo, bar

keyword keyw

all your base are belong to us

1 2 3 4 5 6

'i'

'C'

'a'

'A'

'D'

this is a test

this is a test[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswf
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l65 fewer linesthis is a test

"r"

"r"

a^Vb^Msd

abcv6efi.him0kl





~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               65 fewer lines[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[?12l[?25h[?25l:[?12l[?25h"    Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[?12l[?25h[?25l/[?12l[?25hw
[?25l[?12l[?25h[?25l$Scanning tags.
The only matchword[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Using "C" then then <CR> moves the last remaining character to the next
[?25l[?12l[?25h[?25l:[?12l[?25h"    line.  (Mary Ellen Foster)
[?25l[?12l[?25h
[?25l/[?12l[?25hare
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l$are belong to vim

1 2 3 4 5 6

'i

'C

'a

'A

'D'this is a test



"r"     

a^Vb^Msdabcv6efi.him0kl[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   When past the end of a line that ends in a single character "b" skips
[?25l[?12l[?25h[?25l:[?12l[?25h"    that word.
[?25l[?12l[?25h
[?25l$7[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'i' works
[?25l[?12l[?25h
'i'   [?25l<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'C' works
[?25l[?12l[?25h
'C'   [?25l$<-- should be 3 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'a' works
[?25l[?12l[?25h
'a'   [?25l <-- should be 4 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'A' works
[?25l[?12l[?25h
'A'   [?25l<-- should be 0 ' '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Make sure 'D' works
[?25l[?12l[?25h
'D'   [?25l<-- 'D' should be intact[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for yank bug reported by Mark Waggoner.
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=block
[?25l[?12l[?25h
[?25l[?12l[?25h[?25laaa[?12l[?25h[?25laaablock of 4 lines yanked[?12l[?25h[?25l3 more linesa

aa [?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" beyond the end of the line
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l/[?12l[?25h^"r"
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h"r"    [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test "r" on a tab
[?25l[?12l[?25h[?25l:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[?12l[?25h
"r"  [?25lx[?12l[?25h[?25lx  <-- should be '  x  '[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test to make sure 'x' can delete control characters
[?25l[?12l[?25h[?25l:[?12l[?25hset display=uhex
[?25l<16>b<0d>sd[?12l[?25h
[?25l<16>b<0d>sd[?12l[?25h[?25lb<0d>sd[?12l[?25h[?25l<0d>sd[?12l[?25h[?25lsd[?12l[?25h[?25ld[?12l[?25h[?25l[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[?25l:[?12l[?25hset display=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"   Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[?12l[?25h[?25l:[?12l[?25h"   Roy <royl@netropolis.net>.
[?25l[?12l[?25h
[?25l[?12l[?25h   [?25lv[?12l[?25hv   [?25li[?12l[?25hi   [?25lm   <-- should show the name of a noted text editor[?12l[?25h
[?25l[?12l[?25h    [?25l6[?12l[?25h6   [?25l.[?12l[?25h.   [?25l0   <-- and its version number[?12l[?25h[?25l

[?12l[?25h

    [?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[?12l[?25h[?25l/[?12l[?25h^foo
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l, bar[?12l[?25h, [?25l[?12l[?25h[?25lba[?12l[?25h[?25l[?12l[?25h[?25lfoo[?12l[?25h

keyw[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 23 lines, 479 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test48 = test61; then \
#	  if diff test.out test48.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test48.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test48.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test51.failed test.ok test.out X* viminfo
cp test51.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test51.in" 36 lines, 809 charactersTests for ":highlight". vim: set ft=vim :



STARTTEST

:so small.vim

:" basic test if ":highlight" doesn't crash

:highlight

:hi Search

:" test setting colors.

:" test clearing one color and all doesn't generate error or warning

:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#000ff00 guibg=Cyan

:hi Group2 term= cterm=

:hi Group3 term=underline cterm=bold

:redir! >test.out

:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for ":highlight". vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 31 lines, 747 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[?12l[?25h[?25l:[?12l[?25hhighlight
[?25l

SpecialKey     xxx term=bold ctermfg=4 guifg=Blue


EndOfBuffer    xxx links to NonText


NonTextxxx term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue


Directory      xxx term=bold ctermfg=4 guifg=Blue


ErrorMsgxxx term=standout cterm=bold ctermfg=7 ctermbg=1 guifg=White


guibg=Red


IncSearch      xxx term=reverse cterm=reverse gui=reverse


Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


MoreMsgxxx term=bold ctermfg=2 gui=bold guifg=SeaGreen


ModeMsgxxx term=bold cterm=bold gui=bold


LineNrxxx term=underline ctermfg=3 guifg=Brown


CursorLineNr   xxx term=bold ctermfg=3 gui=bold guifg=Brown


Questionxxx term=standout ctermfg=2 gui=bold guifg=SeaGreen


StatusLine     xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse


StatusLineNC   xxx term=reverse cterm=reverse gui=reverse


VertSplit      xxx term=reverse cterm=reverse gui=reverse


Titlexxx term=bold ctermfg=5 gui=bold guifg=Magenta


Visualxxx term=reverse cterm=reverse guibg=LightGrey


VisualNOS      xxx cleared


WarningMsg     xxx term=standout ctermfg=1 guifg=Red


WildMenuxxx term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow


Foldedxxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue


guibg=LightGrey


FoldColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


DiffAddxxx term=bold ctermbg=4 guibg=LightBlue


DiffChange     xxx term=bold ctermbg=5 guibg=LightMagenta


DiffDelete     xxx term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=Blue


guibg=LightCyan


DiffTextxxx term=reverse cterm=bold ctermbg=1 gui=bold guibg=Red


SignColumn     xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey


Concealxxx ctermfg=7 ctermbg=0 guifg=LightGrey guibg=DarkGrey


SpellBadxxx term=reverse ctermbg=1 gui=undercurl guisp=Red


SpellCapxxx term=reverse ctermbg=4 gui=undercurl guisp=Blue


SpellRare      xxx term=reverse ctermbg=5 gui=undercurl guisp=Magenta


SpellLocal     xxx term=underline ctermbg=6 gui=undercurl guisp=DarkCyan


Pmenuxxx ctermfg=0 ctermbg=5 guibg=LightMagenta


PmenuSelxxx ctermfg=0 ctermbg=7 guibg=Grey


PmenuSbar      xxx ctermbg=7 guibg=Grey


PmenuThumb     xxx ctermbg=0 guibg=Black


TabLinexxx term=underline cterm=underline ctermfg=0 ctermbg=7


gui=underline guibg=LightGrey


TabLineSel     xxx term=bold cterm=bold gui=bold


TabLineFill    xxx term=reverse cterm=reverse gui=reverse


CursorColumn   xxx term=reverse ctermbg=7 guibg=Grey90


CursorLine     xxx term=underline cterm=underline guibg=Grey90


ColorColumn    xxx term=reverse ctermbg=1 guibg=LightRed


MatchParen     xxx term=reverse ctermbg=6 guibg=Cyan


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Search
[?25l

Searchxxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" test setting colors.
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" test clearing one color and all doesn't generate error or warning
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0


0ff00 guibg=Cyan
[?25lE418: Illegal value: guifg=#00ff00Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 term= cterm=
[?25lE418: Illegal value: cterm=


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hredir! >test.out
[?25l[?12l[?25h[?25l:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx term=bold cterm=italic ctermfg=4 ctermbg=7


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group3
[?25l

Group3xxx term=underline cterm=bold


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear NewGroup
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2[?12l[?25h[?25l

:[?12l[?25hhi NewGroup
[?25l

NewGroupxxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Group2 NONE
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup[?12l[?25h[?25l

:[?12l[?25hhi Group2
[?25l

Group2xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi clear
[?25l:hi NewGroup

:hi Group2

:hi Group3

:hi clear NewGroup

:hi NewGroup

:hi Group2

:hi Group2 NONE

:hi Group2

:hi clear

:hi Group3

:hi Crash term='asdf

:redir END

:" filter ctermfg and ctermbg, the numbers depend on the terminal

:e! test.out

:%s/ctermfg=\d*/ctermfg=2/

:%s/ctermbg=\d*/ctermbg=3/

:" filter out possibly translated error message

:%s/E475: [^:]*:/E475:/

:" fix the fileformat

:set ff&

:wq!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hhi Group3
[?25l

Group3xxx cleared


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hhi Crash term='asdf
[?25lE475: Invalid argument: term='asdf


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l:hi NewGroup

:hi Group2

:hi Group3[?12l[?25h[?25l

:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 20 lines, 289 charactersNewGroup       xxx term=bold cterm=italic ctermfg=4 ctermbg=7Group2         xxx clearedGroup3         xxx term=underline cterm=boldNewGroup       xxx clearedGroup2         xxx clearedGroup2         xxx clearedGroup3         xxx clearedE475: Invalid argument: term='asdf

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l2
[?12l[?25h[?25l:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l3
[?12l[?25h[?25l:[?12l[?25h" filter out possibly translated error message
[?25l[?12l[?25h[?25l:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25lterm='asdf[?12l[?25h[?25l:[?12l[?25h" fix the fileformat
[?25l[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hwq!
[?25l"test.out" 20 lines, 271 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test51 = test61; then \
#	  if diff test.out test51.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test51.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test53.failed test.ok test.out X* viminfo
cp test53.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test53.in" 75 lines, 1763 charactersTests for string and html text objects. vim: set ft=vim :



Note that the end-of-line moves the cursor to the next test line.



Also test match() and matchstr()



STARTTEST

:so small.vim

/^start:/

da"

0va'a'rx

02f`da`

0fXdi"

03f'vi'ry

:set quoteescape=+*-

di`

$F"va"oha"i"rz

:"

/^<begin

jfXdit

0fXdit

fXdat

0fXdat[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for string and html text objects. vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1237 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =match('abc', '$', 4, 1) " -1

:put =match('abc', '\zs', 0, 1) " 0

:put =match('abc', '\zs', 0, 2) " 1

:put =match('abc', '\zs', 0, 3) " 2

:put =match('abc', '\zs', 0, 4) " 3

:put =match('abc', '\zs', 0, 5) " -1

:put =match('abc', '\zs', 1, 1) " 1

:put =match('abc', '\zs', 2, 1) " 2

:put =match('abc', '\zs', 3, 1) " 3

:put =match('abc', '\zs', 4, 1) " -1

:/^start:/,/^end:/wq! test.out

ENDTEST



start: "wo\"rd\\" foo

'foo' 'bar' 'piep'

bla bla `quote` blah

out " in "noXno"

"'" 'blah' rep 'buh'

bla `s*`d-`+++`l**` b`la

voo "nah" sdf " asdf" sdf " sdf" sd



<begin>

-<b>asdf<i>Xasdf</i>asdf</b>-[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l[?12l[?25h[?25lfo[?12l[?25h
[?25l[?12l[?25h[?25l'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l
xxxxxxxxxxxx
[?12l[?25h

[?25lblah[?12l[?25h
[?25l"[?12l[?25h
[?25l[?12l[?25h[?25l' rep[?12l[?25h[?25lyyyyy[?12l[?25h[?25l:[?12l[?25hset quoteescape=+*-
[?25l[?12l[?25h[?25l` b`la[?12l[?25h[?25l[?12l[?25h[?25l" sdf"[?12l[?25h[?25l" [?12l[?25h[?25l"[?12l[?25h[?25l asdf" sdf [?12l[?25h[?25lah" sdf "
voo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h

[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l/[?12l[?25h^<begin
[?25l[?12l[?25h

[?25l</i>asdf</b>-[?12l[?25h[?25l

-<b>asdX<i>a<i />sdf</i>asdf</b>-[?12l[?25h
[?25l</b>-[?12l[?25h[?25l

-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[?25lasdf</b>-[?12l[?25h[?25l

-<b>asdX<i>as<b />df</i>asdf</b>-[?12l[?25h
[?25l
--[?12l[?25h[?25l

-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l

</begin>[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l

b[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l

bc[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l

c[?12l[?25h[?25l

:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l

a[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l

0[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l

1[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l

2[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l

3[?12l[?25h[?25l

:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l

-1[?12l[?25h[?25l

:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 45 lines, 284 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test53 = test61; then \
#	  if diff test.out test53.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test53.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test53.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test55.failed test.ok test.out X* viminfo
cp test55.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test55.in" 586 lines, 12256 charactersTests for List and Dictionary types.     vim: set ft=vim :



STARTTEST

:so small.vim

:fun Test(...)

:lang C

:" Creating List directly with different types

:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]

:$put =string(l)

:$put =string(l[-1])

:$put =string(l[-4])

:try

:  $put =string(l[-5])

:catch

:  $put =v:exception[:14]

:endtry

:" List slices

:$put =string(l[:])

:$put =string(l[1:])

:$put =string(l[:-2])

:$put =string(l[0:8])

:$put =string(l[8:-1])

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for List and Dictionary types.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 580 lines, 12170 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test(...)
[?25l

:  [?12l[?25h:lang C


[?25l:  [?12l[?25h:" Creating List directly with different types


[?25l:  [?12l[?25h:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:$put =string(l[-4])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-5])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List slices


[?25l:  [?12l[?25h:$put =string(l[:])


[?25l:  [?12l[?25h:$put =string(l[1:])


[?25l:  [?12l[?25h:$put =string(l[:-2])


[?25l:  [?12l[?25h:$put =string(l[0:8])


[?25l:  [?12l[?25h:$put =string(l[8:-1])


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" List identity


[?25l:  [?12l[?25h:let ll = l


[?25l:  [?12l[?25h:let lx = copy(l)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(l == ll) . (l isnot ll) . (l is ll) . (l == lx) . (l is lx) . (l


isnot lx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Creating Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}


[?25l:  [?12l[?25h:$put =string(d) . d.1


[?25l:  [?12l[?25h:$put =string(sort(keys(d)))


[?25l:  [?12l[?25h:$put =string (values(d))


[?25l:  [?12l[?25h:for [key, val] in items(d)


[?25l:    [?12l[?25h:  $put =key . ':' . string(val)


[?25l:    [?12l[?25h:  unlet key val


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:call extend  (d, {3:33, 1:99})


[?25l:  [?12l[?25h:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  call extend(d, {3:333,4:444}, "error")


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:call filter(d, 'v:key =~ ''[ac391]''')


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary identity


[?25l:  [?12l[?25h:let dd = d


[?25l:  [?12l[?25h:let dx = copy(d)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =(d == dd) . (d isnot dd) . (d is dd) . (d == dx) . (d is dx) . (d


isnot dx)


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items with :unlet


[?25l:  [?12l[?25h:unlet l[2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:let l = range(8)


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:unlet l[:3]


[?25l:    [?12l[?25h:unlet l[1:]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:$put =v:exception


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:unlet d.c


[?25l:  [?12l[?25h:unlet d[-1]


[?25l:  [?12l[?25h:$put =string(d)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:1]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:3]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:4]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[2:5]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-1:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-2:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-3:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-4:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-5:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25hlet l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:unlet l[-6:2]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" assignment to a list


[?25l:  [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:  [?12l[?25h:let [va, vb] = l[2:3]


[?25l:  [?12l[?25h:$put =va


[?25l:  [?12l[?25h:$put =vb


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let [va, vb] = l[1:1]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:14]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: let d[i] = 3000 - i


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[1400] . ' ' . d[1499]


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  let n = d[1500]


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =substitute(v:exception, '\v(.{14}).*( \d{4}).*', '\1\2', '')


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" lookup each items


[?25l:  [?12l[?25h:for i in range(1500)


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h: let i += 1


[?25l:  [?12l[?25h:" delete even items


[?25l:  [?12l[?25h:while i >= 2


[?25l:    [?12l[?25h: let i -= 2


[?25l:    [?12l[?25h: unlet d[i]


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =get(d, 1500 - 100, 'NONE') . ' ' . d[1]


[?25l:  [?12l[?25h:" delete odd items, checking value, one intentionally wrong


[?25l:  [?12l[?25h:let d[33] = 999


[?25l:  [?12l[?25h:let i = 1


[?25l:  [?12l[?25h:while i < 1500


[?25l:    [?12l[?25h: if d[i] != 3000 - i


[?25l:      [?12l[?25h:  $put =i . '=' . d[i]


[?25l:      [?12l[?25h: else


[?25l:      [?12l[?25h:  unlet d[i]


[?25l:      [?12l[?25h: endif


[?25l:    [?12l[?25h: let i += 2


[?25l:    [?12l[?25h:endwhile


[?25l:  [?12l[?25h:$put =string(d)  " must be almost empty now


[?25l:  [?12l[?25h:unlet d


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Dictionary function


[?25l:  [?12l[?25h:let dict = {}


[?25l:  [?12l[?25h:func dict.func(a) dict


[?25l:    [?12l[?25h:  $put =a:a . len(self.data)


[?25l:    [?12l[?25h:endfunc


[?25l:    [?12l[?25h:let dict.data = [1,2,3]


[?25l:    [?12l[?25h:call dict.func("len: ")


[?25l:    [?12l[?25h:let x = dict.func("again: ")


[?25l:    [?12l[?25h:let Fn = dict.func


[?25l:    [?12l[?25h:call Fn('xxx')


[?25l:    [?12l[?25h:" 


[?25l:    [?12l[?25h:" Function in script-local List or Dict


[?25l:    [?12l[?25h:let g:dict = {}


[?25l:    [?12l[?25h:function g:dict.func() dict


[?25l:      [?12l[?25h:  $put ='g:dict.func'.self.foo[1].self.foo[0]('asdf')


[?25l:      [?12l[?25h:endfunc


[?25l:      [?12l[?25h:let g:dict.foo = ['-', 2, 3]


[?25l:      [?12l[?25h:call insert(g:dict.foo, function('strlen'))


[?25l:      [?12l[?25h:call g:dict.func()


[?25l:      [?12l[?25h:" 


[?25l:      [?12l[?25h:" Nasty: remove func from Dict that's being called (works)


[?25l:      [?12l[?25h:let d = {1:1}


[?25l:      [?12l[?25h:func d.func(a)


[?25l:[?12l[?25h:  return "a:". a:a


[?25l:[?12l[?25h:endfunc


[?25l:[?12l[?25h:$put =d.func(string(remove(d, 'func')))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used


)

[?25l:[?12l[?25h:let d = {1:1, 2:2}


[?25l:[?12l[?25h:let l = [4, d, 6]


[?25l:[?12l[?25h:let d[3] = l


[?25l:[?12l[?25h:let dc = deepcopy(d)


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let dc = deepcopy(d, 1)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:let l2 = [0, l, l, 3]


[?25l:[?12l[?25h:let l[1] = l2


[?25l:[?12l[?25h:let l3 = deepcopy(l2)


[?25l:[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1][0] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1][1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[1] = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2]['6'][7] = 99


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2][6] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l[2] = {99: 99}


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      let l = [99]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Unletting locked variables


[?25l:[?12l[?25h:$put ='Unletting:'


[?25l:[?12l[?25h:for depth in range(5)


[?25l:[?12l[?25h:  $put ='depth is ' . depth


[?25l:[?12l[?25h:  for u in range(3)


[?25l:[?12l[?25h:    unlet l


[?25l:[?12l[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]


[?25l:[?12l[?25h:    exe "lockvar " . depth . " l"


[?25l:[?12l[?25h:    if u == 1


[?25l:[?12l[?25h:      exe "unlockvar l"


[?25l:[?12l[?25h:    elseif u == 2


[?25l:[?12l[?25h:      exe "unlockvar " . depth . " l"


[?25l:[?12l[?25h:    endif


[?25l:[?12l[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i


slocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][


'6'][7]")


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:    let ps = ''


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]['6'][7]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2][6]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[2]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1][0]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1][1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l[1]


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    try


[?25l:[?12l[?25h:      unlet l


[?25l:[?12l[?25h:      let ps .= 'p'


[?25l:[?12l[?25h:    catch


[?25l:[?12l[?25h:      let ps .= 'F'


[?25l:[?12l[?25h:    endtry


[?25l:[?12l[?25h:    $put =ps


[?25l:[?12l[?25h:  endfor


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Locked variables and :unlet or list / dict functions


[?25l:[?12l[?25h:$put ='Locks and commands or functions:'


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put =':unlet after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet d.a


[?25l:[?12l[?25h:  $put ='did :unlet'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='filter() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call filter(d, 'v:key != "a"')


[?25l:[?12l[?25h:  $put ='did filter()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='map() after lock on dict:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar 1 d


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call map(d, 'v:val + 200')


[?25l:[?12l[?25h:  $put ='did map()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() after lock on dict item:'


[?25l:[?12l[?25h:unlet! d


[?25l:[?12l[?25h:let d = {'a': 99, 'b': 100}


[?25l:[?12l[?25h:lockvar d.a


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  $put =string(extend(d, {'a': 123}))


[?25l:[?12l[?25h:  $put ='did extend()'


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na


me'))


[?25l:[?12l[?25h:    $put ='did remove()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'


[?25l:[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)


[?25l:[?12l[?25h:  try


[?25l:[?12l[?25h:    $put =string(extend(a:, {'this_is_a_loooooooooong_parameter


_name': 1234}))


[?25l:[?12l[?25h:    $put ='did extend()'


[?25l:[?12l[?25h:  catch


[?25l:[?12l[?25h:    $put =v:exception[:14]


[?25l:[?12l[?25h:  endtry


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:call Tfunc('testval')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :unlet of variable in locked scope:'


[?25l:[?12l[?25h:let b:testvar = 123


[?25l:[?12l[?25h:lockvar 1 b:


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  unlet b:testvar


[?25l:[?12l[?25h:  $put ='b:testvar was :unlet: '. (!exists('b:testvar'))


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:16]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:unlockvar 1 b:


[?25l:[?12l[?25h:unlet! b:testvar


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:$put ='No :let += of locked list variable:'


[?25l:[?12l[?25h:let l = ['a', 'b', 3]


[?25l:[?12l[?25h:lockvar 1 l


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let l += ['x']


[?25l:[?12l[?25h:  $put ='did :let +='


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:14]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:lockvar! l


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:unlet l[0:1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l[1:2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlockvar l[1]


[?25l:[?12l[?25h:let l[0:1] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let l[1:2] = [0, 1]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:unlet l


[?25l:[?12l[?25h:" :lockvar/islocked() triggering script autoloading


[?25l:[?12l[?25h:set rtp+=./sautest


[?25l:[?12l[?25h:lockvar g:footest#x


[?25l:[?12l[?25h:unlockvar g:footest#x


[?25l:[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')


[?25l:[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')


[?25l:[?12l[?25h:$put ='g:footest#x: '.g:footest#x


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" a:000 function argument


[?25l:[?12l[?25h:" first the tests that should fail


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000 = [1, 2]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[0] = 9


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[0]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2] = [9, 10]


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[2]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[3] = {9: 10}


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught a:000[3]'


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:" now the tests that should pass


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  let a:000[2][1] = 9


[?25l:[?12l[?25h:  call extend(a:000[2], [5, 6])


[?25l:[?12l[?25h:  let a:000[3][5] = 8


[?25l:[?12l[?25h:  let a:000[3]['a'] = 12


[?25l:[?12l[?25h:  $put =string(a:000)


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put ='caught ' . v:exception


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" reverse(), sort(), uniq()


[?25l:[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 


1, 2], 'x8', [0, 1, 2], 1.5]


[?25l:[?12l[?25h:$put =string(uniq(copy(l)))


[?25l:[?12l[?25h:$put =string(reverse(l))


[?25l:[?12l[?25h:$put =string(reverse(reverse(l)))


[?25l:[?12l[?25h:$put =string(sort(l))


[?25l:[?12l[?25h:$put =string(reverse(sort(l)))


[?25l:[?12l[?25h:$put =string(sort(reverse(sort(l))))


[?25l:[?12l[?25h:$put =string(uniq(sort(l)))


[?25l:[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf


f, 0.22, 'four']


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'n'))


[?25l:[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 


'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]


[?25l:[?12l[?25h:$put =string(sort(copy(l), 1))


[?25l:[?12l[?25h:$put =string(sort(copy(l), 'i'))


[?25l:[?12l[?25h:$put =string(sort(copy(l)))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" splitting a string to a List


[?25l:[?12l[?25h:$put =string(split('  aa  bb '))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 0))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W\+', 1))


[?25l:[?12l[?25h:$put =string(split('  aa  bb  ', '\W', 1))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))


[?25l:[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))


[?25l:[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs'))


[?25l:[?12l[?25h:$put =string(split('abc', '\zs', 1))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare recursively linked list and dict


[?25l:[?12l[?25h:let l = [1, 2, 3, 4]


[?25l:[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}


[?25l:[?12l[?25h:let l[1] = d


[?25l:[?12l[?25h:$put =(l == l)


[?25l:[?12l[?25h:$put =(d == d)


[?25l:[?12l[?25h:$put =(l != deepcopy(l))


[?25l:[?12l[?25h:$put =(d != deepcopy(d))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" compare complex recursively linked list and dict


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:call add(l, l)


[?25l:[?12l[?25h:let dict4 = {"l": l}


[?25l:[?12l[?25h:call add(dict4.l, dict4)


[?25l:[?12l[?25h:let lcopy = deepcopy(l)


[?25l:[?12l[?25h:let dict4copy = deepcopy(dict4)


[?25l:[?12l[?25h:$put =(l == lcopy)


[?25l:[?12l[?25h:$put =(dict4 == dict4copy)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same List to extend()


[?25l:[?12l[?25h:let l = [1, 2, 3, 4, 5]


[?25l:[?12l[?25h:call extend(l, l)


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend()


[?25l:[?12l[?25h:let d = { 'a': {'b': 'B'}}


[?25l:[?12l[?25h:call extend(d, d)


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Pass the same Dict to extend() with "error"


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  call extend(d, d, "error")


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  $put =v:exception[:15] . v:exception[-1:-1]


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:$put =string(d)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" test for range assign


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:let l[:] = [1, 2]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:endfun
[?25l:$put =string(l)

:endfun

:"

:call Test(1, 2, [3, 4], {5: 6})  " This may take a while

:"

:delfunc Test

:unlet dict

:call garbagecollect(1)

:"

:" test for patch 7.3.637

:let a = 'No error caught'

:try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

o^R=a^M^[:"

:lang C

:redir => a

:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry

:redir END

o^R=a^M^[:"

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6})  " This may take a while
[?25lError detected while processing function Test:

line   76:


E684: list index out of range: 1


line   91:


E684: list index out of range: 2


line  271:


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


E108: No such variable: "l"


line  441:


E741: Value is locked: l[0:1]


line  443:


E741: Value is locked: l[1:2]


line  446:


E741: Value is locked: l[0:1] = [0, 1]


line  448:


E741: Value is locked: l[1:2] = [0, 1]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb']

['aa', 'bb']

['', 'aa', 'bb', '']

['', '', 'aa', '', 'bb', '', '']

['aa', '', 'bb']

['', 'aa', '', 'bb', '']

['aa', '', 'bb', 'cc', '']

['a', 'b', 'c']

['', 'a', '', 'b', '', 'c', '']

1

1

0

0

1

1

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

{'a': {'b': 'B'}}

Vim(call):E737: a

{'a': {'b': 'B'}}

[1, 2]

~                                                                               [?12l[?25h[?25l



:[?12l[?25hdelfunc Test
[?25l[?12l[?25h[?25l:[?12l[?25hunlet dict
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for patch 7.3.637
[?25l[?12l[?25h[?25l:[?12l[?25hlet a = 'No error caught'
[?25l[?12l[?25h[?25l:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[?12l[?25h[?25l=[?12l[?25ha
[?25lVim(foldopen):E490:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hredir => a
[?25l[?12l[?25h[?25l:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'


)|endtry


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122, 18, 22, 255, 7, 9, [], {}]

['aa', 'bb'][?12l[?25h[?25l

=[?12l[?25ha
[?25lError detected while processing :

E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))|endtry

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 197 lines, 3821 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test55 = test61; then \
#	  if diff test.out test55.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test55.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test55.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test56.failed test.ok test.out X* viminfo
cp test56.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test56.in" 21 lines, 457 charactersTest for script-local function.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:set nocp viminfo+=nviminfo

:/^start:/+1,/^end:/-1w! Xtest.vim

:source Xtest.vim

_x

:$-1,$wq! test.out

ENDTEST



start:

fun <SID>DoLast()

  call append(line('$'), "last line")

endfun

fun s:DoNothing()

  call append(line('$'), "nothing line")

endfun

nnoremap <buffer> _x    :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunnc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>

end:

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for script-local function.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 7 lines, 120 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [New] 7L, 251C written[?12l[?25h[?25l:[?12l[?25hsource Xtest.vim
[?25l[?12l[?25h[?25l:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc 


<SNR>4_DoLast
Press ENTER or type command to continue[?12l[?25h[?25lTest for script-local function.     vim: set ft=vim :nothing line[?12l[?25h[?25l:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [New] 2L, 23C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test56 = test61; then \
#	  if diff test.out test56.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test56.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test56.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test57.failed test.ok test.out X* viminfo
cp test57.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test57.in" 545 lines, 4110 charactersTests for :sort command.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:/^t01:/+1,/^t02/-1sort

:/^t02:/+1,/^t03/-1sort n

:/^t03:/+1,/^t04/-1sort x

:/^t04:/+1,/^t05/-1sort u

:/^t05:/+1,/^t06/-1sort!

:/^t06:/+1,/^t07/-1sort! n

:/^t07:/+1,/^t08/-1sort! u

:/^t08:/+1,/^t09/-1sort o

:/^t09:/+1,/^t10/-1sort! x

:/^t10:/+1,/^t11/-1sort/./

:/^t11:/+1,/^t12/-1sort/../

:/^t12:/+1,/^t13/-1sort/../u

:/^t13:/+1,/^t14/-1sort/./n

:/^t14:/+1,/^t15/-1sort/./r

:/^t15:/+1,/^t16/-1sort/../r

:/^t16:/+1,/^t17/-1sort/./rn

:/^t17:/+1,/^t18/-1sort/\d/

:/^t18:/+1,/^t19/-1sort/\d/r[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :sort command.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 33 lines, 920 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:/^t21:/+1,/^t22/-1sort/\d\d/

:/^t22:/+1,/^t23/-1sort/\d\d/n

:/^t23:/+1,/^t24/-1sort/\d\d/x

:/^t24:/+1,/^t25/-1sort/\d\d/r

:/^t25:/+1,/^t26/-1sort/\d\d/rn

:/^t26:/+1,/^t27/-1sort/\d\d/rx

:/^t27:/+1,/^t28/-1sort no

:/^t28:/+1,/^t29/-1sort b

:/^t29:/+1,/^t30/-1sort b

:/^t30:/+1,/^t31/-1sort f

:/^t01:/,$wq! test.out

ENDTEST



t01: alphebetical

abc

ab

a

a321

a123

a122

b321

b123

c123d[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l 123b2

a123

a

ababc[?12l[?25h[?25l:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25lb123

b321

b321

b321b

b322b

c123d

c321d

t02: numeric

abc[?12l[?25h[?25l

:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t03: hexadecimal





a

ab

abc

 123b

a122

a123

a321

b123

b321

b321[?12l[?25h[?25l:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25lb321b

b322b

c123d

c321d

t04: alpha, unique[?12l[?25h[?25l

:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25la123

a321

ab

abc

b123

b321

b321b

b322b

c123d

c321d

t05: alpha, reverse

c321d

c123d

b322b

b321b

b321

b321

b123

abc

ab

a321

a123

a122[?12l[?25h[?25l:[?12l[?25h/^t06:/+1,/^t07/-1sort! n        
[?25la

 123b





t06: numeric, reverse

b322b[?12l[?25h[?25l

:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l123b

c123d

b123

a123

a122





a

ab

abc

t07: unique, reverse

c321d

c123d

b322b

b321b

b321

b123

abc

ab

a321

a123

a122

a[?12l[?25h[?25l:[?12l[?25h/^t08:/+1,/^t09/-1sort o         
[?25l123b



t08: octal

abc[?12l[?25h[?25l

:[?12l[?25h/^t09:/+1,/^t10/-1sort! x        
[?25la123

b123

c123d

 123b

a321

b321

c321d

b321

b321b

b322b

t09: reverse, hexadecimal

c321d

c123d

b322b

b321b

b321

b321

b123

a321

a123

a122

 123b

abc[?12l[?25h[?25l:[?12l[?25h/^t10:/+1,/^t11/-1sort/./        
[?25lab

a





t10: alpha, skip first character

a[?12l[?25h[?25l

:[?12l[?25h/^t11:/+1,/^t12/-1sort/../       
[?25l123b

c123d

a321

b321

b321

b321b

c321d

b322b

ab

abc

t11: alpha, skip first 2 characters

ab

a





a321

b321

b321

b321b

c321d

a122

b322b

a123[?12l[?25h[?25l:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25lb123

 123b

c123d

abc

t12: alpha, unique, skip first 2 characters

ab[?12l[?25h[?25l

:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25lb321

b321b

c321d

a122

b322b

a123

b123

 123b

c123d

abc

t13: numeric, skip first character

abc

ab

a





a122

a123

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25lc321d

b321

b321b

b322b

t14: alpha, sort on first character[?12l[?25h[?25l

:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25la321

a123

a122

b321

b123

b322b

b321

b321b

c123d

c321d

t15: alpha, sort on first 2 characters

a123b

a123

a122

a321

abc

ab

b123

b321

b322b[?12l[?25h[?25l:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25lb321

b321b

c123d

c321d

t16: numeric, sort on first character

abc[?12l[?25h[?25l

:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t17: alpha, skip past first digit

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25la123

b123

 123b

c123d

t18: alpha, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t19: numeric, skip past first digit

abc

ab

a





a321

b321

c321d

b321

b321b

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25la123

b123

c123d

 123b

t20: numeric, sort on first digit

abc[?12l[?25h[?25l

:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t21: alpha, skip past first 2 digits

abc

ab

a





a321

b321

b321

b321b

c321d

a122

b322b[?12l[?25h[?25l:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25la123

b123

 123b

c123d

t22: numeric, skip past first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25lb321

c321d

b321

b321b

a122

b322b

a123

b123

c123d

 123b

t23: hexadecimal, skip past first 2 digits

abc

ab

a





a321

b321

b321

a122

a123

b123

b321b[?12l[?25h[?25l:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25lc321d

b322b

 123b

c123d

t24: alpha, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25la122

b123

c123d

 123b

a321

b321

c321d

b322b

b321

b321b

t25: numeric, sort on first 2 digits

abc

ab

a





a123

a122

b123

c123d

 123b

a321

b321[?12l[?25h[?25l:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25lc321d

b322b

b321

b321b

t26: hexadecimal, sort on first 2 digits

abc[?12l[?25h[?25l

:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25lE474: Invalid argument[?12l[?25h[?25l:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25lb321

b123

c123d

 123b

c321d

b322b

b321

b321b





t28: binary





0b000000

0b001000

0b010000

0b100000

0b100010

0b100010

0b100100

0b101000

0b101000

0b101001[?12l[?25h[?25l:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l0b101001

0b101010

0b101100

0b111000

t29: binary with leading characters[?12l[?25h[?25l

:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25la0b001000

0b010000

ab0b100000

0b100010

0b100010

 0b100100

0b101000

0b101000

 0b101001

a0b101001

0b101010

b0b101100

b0b111000

t30: float





-1.1e3

-1.01e3

1.15e-6

0.88

1.234

123.456

t31: done[?12l[?25h[?25l:[?12l[?25h/^t01:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 501 lines, 3105 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test57 = test61; then \
#	  if diff test.out test57.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test57.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test57.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test60.failed test.ok test.out X* viminfo
cp test60.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test60.in" 601 lines, 13116 charactersTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :



STARTTEST

:so small.vim

:function! RunTest(str, result)

    if exists(a:str) == a:resultecho "OK"

    elseecho "FAILED: Checking for " . a:str

    endif

endfunction

:function! TestExists()

    augroup myagroupautocmd! BufEnter*.my     echo "myfile edited"autocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"

    augroup END

    set rtp+=./sautestlet test_cases = []" valid autocmd group

    let test_cases += [['#myagroup', 1]]

    " valid autocmd group with garbage[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 596 lines, 13023 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! RunTest(str, result)
[?25l

:  [?12l[?25h    if exists(a:str) == a:result


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED: Checking for " . a:str


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x[?12l[?25h[?25l

:[?12l[?25hfunction! TestExists()
[?25l

:  [?12l[?25h    augroup myagroup


[?25l:  [?12l[?25h^Iautocmd! BufEnter       *.my     echo "myfile edited"


[?25l:  [?12l[?25h^Iautocmd! FuncUndefined  UndefFun exec "fu UndefFun()\nendfu"


[?25l:  [?12l[?25h    augroup END


[?25l:  [?12l[?25h    set rtp+=./sautest


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    let test_cases = []


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " valid autocmd group


[?25l:  [?12l[?25h    let test_cases += [['#myagroup', 1]]


[?25l:  [?12l[?25h    " valid autocmd group with garbage


[?25l:  [?12l[?25h    let test_cases += [['#myagroup+b', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter', 1]]


[?25l:  [?12l[?25h    " Valid autocmd event and pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#*.my', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd group or event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup', 0]]


[?25l:  [?12l[?25h    " Non-existing autocmd group and valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#xyzagroup#BufEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event with no matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#CmdwinEnter', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#xyzacmd', 0]]


[?25l:  [?12l[?25h    " Valid autocmd group and event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#myagroup#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event and non-matching pattern


[?25l:  [?12l[?25h    let test_cases += [['#BufEnter#xyzpat', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group, event and pattern


[?25l:  [?12l[?25h    let test_cases += [['###', 0]]


[?25l:  [?12l[?25h    " Empty autocmd group and event or empty event and pattern


[?25l:  [?12l[?25h    let test_cases += [['##', 0]]


[?25l:  [?12l[?25h    " Valid autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##FileReadCmd', 1]]


[?25l:  [?12l[?25h    " Non-existing autocmd event


[?25l:  [?12l[?25h    let test_cases += [['##MySpecialCmd', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&textwidth', 1]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&tw', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['&tw-', 0]]


[?25l:  [?12l[?25h    " Global option


[?25l:  [?12l[?25h    let test_cases += [['&g:errorformat', 1]]


[?25l:  [?12l[?25h    " Local option


[?25l:  [?12l[?25h    let test_cases += [['&l:errorformat', 1]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['&nojoinspaces', 0]]


[?25l:  [?12l[?25h    " Negative form of existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['&nojs', 0]]


[?25l:  [?12l[?25h    " Non-existing option


[?25l:  [?12l[?25h    let test_cases += [['&myxyzoption', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing and working option (long form)


[?25l:  [?12l[?25h    let test_cases += [['+incsearch', 1]]


[?25l:  [?12l[?25h    " Existing and working option with garbage


[?25l:  [?12l[?25h    let test_cases += [['+incsearch!1', 0]]


[?25l:  [?12l[?25h    " Existing and working option (short form)


[?25l:  [?12l[?25h    let test_cases += [['+is', 1]]


[?25l:  [?12l[?25h    " Existing option that is hidden.


[?25l:  [?12l[?25h    let test_cases += [['+autoprint', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing environment variable


[?25l:  [?12l[?25h    let $EDITOR_NAME = 'Vim Editor'


[?25l:  [?12l[?25h    let test_cases += [['$EDITOR_NAME', 1]]


[?25l:  [?12l[?25h    " Non-existing environment variable


[?25l:  [?12l[?25h    let test_cases += [['$NON_ENV_VAR', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal function


[?25l:  [?12l[?25h    let test_cases += [['*bufnr', 1]]


[?25l:  [?12l[?25h    " Valid internal function with ()


[?25l:  [?12l[?25h    let test_cases += [['*bufnr()', 1]]


[?25l:  [?12l[?25h    " Non-existing internal function


[?25l:  [?12l[?25h    let test_cases += [['*myxyzfunc', 0]]


[?25l:  [?12l[?25h    " Valid internal function with garbage


[?25l:  [?12l[?25h    let test_cases += [['*bufnr&6', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid user defined function


[?25l:  [?12l[?25h    let test_cases += [['*TestExists', 1]]


[?25l:  [?12l[?25h    " Non-existing user defined function


[?25l:  [?12l[?25h    let test_cases += [['*MyxyzFunc', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function that may be created by FuncUndefined event


[?25l:  [?12l[?25h    let test_cases += [['*UndefFun', 0]]


[?25l:  [?12l[?25h    " Function that may be created by script autoloading


[?25l:  [?12l[?25h    let test_cases += [['*footest#F', 0]]


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    redir! > test.out


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    for [test_case, result] in test_cases


[?25l:    [?12l[?25h        echo test_case . ": " . result


[?25l:    [?12l[?25h        call RunTest(test_case, result)


[?25l:    [?12l[?25h    endfor


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match)


[?25l:  [?12l[?25h    echo ':edit: 2'


[?25l:  [?12l[?25h    if exists(':edit') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (full match) with garbage


[?25l:  [?12l[?25h    echo ':edit/a: 0'


[?25l:  [?12l[?25h    if exists(':edit/a') == 0


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid internal command (partial match)


[?25l:  [?12l[?25h    echo ':q: 1'


[?25l:  [?12l[?25h    if exists(':q') == 1


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing internal command


[?25l:  [?12l[?25h    echo ':invalidcmd: 0'


[?25l:  [?12l[?25h    if !exists(':invalidcmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (full match)


[?25l:  [?12l[?25h    command! MyCmd :echo 'My command'


[?25l:  [?12l[?25h    echo ':MyCmd: 2'


[?25l:  [?12l[?25h    if exists(':MyCmd') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " User defined command (partial match)


[?25l:  [?12l[?25h    command! MyOtherCmd :echo 'Another command'


[?25l:  [?12l[?25h    echo ':My: 3'


[?25l:  [?12l[?25h    if exists(':My') == 3


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Command modifier


[?25l:  [?12l[?25h    echo ':rightbelow: 2'


[?25l:  [?12l[?25h    if exists(':rightbelow') == 2


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (full match)


[?25l:  [?12l[?25h    delcommand MyCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':MyCmd: 0'


[?25l:  [?12l[?25h    if !exists(':MyCmd')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing user defined command (partial match)


[?25l:  [?12l[?25h    delcommand MyOtherCmd


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    echo ':My: 0'


[?25l:  [?12l[?25h    if !exists(':My')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var: 1'


[?25l:  [?12l[?25h    if exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local variable with garbage


[?25l:  [?12l[?25h    let local_var = 1


[?25l:  [?12l[?25h    echo 'local_var%n: 0'


[?25l:  [?12l[?25h    if !exists('local_var%n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local variable


[?25l:  [?12l[?25h    unlet local_var


[?25l:  [?12l[?25h    echo 'local_var: 0'


[?25l:  [?12l[?25h    if !exists('local_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing autoload variable that may be autoloaded


[?25l:  [?12l[?25h    echo 'footest#x: 0'


[?25l:  [?12l[?25h    if !exists('footest#x')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list


[?25l:  [?12l[?25h    let local_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'local_list: 1'


[?25l:  [?12l[?25h    if exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item


[?25l:  [?12l[?25h    echo 'local_list[1]: 1'


[?25l:  [?12l[?25h    if exists('local_list[1]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local list item with garbage


[?25l:  [?12l[?25h    echo 'local_list[1]+5: 0'


[?25l:  [?12l[?25h    if !exists('local_list[1]+5')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Invalid local list item


[?25l:  [?12l[?25h    echo 'local_list[2]: 0'


[?25l:  [?12l[?25h    if !exists('local_list[2]')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local list


[?25l:  [?12l[?25h    unlet local_list


[?25l:  [?12l[?25h    echo 'local_list: 0'


[?25l:  [?12l[?25h    if !exists('local_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Valid local dictionary


[?25l:  [?12l[?25h    let local_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'local_dict: 1'


[?25l:  [?12l[?25h    if exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local dictionary


[?25l:  [?12l[?25h    unlet local_dict


[?25l:  [?12l[?25h    echo 'local_dict: 0'


[?25l:  [?12l[?25h    if !exists('local_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing local curly-brace variable


[?25l:  [?12l[?25h    let str = "local"


[?25l:  [?12l[?25h    let curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing local curly-brace variable


[?25l:  [?12l[?25h    unlet curly_{str}_var


[?25l:  [?12l[?25h    echo 'curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable


[?25l:  [?12l[?25h    let g:global_var = 1


[?25l:  [?12l[?25h    echo 'g:global_var: 1'


[?25l:  [?12l[?25h    if exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global variable with garbage


[?25l:  [?12l[?25h    echo 'g:global_var-n: 1'


[?25l:  [?12l[?25h    if !exists('g:global_var-n')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global variable


[?25l:  [?12l[?25h    unlet g:global_var


[?25l:  [?12l[?25h    echo 'g:global_var: 0'


[?25l:  [?12l[?25h    if !exists('g:global_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global list


[?25l:  [?12l[?25h    let g:global_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'g:global_list: 1'


[?25l:  [?12l[?25h    if exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global list


[?25l:  [?12l[?25h    unlet g:global_list


[?25l:  [?12l[?25h    echo 'g:global_list: 0'


[?25l:  [?12l[?25h    if !exists('g:global_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global dictionary


[?25l:  [?12l[?25h    let g:global_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'g:global_dict: 1'


[?25l:  [?12l[?25h    if exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global dictionary


[?25l:  [?12l[?25h    unlet g:global_dict


[?25l:  [?12l[?25h    echo 'g:global_dict: 0'


[?25l:  [?12l[?25h    if !exists('g:global_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing global curly-brace variable


[?25l:  [?12l[?25h    let str = "global"


[?25l:  [?12l[?25h    let g:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing global curly-brace variable


[?25l:  [?12l[?25h    unlet g:curly_{str}_var


[?25l:  [?12l[?25h    echo 'g:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('g:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window variable


[?25l:  [?12l[?25h    echo 'w:window_var: 1'


[?25l:  [?12l[?25h    let w:window_var = 1


[?25l:  [?12l[?25h    if exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window variable


[?25l:  [?12l[?25h    unlet w:window_var


[?25l:  [?12l[?25h    echo 'w:window_var: 0'


[?25l:  [?12l[?25h    if !exists('w:window_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window list


[?25l:  [?12l[?25h    let w:window_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'w:window_list: 1'


[?25l:  [?12l[?25h    if exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window list


[?25l:  [?12l[?25h    unlet w:window_list


[?25l:  [?12l[?25h    echo 'w:window_list: 0'


[?25l:  [?12l[?25h    if !exists('w:window_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window dictionary


[?25l:  [?12l[?25h    let w:window_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'w:window_dict: 1'


[?25l:  [?12l[?25h    if exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window dictionary


[?25l:  [?12l[?25h    unlet w:window_dict


[?25l:  [?12l[?25h    echo 'w:window_dict: 0'


[?25l:  [?12l[?25h    if !exists('w:window_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing window curly-brace variable


[?25l:  [?12l[?25h    let str = "window"


[?25l:  [?12l[?25h    let w:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing window curly-brace variable


[?25l:  [?12l[?25h    unlet w:curly_{str}_var


[?25l:  [?12l[?25h    echo 'w:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('w:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer variable


[?25l:  [?12l[?25h    echo 'b:buffer_var: 1'


[?25l:  [?12l[?25h    let b:buffer_var = 1


[?25l:  [?12l[?25h    if exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer variable


[?25l:  [?12l[?25h    unlet b:buffer_var


[?25l:  [?12l[?25h    echo 'b:buffer_var: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer list


[?25l:  [?12l[?25h    let b:buffer_list = ["blue", "orange"]


[?25l:  [?12l[?25h    echo 'b:buffer_list: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer list


[?25l:  [?12l[?25h    unlet b:buffer_list


[?25l:  [?12l[?25h    echo 'b:buffer_list: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_list')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer dictionary


[?25l:  [?12l[?25h    let b:buffer_dict = {"xcord":100, "ycord":2}


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 1'


[?25l:  [?12l[?25h    if exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer dictionary


[?25l:  [?12l[?25h    unlet b:buffer_dict


[?25l:  [?12l[?25h    echo 'b:buffer_dict: 0'


[?25l:  [?12l[?25h    if !exists('b:buffer_dict')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing buffer curly-brace variable


[?25l:  [?12l[?25h    let str = "buffer"


[?25l:  [?12l[?25h    let b:curly_{str}_var = 1


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 1'


[?25l:  [?12l[?25h    if exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing buffer curly-brace variable


[?25l:  [?12l[?25h    unlet b:curly_{str}_var


[?25l:  [?12l[?25h    echo 'b:curly_' . str . '_var: 0'


[?25l:  [?12l[?25h    if !exists('b:curly_{str}_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Script-local tests


[?25l:  [?12l[?25h    source test60.vim


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:version: 1'


[?25l:  [?12l[?25h    if exists('v:version')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Non-existing Vim internal variable


[?25l:  [?12l[?25h    echo 'v:non_exists_var: 0'


[?25l:  [?12l[?25h    if !exists('v:non_exists_var')


[?25l:    [?12l[?25h^Iecho "OK"


[?25l:    [?12l[?25h    else


[?25l:    [?12l[?25h^Iecho "FAILED"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h    " Function arguments


[?25l:  [?12l[?25h    function TestFuncArg(func_arg, ...)


[?25l:    [?12l[?25h        echo 'a:func_arg: 1'


[?25l:    [?12l[?25h        if exists('a:func_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:non_exists_arg: 0'


[?25l:    [?12l[?25h        if !exists('a:non_exists_arg')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:1: 1'


[?25l:    [?12l[?25h        if exists('a:1')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h        echo 'a:2: 0'


[?25l:    [?12l[?25h        if !exists('a:2')


[?25l:      [?12l[?25h            echo "OK"


[?25l:      [?12l[?25h        else


[?25l:      [?12l[?25h            echo "FAILED"


[?25l:      [?12l[?25h        endif


[?25l:    [?12l[?25h    endfunction


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    call TestFuncArg("arg1", "arg2")


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    echo ' g:footest#x =' g:footest#x


[?25l:    [?12l[?25h    echo '   footest#F()' footest#F()


[?25l:    [?12l[?25h    echo 'UndefFun()' UndefFun()


[?25l:    [?12l[?25h


[?25l:    [?12l[?25h    redir END


[?25l:    [?12l[?25hendfunction
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hcall TestExists()
[?25l#myagroup: 1

OK


#myagroup+b: 0


OK


#myagroup#BufEnter: 1


OK


#myagroup#BufEnter#*.my: 1


OK


#BufEnter: 1


OK


#BufEnter#*.my: 1


OK


#xyzagroup: 0


OK


#xyzagroup#BufEnter: 0


OK


#myagroup#CmdwinEnter: 0


OK


#myagroup#xyzacmd: 0


OK


#myagroup#BufEnter#xyzpat: 0


OK


#BufEnter#xyzpat: 0


OK


###: 0


OK


##: 0


OK


##FileReadCmd: 1


OK


##MySpecialCmd: 0


OK


&textwidth: 1


OK


&tw: 1


OK


&tw-: 0


OK


&g:errorformat: 1


OK


&l:errorformat: 1


OK


&nojoinspaces: 0


OK


&nojs: 0


OK


&myxyzoption: 0


OK


+incsearch: 1


OK


+incsearch!1: 0


OK


+is: 1


OK


+autoprint: 0


OK


$EDITOR_NAME: 1


OK


$NON_ENV_VAR: 0


OK


*bufnr: 1


OK


*bufnr(): 1


OK


*myxyzfunc: 0


OK


*bufnr&6: 0


OK


*TestExists: 1


OK


*MyxyzFunc: 0


OK


*UndefFun: 0


OK


*footest#F: 0


OK


:edit: 2


OK


:edit/a: 0


OK


:q: 1


OK


:invalidcmd: 0


OK


:MyCmd: 2


OK


:My: 3


OK


:rightbelow: 2


OK


:MyCmd: 0


OK


:My: 0


OK


local_var: 1


OK


local_var%n: 0


OK


local_var: 0


OK


footest#x: 0


OK


local_list: 1


OK


local_list[1]: 1


OK


local_list[1]+5: 0


OK


local_list[2]: 0


OK


local_list: 0


OK


local_dict: 1


OK


local_dict: 0


OK


curly_local_var: 1


OK


curly_local_var: 0


OK


g:global_var: 1


OK


g:global_var-n: 1


OK


g:global_var: 0


OK


g:global_list: 1


OK


g:global_list: 0


OK


g:global_dict: 1


OK


g:global_dict: 0


OK


g:curly_global_var: 1


OK


g:curly_global_var: 0


OK


w:window_var: 1


OK


w:window_var: 0


OK


w:window_list: 1


OK


w:window_list: 0


OK


w:window_dict: 1


OK


w:window_dict: 0


OK


w:curly_window_var: 1


OK


w:curly_window_var: 0


OK


b:buffer_var: 1


OK


b:buffer_var: 0


OK


b:buffer_list: 1


OK


b:buffer_list: 0


OK


b:buffer_dict: 1


OK


b:buffer_dict: 0


OK


b:curly_buffer_var: 1


OK


b:curly_buffer_var: 0


OK


s:script_var: 1


OK


s:script_var: 0


OK


s:script_list: 1


OK


s:script_list: 0


OK


s:script_dict: 1


OK


s:script_dict: 0


OK


s:curly_script_var: 1


OK


s:curly_script_var: 0


OK


*s:my_script_func: 1


OK


*s:my_script_func: 0


OK


v:version: 1


OK


v:non_exists_var: 0


OK


a:func_arg: 1


OK


a:non_exists_arg: 0


OK


a:1: 1


OK


a:2: 0


OK


 g:footest#x = 1


   footest#F() 0


UndefFun() 0


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lendif

    endfunctioncall TestFuncArg("arg1", "arg2")echo ' g:footest#x =' g:footest#x

    echo '   footest#F()' footest#F()

    echo 'UndefFun()' UndefFun()redir END

endfunction

:call TestExists()

:"

:delfunc TestExists

:delfunc RunTest

:delfunc TestFuncArg

:edit! test.out

:set ff=unix

:w

:qa!

:while getchar(1) | call getchar() | endwhile

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hdelfunc TestExists
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestFuncArg
[?25l[?12l[?25h[?25l:[?12l[?25hedit! test.out
[?25l"test.out" [Incomplete last line] 206 lines, 1940 characters#myagroup: 1OK

#myagroup+b: 0OK

#myagroup#BufEnter: 1OK#myagroup#BufEnter#*.my: 1OK

#BufEnter: 1OK#BufEnter#*.my: 1OK

#xyzagroup: 0OK#xyzagroup#BufEnter: 0

OK#myagroup#CmdwinEnter: 0

OK

#myagroup#xyzacmd: 0

OK#myagroup#BufEnter#xyzpat: 0

OK[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test60 = test61; then \
#	  if diff test.out test60.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test60.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test60.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test64.failed test.ok test.out X* viminfo
cp test64.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test64.in" 654 lines, 27565 charactersTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns without multi-byte support.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 621 lines, 27090 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:for pat in [' \ze*', ' \zs*']

:  try

:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp engine
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"operator \|
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search single groups
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ab', '                    ab           ', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Search multi-modifiers
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" no match here
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h" empty match is good
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na


sfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" leading star as normal char when \{} follows
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[?12l[?25h[?25l:[?12l[?25h" same thing as 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a?'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" anti-greedy version of 'a*'
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test groups of characters and submatches
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1', 


''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi


iiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe


lix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '


yyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aá ^I', 'aá '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa


','xayzxayz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx


ayzxa',''])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test Character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test collections and character range []
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl


mnopqrstuvwxyz'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[?12l[?25h[?25l:[?12l[?25h" filename regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[?12l[?25h[?25l:[?12l[?25h" special chars
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[?12l[?25h[?25l:[?12l[?25h" collation elem
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" middle of regexp
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f', "  \na ", "\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_f\+', "  \na ", "\na"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \z features
[?25l[?12l[?25h[?25l:[?12l[?25h" match ends at \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[?12l[?25h[?25l:[?12l[?25h" match starts at \zs
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if 


last'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is   [a t', '  '])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Tests for \@= and \& features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match, no matter the input text
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[?12l[?25h[?25l:[?12l[?25h" will never match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '


John is Bobs friend'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep


', 'test1'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']


)[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:', 


's'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', '   abxyzc ', 'abxyzc', 'xyz'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" \%u and friends
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \%[abc]
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'


])[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7


\8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e


', 'f', 'g', 'h', 'i'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo


.com', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo


.bat', 'bat', 'bat'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$


{0}', '0'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Look-behind with limit
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<


'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<


<'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19


70'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" complicated look-behind match
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" \@>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', '  abcbd', '  abc', '  ab'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[?12l[?25h[?25l:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Requiring lots of states.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}', "


12345678-1234-1234-1234-123456789012 ", "12345678-1234-1234-1234-123456789012",


"1234-"])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Skip adding state twice
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO", 


"#if", ' FOO'])
[?25l:for pat in [' \ze*', ' \zs*'][?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""" Test \%V atom
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt


ausgabe [Salleck]    Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau


sgabe', 'Gesamt'])
[?25l:for pat in [' \ze*', ' \zs*']

:  try[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.

OK 2 - ^\(.\{-}b\)\@>.

OK 0 - \(.\{-}\)\(\)\@>$

OK 1 - \(.\{-}\)\(\)\@>$

OK 2 - \(.\{-}\)\(\)\@>$

OK 0 - \(a*\)\@>a\|a\+

OK 2 - \(a*\)\@>a\|a\+

OK 0 - \_[^8-9]\+

OK 1 - \_[^8-9]\+

OK 2 - \_[^8-9]\+

OK 0 - \_[^a]\+

OK 1 - \_[^a]\+

OK 2 - \_[^a]\+

OK 0 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 1 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 2 - [0-9a-zA-Z]\{8}-\([0-9a-zA-Z]\{4}-\)\{3}[0-9a-zA-Z]\{12}

OK 0 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 1 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 2 - ^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=

OK 0 - \%>70vGesamt

OK 1 - \%>70vGesamt

OK 2 - \%>70vGesamt
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" back references
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D


ir2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt


'], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" line breaks
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'


, 'XXjk', 'lmn']])
[?25lOK 0 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)


\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca


lnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25lOK 0 - ^\(.\{-}b\)\@>.

OK 1 - ^\(.\{-}b\)\@>.[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the multi-line tests
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='multi-line tests'
[?25l

multi-line tests[?12l[?25h[?25l

:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let before = t[2]


[?25l:  [?12l[?25h:  let after = t[3]


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re ==1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    new


[?25l:    [?12l[?25h:    call setline(1, before)


[?25l:    [?12l[?25h:    exe '%s/' . pat . '/XX/'


[?25l:    [?12l[?25h:    let result = getline(1, '$')


[?25l:    [?12l[?25h:    q!


[?25l:    [?12l[?25h:    if result != after


[?25l:      [?12l[?25h:      $put ='ERROR: pat: \"' . pat . '\", text: \"' . string(before) . 


'\", expected: \"' . string(after) . '\", got: \"' . string(result) . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

:[?12l[?25hunlet t tl
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[?12l[?25h[?25l:[?12l[?25h" matchstr() with \ze in between.
[?25l[?12l[?25h[?25l:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP:    let l = matchlist('x x', pat)

:    $put ='E888 NOT detected for ' . pat

:  catch

:    $put ='E888 detected for ' . pat

:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="">Ta 5</Title>

<T="">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l/[?12l[?25h^Substitute here
[?25lsearch hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25h.+1,.+2yank
[?25l[?12l[?25h[?25lOK 2 - \%>70vGesamt

multi-line tests

OK 0 - ^.\(.\).\_..\1.

OK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1
[?12l[?25h[?25l

[?12l[?25h[?25l

<T="5">Ta 5</Title>
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[?12l[?25h[?25l/[?12l[?25h^Behind:
[?25lsearch hit BOTTOM, continuing at TOP:  endtry

:endfor

:"

:""""" Write the results """""""""""""

:/\%#=1^Results/,$wq! test.out

ENDTEST



Substitute here:

<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[?12l[?25h[?25l:[?12l[?25h.yank
[?25l[?12l[?25h[?25lOK 1 - ^.\(.\).\_..\1.

OK 2 - ^.\(.\).\_..\1.

OK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>
[?12l[?25h[?25l

[?12l[?25h[?25l

xxstart3
[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching Visual area
[?25l[?12l[?25h[?25l/[?12l[?25h^Visual:
[?25lsearch hit BOTTOM, continuing at TOP<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



Behind:

asdfasd<yyy

xxstart1

asdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexe the thexethe

andaxand andaxand

oooxofor foroxooo

oooxofor foroxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

search hit BOTTOM, continuing at TOP[?12l[?25h

the[?25l[?12l[?25h[?25lxe the the[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 linexE thE thE
[?12l[?25h

[?25landaxand andaxand 
[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 lineAndAxAnd AndAxAnd[?12l[?25h

ooo[?25l[?12l[?25h[?25lxofor foro[?12l[?25h[?25lx

oooxofor foro[?12l[?25h[?25l:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 linesxOfOr fOrOx

oooxOfOr fOrO
[?12l[?25h[?25l:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25lsearch hit BOTTOM, continuing at TOP
4 lines yanked[?12l[?25h[?25lOK 0 - \v.*\/(.*)\n.*\/\1$

OK 1 - \v.*\/(.*)\n.*\/\1$

OK 2 - \v.*\/(.*)\n.*\/\1$

OK 0 - \S.*\nx

OK 1 - \S.*\nx

OK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3
[?12l[?25h[?25l

[?12l[?25h[?25l

4 more lines

thexE thE thExethe4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check matching marks
[?25l[?12l[?25h[?25l/[?12l[?25h^Marks:
[?25lsearch hit BOTTOM, continuing at TOPasdfasd<yy

xxxstart2

asdfasd<yy

xxstart3



Visual:

thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



Marks:

asdfSasdfsadfEasdf

asdfSas

dfsadfEasdf



Results of test64:

OK 0 - ab

OK 1 - ab

OK 2 - ab

OK 0 - b

OK 1 - b

OK 2 - b

search hit BOTTOM, continuing at TOP[?12l[?25h

asdf[?25l:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25lhereasdf[?12l[?25h

asdf

dfsa
dfsadf[?25l:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l

asdfagainasdfOK 0 - bc*[?12l[?25h[?25l:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25lsearch hit BOTTOM, continuing at TOP
3 lines yanked[?12l[?25h[?25lOK 2 - \S.*\nx

OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo
[?12l[?25h[?25l

[?12l[?25h[?25l

3 more linesasdfhereasdf

asdfagainasdf3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check patterns matching cursor position.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! Postest()
[?25l

:  [?12l[?25h new


[?25l:  [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t


\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', '        xxxxxx


xxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx


xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx


xxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx


x xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx


xxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx


xxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x


xxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxxxxx


xxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx'])


[?25l:  [?12l[?25h call setpos('.', [0, 1, 0, 0])


[?25l:  [?12l[?25h s/\%>3c.//g


[?25l:  [?12l[?25h call setpos('.', [0, 2, 4, 0])


[?25l:  [?12l[?25h s/\%#.*$//g


[?25l:  [?12l[?25h call setpos('.', [0, 3, 0, 0])


[?25l:  [?12l[?25h s/\%<3c./_/g


[?25l:  [?12l[?25h %s/\%4l\%>5c./_/g


[?25l:  [?12l[?25h %s/\%6l\%>25v./_/g


[?25l:  [?12l[?25h %s/\%>6l\%3c./!/g


[?25l:  [?12l[?25h %s/\%>7l\%12c./?/g


[?25l:  [?12l[?25h %s/\%>7l\%<9l\%>5v\%<8v./#/g


[?25l:  [?12l[?25h $s/\%(|\u.*\)\@<=[^|\t]\+$//ge


[?25l:  [?12l[?25h 1,$yank


[?25l:  [?12l[?25h quit!


[?25l:  [?12l[?25hendfunc
[?25lOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>

OK 0 - a\n^b$\n^c

OK 1 - a\n^b$\n^c

OK 2 - a\n^b$\n^c

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2 - \(^.\+\n\)\1



<T="5">Ta 5</Title>

<T="7">Ac 7</Title>



xxstart3



thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooo

oooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf[?12l[?25h[?25l255\

OK 0 - a\n^b$\n^cOK 1 - a\n^b$\n^c2

OK 0 - \(^.\+\n\)\1

OK 1 - \(^.\+\n\)\1

OK 2<T="5">Ta 5</Title>

<T="7">Ac 7</Title>xxstart3thexE thE thExethe

AndAxAnd AndAxAnd

oooxOfOr fOrOxooooooxOfOr fOrOxoooasdfhereasdfasdfagainasdf~                                                                               [?12l[?25h[?25l

-0-[?12l[?25h[?25l

:[?12l[?25hset re=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25loooxOfOr fOrOxooo



asdfhereasdf

asdfagainasdf-0-ffobob__ooooo

koooo__moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[?12l[?25h[?25l

-1-[?12l[?25h[?25l

:[?12l[?25hset re=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l-1-

ffo

bob

__ooooo

koooo__

moooooo

   f__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxx xxxx xx xxxxxxxx xxx xxxxxxx~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-2-[?12l[?25h[?25l:[?12l[?25hset re=2
[?25l[?12l[?25h[?25l:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines


10 lines yanked


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hput
[?25l10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l-2-

ffo

bob~                                                                               [?12l[?25h[?25l:[?12l[?25h" start and end of buffer
[?25l[?12l[?25h[?25l/[?12l[?25h\%^
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 2 - \v(a*)+

OK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%^..
[?25lsearch hit BOTTOM, continuing at TOPTest for regexp patterns without multi-byte support.

See test95 for multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lOK 0 - \v((ab)+)+

OK 1 - \v((ab)+)+

OK 2 - \v((ab)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(((ab)+)+)+

OK 1 - \v(((ab)+)+)+

OK 2 - \v(((ab)+)+)+

OK 0 - \v(a{0,2})+

OK 1 - \v(a{0,2})+

OK 2 - \v(a{0,2})+

OK 0 - \v(a*)+

OK 1 - \v(a*)+

OK 2 - \v(a*)+

OK 0 - \v((a*)+)+

OK 1 - \v((a*)+)+

OK 2 - \v((a*)+)+

OK 0 - \v((ab)*)+

OK 1 - \v((ab)*)+

OK 2 - \v((ab)*)+

OK 0 - \va{1,3}

OK 1 - \va{1,3}[?12l[?25h[?25l/[?12l[?25h\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:" tl is a List of Lists with:

:"    regexp engine

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:"

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"""" Previously written tests """"""""""""""""""""""""""""""""

:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

:"

:call add(tl, [2, 'ab', 'aab', 'ab'])

:call add(tl, [2, 'b', 'abcdef', 'b'])

:call add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])

:call add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])

:call add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])

:call add(tl, [2, 'bc*', 'abbdef', 'b'])

:call add(tl, [2, 'c*', 'ccc', 'ccc'])

:call add(tl, [2, 'bc*', 'abdef', 'b'])[?12l[?25h[?25l/[?12l[?25h..\%$
[?25l-2-

ffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?bafoo

**!*****_

  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx  xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxx xxx xxx xxxxxxxx xxxxxxx  xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx  xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx

Test

Test END

~                                                                               ~                                                                               ~                                                                               [?12l[?25h
[?25l[?12l[?25h[?25lEN[?12l[?25h[?25l[?12l[?25h[?25lE[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check for detecting error
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=2
[?25l[?12l[?25h[?25l:[?12l[?25hfor pat in [' \ze*', ' \zs*']
[?25l

:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    let l = matchlist('x x', pat)


[?25l:    [?12l[?25h:    $put ='E888 NOT detected for ' . pat


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='E888 detected for ' . pat


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor
[?25lffo

bob

__ooooo

koooo__

moooooof__

ab!babababababfoo

ba!ab##abab?ba

**!*****_  !     xxx?xxxxxxxx    xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxxx xx xxxx xxxxxxxxxxxxx xxx xxxxxxx xxxxxxxxx  xxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx  xxx xxxxxxx xxxx xxx xxxx xxx xxx xxxxxx x xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx  xxxxxxxxx xxxxxxx x x xx xxxxxx xxxxxxx  xxxxxxxxxx xxxxxxxxx xxx xxx xxxxxxxx   xxxx xxx xxxxxx xxxxx xxxxx xx   xxxxxxxxxxxx xxxx xxxxxxxxx xxxxx xxxxx xx xxxxxxxxx xxxxxxxxxx  xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxTestEND

EN888 detected for  \ze*

E888 detected for  \zs*[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h""""" Write the results """""""""""""
[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1107 lines, 22167 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test64 = test61; then \
#	  if diff test.out test64.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test64.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test64.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test65.failed test.ok test.out X* viminfo
cp test65.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test65.in" 95 lines, 2153 charactersTest for floating point and logical operators.



STARTTEST

:so small.vim

:if !has("float")

:  e! test.ok

:  wq! test.out

:endif

:"

:$put =printf('%f', 123.456)

:$put =printf('%e', 123.456)

:$put =printf('%g', 123.456)

:" check we don't crash on division by zero

:echo 1.0 / 0.0

:$put ='+='

:let v = 1.234

:let v += 6.543

:$put =printf('%g', v)

:let v = 1.234

:let v += 5

:$put =printf('%g', v)

:let a = 5

:let a += 3.333[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for floating point and logical operators.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 89 lines, 2067 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'

:$put =and(127, 127)

:$put =and(127, 16)

:$put =and(127, 128)

:$put ='OR'

:$put =or(16, 7)

:$put =or(8, 7)

:$put =or(0, 123)

:$put ='XOR'

:$put =xor(127, 127)

:$put =xor(127, 16)

:$put =xor(127, 128)

:$put ='invert'

:$put =and(invert(127), 65535)

:$put =and(invert(16), 65535)

:$put =and(invert(128), 65535)

:$put =invert(1.0)

:/^Results/,$wq! test.out

ENDTEST



Results of test65:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("float")
[?25l

:  [?12l[?25h:  e! test.ok


[?25l:  [?12l[?25h:  wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:$put =float2nr(123.456)

:$put =float2nr(-123.456)

:$put ='AND'[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%f', 123.456)
[?25l

123.456000[?12l[?25h[?25l

:[?12l[?25h$put =printf('%e', 123.456)
[?25l

1.234560e+02[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 123.456)
[?25l

123.456[?12l[?25h[?25l

:[?12l[?25h" check we don't crash on division by zero
[?25l[?12l[?25h[?25l:[?12l[?25hecho 1.0 / 0.0
[?25linf[?12l[?25h[?25l:[?12l[?25h$put ='+='
[?25l

+=[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 6.543
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

7.777[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25hlet v += 5
[?25l[?12l[?25h[?25l:[?12l[?25h$put =printf('%g', v)
[?25l

6.234[?12l[?25h[?25l

:[?12l[?25hlet a = 5
[?25l[?12l[?25h[?25l:[?12l[?25hlet a += 3.333
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(a)
[?25l

8.333[?12l[?25h[?25l

:[?12l[?25h$put ='=='
[?25l

==[?12l[?25h[?25l

:[?12l[?25hlet v = 1.234
[?25l[?12l[?25h[?25l:[?12l[?25h$put =v == 1.234
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =v == 1.2341
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='add-subtract'
[?25l

add-subtract[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l

5.234[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l

-6.766[?12l[?25h[?25l

:[?12l[?25h$put ='mult-div'
[?25l

mult-div[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l

4.936[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l

0.003241[?12l[?25h[?25l

:[?12l[?25h$put ='dict'
[?25l

dict[?12l[?25h[?25l

:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l

{'x': 1.234, 'y': -2.0e20}[?12l[?25h[?25l

:[?12l[?25h$put ='list'
[?25l

list[?12l[?25h[?25l

:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l

[-123.4, 2.0e-20][?12l[?25h[?25l

:[?12l[?25h$put ='abs'
[?25l

abs[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(1456))
[?25l

1456[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs(-4))
[?25l

4[?12l[?25h[?25l

:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25lE745: Using a List as a Number

-1[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l

14.56[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l

54.32[?12l[?25h[?25l

:[?12l[?25h$put ='ceil'
[?25l

ceil[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l

2.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l

-4.0[?12l[?25h[?25l

:[?12l[?25h$put ='floor'
[?25l

floor[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l

-6.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='log10'
[?25l

log10[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(1000))
[?25l

3.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l

-2.0[?12l[?25h[?25l

:[?12l[?25h$put ='pow'
[?25l

pow[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l

27.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l

65536.0[?12l[?25h[?25l

:[?12l[?25h$put ='round'
[?25l

round[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(0.456))
[?25l

0.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(4.5))
[?25l

5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put ='sqrt'
[?25l

sqrt[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l

10.0[?12l[?25h[?25l

:[?12l[?25hecho sqrt(-4.01)
[?25lnan[?12l[?25h[?25l:[?12l[?25h$put ='str2float'
[?25l

str2float[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l

1.0e40[?12l[?25h[?25l

:[?12l[?25h$put ='trunc'
[?25l

trunc[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l

1.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l

-5.0[?12l[?25h[?25l

:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l

4.0[?12l[?25h[?25l

:[?12l[?25h$put ='float2nr'
[?25l

float2nr[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(123.456)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put =float2nr(-123.456)
[?25l

-123[?12l[?25h[?25l

:[?12l[?25h$put ='AND'
[?25l

AND[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 127)
[?25l

127[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 16)
[?25l

16[?12l[?25h[?25l

:[?12l[?25h$put =and(127, 128)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put ='OR'
[?25l

OR[?12l[?25h[?25l

:[?12l[?25h$put =or(16, 7)
[?25l

23[?12l[?25h[?25l

:[?12l[?25h$put =or(8, 7)
[?25l

15[?12l[?25h[?25l

:[?12l[?25h$put =or(0, 123)
[?25l

123[?12l[?25h[?25l

:[?12l[?25h$put ='XOR'
[?25l

XOR[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 127)
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 16)
[?25l

111[?12l[?25h[?25l

:[?12l[?25h$put =xor(127, 128)
[?25l

255[?12l[?25h[?25l

:[?12l[?25h$put ='invert'
[?25l

invert[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(127), 65535)
[?25l

65408[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(16), 65535)
[?25l

65519[?12l[?25h[?25l

:[?12l[?25h$put =and(invert(128), 65535)
[?25l

65407[?12l[?25h[?25l

:[?12l[?25h$put =invert(1.0)
[?25lE805: Using a Float as a Number

0[?12l[?25h[?25l

:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 73 lines, 430 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test65 = test61; then \
#	  if diff test.out test65.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test65.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test65.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test66.failed test.ok test.out X* viminfo
cp test66.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test66.in" 33 lines, 509 charactersTest for visual block shift and tab characters.



STARTTEST

:so small.vim

/^one

fe^V4jR^[ugvr1:'<,'>w! test.out

/^abcdefgh

^V4jI    ^[j<<11|D

7|a^[

7|a^[

7|a^[4k13|^V4j<

:$-5,$w >> test.out

:$-4,$s/\s\+//g

^V4kI    ^[j<<

7|a^[

7|a^[

7|a^[4k13|^V4j3<

:$-4,$w >> test.out

:qa!

ENDTEST



one two three[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 16 lines, 234 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^one
[?25l[?12l[?25hon[?25l[?12l[?25h[?25le

one two three

one two three

one two three

one two three[?12l[?25h[?25l

4 fewer linesabcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz[?12l[?25h[?25lmore lines; before #1  0 seconds agoone two three

one two three

one two threeone two threeone two three[?12l[?25h[?25le

one

one

one

on[?12l[?25h[?25l1

on1

on1

on1

on1[?12l[?25h[?25l:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [New File] 5 lines, 70 characters written[?12l[?25h[?25l/[?12l[?25h^abcdefgh
[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25la

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc            defghijklmnopqrstuvwxyz[?12l[?25h[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 1 timeidefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"6 lines, 151 characters appended[?12l[?25h[?25l:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 linesabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25la

a

a

a[?12l[?25h[?25l

a

a

a

a    abcdefghijklmnopqrstuvwxyz

    abcdefghij

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz[?12l[?25h

[?25labcdefghij[?12l[?25h

    ab[?25lc         defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                       defghijklmnopqrstuvwxyz[?12l[?25h[?25lc                 defghijklmnopqrstuvwxyz[?12l[?25h[?25l[?12l[?25h[?25li  [?12l[?25h[?25l

5 lines <ed 3 timesidefghijklmnopqrstuvwxyz    defghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz[?12l[?25h[?25l:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"5 lines, 147 characters appended[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test66 = test61; then \
#	  if diff test.out test66.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test66.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test66.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test67.failed test.ok test.out X* viminfo
cp test67.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test67.in" 33 lines, 1110 charactersTest that groups and patterns are tested correctly when calling exists() for

autocommands.



STARTTEST

:so small.vim

:let results=[]

:augroup auexists

:augroup END

:call add(results, "##BufEnter: " . exists("##BufEnter"))

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:au BufEnter * let g:entered=1

:call add(results, "#BufEnter: " . exists("#BufEnter"))

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:augroup auexists

:au BufEnter * let g:entered=1

:augroup END

:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:au BufEnter *.test let g:entered=1

:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))

:edit testfile.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:au BufEnter <buffer> let g:entered=1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest that groups and patterns are tested correctly when calling exists() for[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 999 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:edit testfile2.test

:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))

:e! test.out

:call append(0, results)

:$d

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet results=[]
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25haugroup auexists
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter * let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25haugroup END
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][?12l[?25h[?25l:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l:[?12l[?25hcall append(0, results)
[?25l##BufEnter: 1

#BufEnter: 0

#BufEnter: 1

#auexists#BufEnter: 0

#auexists#BufEnter: 1

#BufEnter#*.test: 0

#BufEnter#*.test: 1

#BufEnter#<buffer>: 0

#BufEnter#<buffer>: 1

#BufEnter#<buffer>: 0[?12l[?25h[?25l:[?12l[?25h$d
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test67 = test61; then \
#	  if diff test.out test67.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test67.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test67.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test68.failed test.ok test.out X* viminfo
cp test68.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test68.in" 131 lines, 1004 charactersTest for text formatting.



Results of test68:



STARTTEST

:so small.vim

/^{/+1

:set noai tw=2 fo=t

gRa b^[

ENDTEST



{





}



STARTTEST

/^{/+1

:set ai tw=2 fo=tw

gqgqjjllab^[

ENDTEST



{[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 4 lines, 48 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset noai tw=2 fo=t
[?25l[?12l[?25h[?25la

b[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 38 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l

a  b[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tw
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

[?12l[?25h[?25l

a[?12l[?25ha [?25l

b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=3 fo=t

gqgqo

a ^V^A^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a ^A[?12l[?25h[?25l

:[?12l[?25hset tw=3 fo=t
[?25l[?12l[?25h[?25l

^A[?12l[?25h[?25la

^A
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tcq1 comments=:#

gqgqjgqgqo

a b

#a b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

a b[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[?12l[?25h[?25l

#a b[?12l[?25h[?25la b

#a b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 46 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=tcn comments=:#

A b^[jA b^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  1 a[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[?12l[?25h[?25l

b[?12l[?25h[?25l

# 1 a[?12l[?25h[?25l

#   b[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+3
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 35 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=t2a si

i  ^[A_^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+3
[?25l{



  x a

  b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=t2a si
[?25l[?12l[?25h[?25l    b[?12l[?25h[?25l b_[?12l[?25h[?25l

c[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=qn comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# 1 a b[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[?12l[?25h[?25l[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 40 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=5 fo=q2 comments=:#

gwap

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

# x[?12l[?25h[?25l

:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[?12l[?25h[?25l# x a
[?12l[?25h[?25l

#   b[?12l[?25h[?25l

/^STARTTEST
}



STARTTEST[?12l[?25h[?25l

/^{/+2
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw& fo=a

I^^^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+2
[?25l{

   1aa

   2bb[?12l[?25h[?25l

:[?12l[?25hset tw& fo=a
[?25l[?12l[?25h[?25l1aa ^^2bb }STARTTEST[?12l[?25h

[?25l/^STARTTEST
[?12l[?25h[?25l

/mno pqr/[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 69 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/

A vwx yz^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25hmno pqr/
[?25l/* abc def ghi jkl

 *    mno pqr stu[?12l[?25h[?25l

:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[?12l[?25h[?25l

*    vwx yz[?12l[?25h[?25l

*/[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^#/
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:setl tw=12 fo=tqnc comments=:#

A foobar^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^#/
[?25l

# 1 xxxxx[?12l[?25h[?25l

:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[?12l[?25h[?25l

#   foobar[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines# 1 a#   b}{

# x a#   b}{ 1aa ^^2bb }/* abc def ghi jkl

 *    mno pqr stu

 *    vwx yz

 */# 1 xxxxx

#   foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 77 lines, 281 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test68 = test61; then \
#	  if diff test.out test68.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test68.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test68.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test69.failed test.ok test.out X* viminfo
cp test69.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test69.in" 192 lines, 2185 charactersTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for multi-byte text formatting.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 2 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for multi-byte text formatting.

Also test, that 'mps' with multibyte chars works.

And test "ra" on multi-byte characters.

Also test byteidx() and byteidxcomp()



STARTTEST

:so mbyte.vim

:set encoding=utf-8

ENDTEST



Results of test69:



STARTTEST

/^{/+1

:set tw=2 fo=t

gqgqjgqgqo

XYZ

abc XYZ^[

ENDTEST



{

XYZ

abc XYZ[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 58 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=t
[?25l[?12l[?25h

[?25l

XYZ[?12l[?25h[?25l[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

Z

abc [?12l[?25h[?25l

X[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=1 fo=tm

gqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

X[?12l[?25h[?25l

:[?12l[?25hset tw=1 fo=tm
[?25l[?12l[?25h[?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l

X a
[?12l[?25h[?25l

a[?12l[?25h[?25l

XY
[?12l[?25h[?25l

Y
[?12l[?25h[?25l

X Y
[?12l[?25h[?25l

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c

abXY^[

ENDTEST



{

X

Xa

X a

XY

X Y

aX

abX

abcX

abX c[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h

[?25la[?12l[?25h

[?25la[?12l[?25h

[?25lY
[?12l[?25h

[?25lY 
[?12l[?25h[?25l

aX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abcX
[?12l[?25h[?25l

X
[?12l[?25h[?25l

abX c
[?12l[?25h[?25lX

c[?12l[?25h[?25l

abXY
[?12l[?25h[?25lX

Y
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX

a

[?12l[?25h[?25lX[?12l[?25h[?25lY

[?12l[?25h[?25lX [?12l[?25h[?25lY

a[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

abc[?12l[?25h[?25lX

ab[?12l[?25h[?25lX

c

ab[?12l[?25h[?25l

X[?12l[?25h[?25l

Y
[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 47 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set ai tw=2 fo=tm

gqgqjgqgqo

X

Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset ai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

  a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 53 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set noai tw=2 fo=tm

gqgqjgqgqo

  X

  Xa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

  X[?12l[?25h[?25l

:[?12l[?25hset noai tw=2 fo=tm
[?25l[?12l[?25h  [?25l

Xa[?12l[?25h[?25l

a[?12l[?25h[?25l[?12l[?25h[?25l

X

  [?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 169 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa

XXY^[

ENDTEST



{

X

Xa

XaY

XY

XYZ

X Y

X YZ

XX

XXa[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l[?12l[?25h[?25l:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[?12l[?25h



[?25lXY[?12l[?25h



[?25lXZ
[?12l[?25h



[?25l

X Z
[?12l[?25h[?25l

XX
[?12l[?25h[?25l

XXa
[?12l[?25h[?25l

XXY
[?12l[?25h[?25l[?12l[?25h[?25l

X

[?12l[?25h[?25l

Xa

[?12l[?25h[?25lXa[?12l[?25h[?25lXY

[?12l[?25h[?25lX[?12l[?25h[?25l

Y

[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25lXZ

[?12l[?25h[?25lX [?12l[?25h[?25l

Y

[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25lX Z

[?12l[?25h[?25lX[?12l[?25h[?25l

X

[?12l[?25h[?25lX[?12l[?25h[?25l

Xa

[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 30 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set tw=2 fo=tm

RXa^[

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{[?12l[?25h[?25l

:[?12l[?25hset tw=2 fo=tm
[?25l[?12l[?25h[?25l

X

a[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^{/+1
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 34 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set mps+=^Vu2018:^Vu2019

d%

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^{/+1
[?25l{

‘two three ’four[?12l[?25h[?25l

:[?12l[?25hset mps+=^‘:^’
[?25l[?12l[?25h[?25l four[?12l[?25h[?25l

}[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

/^ra test
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 16 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTjVjra

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^ra test
[?25l

ra test[?12l[?25h[?25l

abba
[?12l[?25h[?25lbba 
[?12l[?25h[?25l

a

aab 
[?12l[?25h[?25laaaaaaa [?12l[?25h

[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set whichwrap+=h
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 4 lines, 43 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^x

dh

:set whichwrap-=h

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset whichwrap+=h
[?25l[?12l[?25h[?25l/[?12l[?25h^x
[?25láx[?12l[?25h[?25lx[?12l[?25h

[?25l

:[?12l[?25hset whichwrap-=h
[?25l[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:let a = '.é.' " one char of two bytes
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 548 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let b = '.é.' " normal e with composing char

/^byteidx

:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)])

:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])

/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)])

:let b = '.é.'

:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet a = '.é.' " one char of two bytes
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[?12l[?25h[?25l/[?12l[?25h^byteidx
[?25l

byteidx[?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei


dx(a, 4)])
[?25l:set whichwrap-=h

ENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei


dx(b, 4)])
[?25lENDTESTáxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5[?12l[?25h[?25l

/[?12l[?25h^byteidxcomp
[?25l

byteidxcomp[?12l[?25h[?25l

:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc


omp(a, 3), byteidxcomp(a, 4)])
[?25láxSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1][?12l[?25h[?25l

:[?12l[?25hlet b = '.eé.'
[?25l[?12l[?25h[?25l:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc


omp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25lSTARTTEST

:let a = '.é.' " one char of two bytesb = '.é.' " normal e with composing char

/^byteidx:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteiddx(a, 4)]):put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteiddx(b, 4)])/^byteidxcomp

:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoomp(a, 3), byteidxcomp(a, 4)]):let b = '.é.'put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])ENDTESTbyteidx

[0, 1, 3, 4, -1]4, 5

byteidxcomp[0, 1, 3, 4, -1]2, 4, 5, -1][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

/^substitute
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 75 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:let y = substitute('123', '\zs', 'a', 'g')    | put =y

ENDTEST[?12l[?25h[?25lsubstitute[?12l[?25h[?25l



:so! Xdotest
[?12l[?25h[?25l/[?12l[?25h^substitute
[?25l[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')    | put =y
[?25la1a2a3a[?12l[?25h[?25l



/^STARTTEST


STARTTEST[?12l[?25h[?25l:g/^STARTTEST/.,/^ENDTEST/d

:1;/^Results/,$wq! test.out[?12l[?25h[?25l



:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 2 lines, 56 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l



/ENDTEST[?12l[?25h
[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines{ four}ra test

aaaaaaaáxbyteidx[0, 1, 3, 4, -1]

[0, 1, 4, 5, -1]byteidxcomp

[0, 1, 3, 4, -1]

[0, 1, 2, 4, 5, -1]substitute

a1a2a3a[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 166 lines, 730 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test69 = test61; then \
#	  if diff test.out test69.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test69.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test69.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test70.failed test.ok test.out X* viminfo
cp test70.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test70.in" 63 lines, 1501 charactersSmoke test for MzScheme interface and mzeval() function



STARTTEST

:so mzscheme.vim

:set nocompatible viminfo+=nviminfo

:function! MzRequire()

:redir => l:mzversion

:mz (version)

:redir END

:if strpart(l:mzversion, 1, 1) < "4"

:" MzScheme versions < 4.x:

:mz (require (prefix vim- vimext))

:else

:" newer versions:

:mz (require (prefix-in vim- 'vimext))

:mz (require r5rs)

:endif

:endfunction

:silent call MzRequire()

:mz (define l '("item0" "dictionary with list OK" "item2"))

:mz (define h (make-hash))

:mz (hash-set! h "list" l)

/^1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSmoke test for MzScheme interface and mzeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 55 lines, 1398 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:if l2[2] == l2

:let res = "OK"

:else

:let res = "FAILED: " . l2[2]

:endif

:call setline(search("^3"), "circular test " . res)

:" funcrefs

:mz (define vim:max (vim-eval "function('max')"))

:mz (define m (vim:max '(1 100 8)))

:let m = mzeval('m')

:if m == 100

:let fref_res = "OK"

:else

:let fref_res = "FAILED: " . m

:end

:call append(line('$'), 'funcrefs '. fref_res)

:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mzscheme.vim
[?25l"test.ok" 6 lines, 94 characters


"test.out" [New File] 6 lines, 94 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test70 = test61; then \
#	  if diff test.out test70.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test70.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test70.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test73.failed test.ok test.out X* viminfo
cp test73.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test73.in" 169 lines, 3647 charactersTests for find completion.



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xfind directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a stale "Xfind" directory may exist, remove it so that

:" we start from a clean state.

:call delete("Xfind", "rf")

:new

:let cwd=getcwd()

:let test_out = cwd . '/test.out'

:call mkdir('Xfind')

:cd Xfind

:set path=

:find

:exec "w! " . test_out

:close[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for find completion.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 164 lines, 3600 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:exec "cd " . cwd . "/Xfind/"

:set path=./path

:" Open the file where Jimmy Hoffa is found

:e in/file.txt

:" Find the file containing 'E.T.' in the Xfind/in/path directory

:find file

:exec "w >>" . test_out

:"

:" Test that completion works when path=.,,

:"

:set path=.,,

:" Open Jimmy Hoffa file

:e in/file.txt

:exec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu

:exec "w >>" . test_out

:q

:exec "cd " . cwd

:call delete("Xfind", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTESTtest73.in                                                                       [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xfind')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE345: Can't find file "" in path[?12l[?25h[?25l:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out"
<ild/vim-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test.out" [New] 0L, 0C written/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25hset path=./**
[?25l[?12l[?25h[?25l:[?12l[?25hfind ...[?25l[?5h[?5l[?12l[?25h
[?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 0L, 0C appended[?12l[?25h[?25l:[?12l[?25hclose
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       xec "w >>" . test_out

:" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwd

:call delete("Xfind", "rf")

:qa!ENDTEST/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in                    [?12l[?25h[?25l:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('in')
[?25l[?12l[?25h[?25l:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hcall mkdir('path')
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdirtest73.in                                                   [?12l[?25h[?25l:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File]Xfind/file.txt[?12l[?25h[?25l-- INSERT --Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File]in/file.txt[?12l[?25h[?25l-- INSERT --Jimmy Hoffa[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File]stuff.txt[?12l[?25h[?25l-- INSERT --Another Holy Grail[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written    [?12l[?25h[?25l:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File]path/file.txt[?12l[?25h[?25l-- INSERT --E.T.[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written    [?12l[?25h[?25l:[?12l[?25hset path=Xfind/**
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[?12l[?25h[?25l:[?12l[?25h" recursive location.
[?25l[?12l[?25h[?25l:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[?12l[?25h[?25l:[?12l[?25hexec "set path+=Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" 1L, 11CHoly Grailfile.txtf         [?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffain/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h...[?25lpath/file.txt[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25lin/file.txt[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[?12l[?25h[?25l:[?12l[?25h" is Xfind/in/file.txt.
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.
[?25l[?12l[?25h[?25l:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" .  test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfindin/stuff.txtf       /<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in[?12l[?25h[?25l:[?12l[?25hset path=,,
[?25l[?12l[?25h[?25l:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[?12l[?25h
[?25l"file.txt" 1L, 11CHoly Grailfile.txt.     [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[?12l[?25h[?25l:[?12l[?25h" Test shortening of
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    foo/y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[?12l[?25h[?25l:[?12l[?25h" of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    y/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/file.txt[?12l[?25h[?25l:[?12l[?25hcall mkdir('x')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('y')
[?25l[?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/x[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcall mkdir('bar')
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfindfile.txti                                                          [?12l[?25h[?25l:[?12l[?25h" We should now be in the Xfind directory
[?25l[?12l[?25h[?25l:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File]oo/x/bar/voyager.txt[?12l[?25h[?25l-- INSERT --Voyager 1[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File]y/[?12l[?25h[?25l-- INSERT --Voyager 2[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written    [?12l[?25h[?25l:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C1x/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25lx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25ly[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C2y/[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[?12l[?25h[?25l:[?12l[?25h" order of appearance):
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"    ./voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25h"    x/bar/voyager.txt
[?25l[?12l[?25h[?25l:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/fooy/bar/voyager.txt.     [?12l[?25h[?25l:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/ybar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25lx/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/x/bar/voyager.txt"
<m-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C1/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/x/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check the opposite too:
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foox/bar/voyager.txt/                                                              [?12l[?25h[?25l:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/xbar/voyager.txt   [?12l[?25h[?25l:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/x/barvoyager.txt.     [?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" 1L, 10C[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25hfind voyager...[?25l./voyager.txt[?5h[?5l[?12l[?25h...[?25ly/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/y/bar/voyager.txt"
<m-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C2/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y/bar/voyager.txt[?12l[?25h[?25l:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[?12l[?25h[?25l:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/in[?12l[?25h[?25l:[?12l[?25hfind file...[?25l./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" 1L, 12CJimmy Hoffafile.txti                                                                       [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfindin/file.txt[?12l[?25h[?25l:[?12l[?25hset path=./path
[?25l[?12l[?25h[?25l:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[?12l[?25h[?25l:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[?12l[?25h[?25l:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5CE.T.path/file.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that completion works when path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset path=.,,
[?25l[?12l[?25h[?25l:[?12l[?25h" Open Jimmy Hoffa file
[?25l[?12l[?25h[?25l:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12CJimmy Hoffafile.txte      [?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[?12l[?25h[?25l:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[?12l[?25h[?25l:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19CAnother Holy Grailstuff.txt[?12l[?25h[?25l:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 19C appended[?12l[?25h[?25l:[?12l[?25hq
[?25l:exec "cd " . cwd . "/Xfind/"

:set path=./path:" Open the file where Jimmy Hoffa is found:e in/file.txt:" Find the file containing 'E.T.' in the Xfind/in/path directory:find file      :exec "w >>" . test_out:":" Test that completion works when path=.,,:":set path=.,,:" Open Jimmy Hoffa file in/file.txtexec "w >>" . test_out" Search for the file containing Holy Grail in same directory as in/path.txt

:find stu       exec "w >>" . test_out

:qexec "cd " . cwdcall delete("Xfind", "rf")

:qa!ENDTEST[?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir[?12l[?25h[?25l:[?12l[?25hcall delete("Xfind", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test73 = test61; then \
#	  if diff test.out test73.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test73.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test73.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test75.failed test.ok test.out X* viminfo
cp test75.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test75.in" 41 lines, 1000 charactersTests for maparg().

Also test utf8 map with a 0x80 byte.



STARTTEST

:so small.vim

:so mbyte.vim

:set cpo-=<

:set encoding=utf8

:" Test maparg() with a string result

:map foo<C-V> is<F4>foo

:vnoremap <script> <buffer> <expr> <silent> bar isbar

:call append('$', maparg('foo<C-V>'))

:call append('$', string(maparg('foo<C-V>', '', 0, 1)))

:call append('$', string(maparg('bar', '', 0, 1)))

:map <buffer> <nowait> foo bar

:call append('$', string(maparg('foo', '', 0, 1)))

:"

:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for maparg().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 34 lines, 919 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo-=<
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:map abc x<char-114>x

:call append('$', maparg('abc'))

:map abc y<S-char-114>y

:call append('$', maparg('abc'))

:"

Go^[:"

:" Outside of the range, minimum

:inoremap <Char-0x1040> a

:execute "normal a\u1040\<Esc>"

:" Inside of the range, minimum

:inoremap <Char-0x103f> b

:execute "normal a\u103f\<Esc>"

:" Inside of the range, maximum

:inoremap <Char-0xf03f> c

:execute "normal a\uf03f\<Esc>"

:" Outside of the range, maximum

:inoremap <Char-0xf040> d

:execute "normal a\uf040\<Esc>"

:"

:/^eof/+1,$w! test.out

:qa!

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h" Test maparg() with a string result
[?25l[?12l[?25h[?25l:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc x<char-114>x
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25hmap abc y<S-char-114>y
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', maparg('abc'))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25leof

is<F4>foo

{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr':: 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}

{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''sid': 0, 'rhs': 'isbar', 'buffer': 1}

{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''sid': 0, 'rhs': 'bar', 'buffer': 1}

xrx

yRy[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Outside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x1040> a
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25la[?12l[?25h[?25l:[?12l[?25h" Inside of the range, minimum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0x103f> b
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25lb[?12l[?25h[?25l:[?12l[?25h" Inside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25lc[?12l[?25h[?25l:[?12l[?25h" Outside of the range, maximum
[?25l[?12l[?25h[?25l:[?12l[?25hinoremap <Char-0xf040> d
[?25l[?12l[?25h[?25l:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25ld[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^eof/+1,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 7 lines, 384 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test75 = test61; then \
#	  if diff test.out test75.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test75.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test77.failed test.ok test.out X* viminfo
cp test77.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test77.in" 30 lines, 719 charactersInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.



cksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST

:so small.vim

:if !executable("cksum")

: e! test.ok

: w! test.out

: qa!

:endif

:set fileformat=unix undolevels=-1

ggdG

:let i = 1

:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhileggdd

:w! Xtest[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 2 million lines with consecutive integers starting from 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 288 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:r !cksum Xtest

:s/\s/ /g

:set fileformat&

:.w! test.out

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("cksum")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25lcksum is part of POSIX and so should be available on most Unixes.

If it isn't available then the test will be skipped.



STARTTEST[?12l[?25h[?25l

:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[?12l[?25h[?25lInserts 2 million lines with consecutive integers starting from 1

(essentially, the output of GNU's seq 1 2000000), writes them to Xtest

and writes its cksum to test.out.



We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess

up the lines the checksum would differ.[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil


e[?25l12345678910111213141516171819202122[?12l[?25h[?25l

23[?12l[?25h

[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2000000 lines, 14888896 characters written[?12l[?25h[?25l:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[?25l1

2

3678979763 14888896 Xtest

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22[?12l[?25h[?25l:[?12l[?25hs/\s/ /g
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat&
[?25l[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 26 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test77 = test61; then \
#	  if diff test.out test77.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test77.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test79.failed test.ok test.out X* viminfo
cp test79.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test79.in" 255 lines, 3381 charactersTest for *sub-replace-special* and *sub-replace-expression* on :substitute.

Test for submatch() on :substitue.

Test for *:s%* on :substitute.

Test for :s replacing \n with  line break.



STARTTEST

:so small.vim

ENDTEST



Results of test71:



STARTTEST

:set magic

:set cpo&

/^TEST/

j:s/A/&&/

j:s/B/\&/

j:s/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/

j:s/D/d/

j:s/E/~/

j:s/F/\~/

j:s/G/\ugg/

j:s/H/\Uh\Eh/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 347 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_1:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25lA
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l&[?12l[?25h

[?25l:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set nomagic
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 351 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/L/^V^M/

j:s/M/\r/

j:s/N/\^V^M/

j:s/O/\n/

j:s/P/\b/

j:s/Q/\t/

j:s/R/\\/

j:s/S/\c/

j:s/T/^V^@/

j:s/U/\L\uuUu\l\EU/

j:s/V/\U\lVvV\u\Ev/

ENDTEST



TEST_2:

A

B

C123456789

D

E

F

G

H

I[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/&&/
[?25l&&
[?12l[?25h

[?25l:[?12l[?25hs/B/\&/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l987654321
[?12l[?25h

[?25l:[?12l[?25hs/D/d/
[?25ld[?12l[?25h

[?25l:[?12l[?25hs/E/~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/F/\~/
[?25l~[?12l[?25h

[?25l:[?12l[?25hs/G/\ugg/
[?25lg
[?12l[?25h

[?25l:[?12l[?25hs/H/\Uh\Eh/
[?25lh
[?12l[?25h

[?25l:[?12l[?25hs/I/\lII/
[?25liI
[?12l[?25h[?25l

J[?12l[?25h[?25l

:[?12l[?25hs/J/\LJ\EJ/
[?25ljJ
[?12l[?25h[?25l

K[?12l[?25h[?25l

:[?12l[?25hs/K/\Uk\ek/
[?25lk
[?12l[?25h[?25l

lLl[?12l[?25h[?25l

:[?12l[?25hs/L/^^M/
[?25l

l[?12l[?25h[?25l

mMm
[?12l[?25h[?25l

:[?12l[?25hs/M/\r/
[?25l

m[?12l[?25h[?25l

nNn
[?12l[?25h[?25l

:[?12l[?25hs/N/\^^M/
[?25l^Mn
[?12l[?25h[?25l

oOo[?12l[?25h[?25l

:[?12l[?25hs/O/\n/
[?25l^@o
[?12l[?25h[?25l

pPp[?12l[?25h[?25l

:[?12l[?25hs/P/\b/
[?25l^Hp
[?12l[?25h[?25l

qQq[?12l[?25h[?25l

:[?12l[?25hs/Q/\t/
[?25l       q
[?12l[?25h[?25l

rRr[?12l[?25h[?25l

:[?12l[?25hs/R/\\/
[?25l\
[?12l[?25h[?25l

sSs[?12l[?25h[?25l

:[?12l[?25hs/S/\c/
[?25lc
[?12l[?25h[?25l

tTt[?12l[?25h[?25l

:[?12l[?25hs/T/^^@/
[?25l^@t
[?12l[?25h[?25l

U[?12l[?25h[?25l

:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25luuU
[?12l[?25h[?25l

V[?12l[?25h[?25l

:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25lvVVv
[?12l[?25h[?25l/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 203 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\='\\'/

j:s/C/\='^V^M'/

j:s/D/\='\^V^M'/

j:s/E/\='\\^V^M'/

j:s/F/\='\r'/

j:s/G/\='^V^@'/

j:s/H/\='\^V^@'/

j:s/I/\='\\^V^@'/

j:s/J/\='\n'/

j:s/K/\="\r"/

j:s/L/\="\n"/

ENDTEST



TEST_3:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\='\'/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\='\\'/
[?25l\\b
[?12l[?25h

[?25l:[?12l[?25hs/C/\='^^M'/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\='\^^M'/
[?25l\d[?12l[?25h

[?25l





:[?12l[?25hs/E/\='\\^^M'/
[?25l\\

efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\='\r'/
[?25l\rf
[?12l[?25h[?25l

gGg[?12l[?25h[?25l

:[?12l[?25hs/G/\='^^@'/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\='\^^@'/
[?25l

\h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\='\\^^@'/
[?25l

\\

i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\='\n'/
[?25l\nj
[?12l[?25h[?25l

kKk[?12l[?25h[?25l

:[?12l[?25hs/K/\="\r"/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\="\n"/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 15 lines, 611 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTj:s/B/\=substitute(submatch(0), '.', '\\', '')/

j:s/C/\=substitute(submatch(0), '.', '^V^M', '')/

j:s/D/\=substitute(submatch(0), '.', '\^V^M', '')/

j:s/E/\=substitute(submatch(0), '.', '\\^V^M', '')/

j:s/F/\=substitute(submatch(0), '.', '\r', '')/

j:s/G/\=substitute(submatch(0), '.', '^V^@', '')/

j:s/H/\=substitute(submatch(0), '.', '\^V^@', '')/

j:s/I/\=substitute(submatch(0), '.', '\\^V^@', '')/

j:s/J/\=substitute(submatch(0), '.', '\n', '')/

j:s/K/\=substitute(submatch(0), '.', "\r", '')/

j:s/L/\=substitute(submatch(0), '.', "\n", '')/

ENDTEST



TEST_4:

aAa

bBb

cCc

dDd

eEe

fFf

gGg

hHh

iIi[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l\
[?12l[?25h

[?25l:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^^M', '')/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^^M', '')/
[?25ld[?12l[?25h

[?25l





:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^^M', '')/
[?25l\efFf[?12l[?25h

[?25l:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l

f[?12l[?25h[?25l

gGg
[?12l[?25h[?25l

:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^^@', '')/
[?25l

g[?12l[?25h[?25l

hHh
[?12l[?25h[?25l

:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^^@', '')/
[?25l

h[?12l[?25h[?25l

iIi
[?12l[?25h[?25l

:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^^@', '')/
[?25l

\i[?12l[?25h[?25l

jJj
[?12l[?25h[?25l

:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l

j[?12l[?25h[?25l

kKk
[?12l[?25h[?25l

:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l

k[?12l[?25h[?25l

lLl
[?12l[?25h[?25l

:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l

l[?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 5 lines, 445 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST/

j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .. submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch((3) . submatch(2) . submatch(1)/

j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subbmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subbmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25l

TEST_5:[?12l[?25h[?25l

A123456789
[?12l[?25h[?25l

:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .


submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(


3) . submatch(2) . submatch(1)/
[?25li\

i987654321[?12l[?25h[?25l

B123456789
[?12l[?25h[?25l

:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub


match(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub


match(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25li

j[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/^STARTTEST
STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 80 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST/^TEST/

:set cpo+=/

j:s/A/a/

j:s/B/%/

:set cpo-=/

j:s/C/c/

j:s/D/%/

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST/
[?25lTEST_6:

A

B[?12l[?25h[?25l





:[?12l[?25hset cpo+=/
[?25l[?12l[?25h

[?25l:[?12l[?25hs/A/a/
[?25la[?12l[?25h

[?25l:[?12l[?25hs/B/%/
[?25la[?12l[?25h[?25l:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25lC

D[?12l[?25h[?25l





:[?12l[?25hs/C/c/
[?25lc[?12l[?25h

[?25l:[?12l[?25hs/D/%/
[?25l%[?12l[?25h[?25l/^STARTTEST


STARTTEST[?12l[?25h[?25l

:set magic&
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 11 lines, 303 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST:set cpo&

/^TEST_7/

j:s/A./\=submatch(0)/

j:s/B./\=submatch(0)/

j:s/C./\=strtrans(string(submatch(0, 1)))/

j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/

j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/

/^Q$

:s/Q[^\n]Q/\=submatch(0)."foobar"/

:" Avoid :s error breaks dotest map on Windows.

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l/[?12l[?25h^TEST_7/
[?25l

TEST_7:[?12l[?25h[?25l

A^MA
[?12l[?25h[?25l

:[?12l[?25hs/A./\=submatch(0)/
[?25l

A[?12l[?25h[?25l

B^@B
[?12l[?25h[?25l

:[?12l[?25hs/B./\=submatch(0)/
[?25l

B[?12l[?25h[?25l

C^@C
[?12l[?25h[?25l

:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l['C^@']C
[?12l[?25h[?25l

D^@[?12l[?25h[?25l

:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l['D^@', 'D']
[?12l[?25h[?25l

E^@[?12l[?25h[?25l

:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l/[?12l[?25h^Q$
[?25l

Q[?12l[?25h[?25l

:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25lE486: Pattern not found: Q[^\n]Q[?12l[?25h[?25l:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[?12l[?25h[?25l/^STARTTEST
Q



STARTTEST[?12l[?25h[?25l

:function! TitleString()
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 177 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTlet check = 'foo' =~ 'bar'

  return ""

endfunction

:set titlestring=%{TitleString()}

:/^test_one/s/.*/\="foo\nbar"/

:/^test_two/s/.*/\="foo\nbar"/c

y

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hfunction! TitleString()
[?25l

:  [?12l[?25h  let check = 'foo' =~ 'bar'


[?25l:  [?12l[?25h  return ""


[?25l:  [?12l[?25hendfunction
[?25lTEST_7:

A[?12l[?25h[?25l

:[?12l[?25hset titlestring=%{TitleString()}
[?25l[?12l[?25h[?25l:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25lfoo

bar[?12l[?25h[?25l

:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l

test_tworeplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l

foobar
[?12l[?25h[?25l

[?12l[?25h[?25l

/^STARTTEST


STARTTEST[?12l[?25h[?25l

:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 3 lines, 72 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTEST[?12l[?25h[?25l

:1;/^Results/,$wq! test.out[?12l[?25h
[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer linesaa

c

%TEST_7:AABB['C^@']C['D^@', 'D']

['E^@', '^@', '^@', '^@', '^@E']

Q

Qfoo

bar

foobar[?12l[?25h[?25l:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [New File] 134 lines, 574 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test79 = test61; then \
#	  if diff test.out test79.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test79.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test79.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test80.failed test.ok test.out X* viminfo
cp test80.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test80.in" 201 lines, 6298 charactersTest for *sub-replace-special* and *sub-replace-expression* on substitute().

Test for submatch() on substitute().

Test for *:s%* on :substitute.



STARTTEST

:so small.vim

ENDTEST



TEST_1:



STARTTEST

:set magic

:set cpo&

:$put =\"\n\nTEST_1:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

:$put =substitute('F', 'F', '\~', '')

:$put =substitute('G', 'G', '\ugg', '')

:$put =substitute('H', 'H', '\Uh\Eh', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for *sub-replace-special* and *sub-replace-expression* on substitute().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1 line, 14 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1142 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25l:let y = substitute('123', '\zs.', 'a', 'g')| $put =y.\zs\ze', 'a', 'g') .', 'a', 'g').\ze1\|\ze', 'a', 'g')zs\|[23]', 'a', 'g')

/^TEST_11ENDTESTTEST_11:STARTTEST

:/^Results/,$wq! test.out

ENDTESTResults of test72:TEST_1:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l

x^Mx[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l

YyyY[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l

zZZz[?12l[?25h[?25l

/[?12l[?25h^TEST_2
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('xXx', 'X', \"\r\", '')

:$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')

:$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')

/^TEST_2

ENDTEST



TEST_2:



STARTTEST

:set nomagic

:set cpo&

:$put =\"\n\nTEST_2:\"

:$put =substitute('A', 'A', '&&', '')

:$put =substitute('B', 'B', '\&', '')

:$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\0\9\8\7\6\5\4\3\2\1', '')

:$put =substitute('D', 'D', 'd', '')

:$put =substitute('E', 'E', '~', '')

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 29 lines, 1144 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =substitute('pPp', 'P', '\b', '')

:$put =substitute('qQq', 'Q', '\t', '')

:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

u

u

v^Hv

w\w

x^Mx

YyyY

zZZz





TEST_2:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l

AA[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l

&[?12l[?25h[?25l

:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\0\9\8\7\6\5\4\3\2\1', '')
[?25lKk

l^Ml

mm

nn

op^Hp

q       q

r\rscs

uv^Hv

w\wx^Mx

YyyY

zZZzTEST_2:

AA&C123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l

d[?12l[?25h[?25l

:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l

~[?12l[?25h[?25l

:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l

Gg[?12l[?25h[?25l

:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l

Hh[?12l[?25h[?25l

:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l

iI[?12l[?25h[?25l

:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l

jJ[?12l[?25h[?25l

:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l

Kk[?12l[?25h[?25l

:[?12l[?25h$put =substitute('lLl', 'L', '^^M', '')
[?25l

l^Ml[?12l[?25h[?25l

:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l

m^Mm[?12l[?25h[?25l

:[?12l[?25h$put =substitute('nNn', 'N', '\^^M', '')
[?25l

n^Mn[?12l[?25h[?25l

:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25lo

o[?12l[?25h[?25l

:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l

p^Hp[?12l[?25h[?25l

:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l

qq[?12l[?25h[?25l

:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l

r\r[?12l[?25h[?25l

:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l

scs[?12l[?25h[?25l

:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l

t^Mt[?12l[?25h[?25l

:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25lu

u[?12l[?25h[?25l

:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l

v^Hv[?12l[?25h[?25l

:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l

w\w[?12l[?25h[?25l

:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l

XxxX[?12l[?25h[?25l

:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l

yYYy[?12l[?25h[?25l

/[?12l[?25h^TEST_3
[?25lsearch hit BOTTOM, continuing at TOP:$put =substitute('rRr', 'R', '\\', '')

:$put =substitute('sSs', 'S', '\c', '')

:$put =substitute('tTt', 'T', \"\r\", '')

:$put =substitute('uUu', 'U', \"\n\", '')

:$put =substitute('vVv', 'V', \"\b\", '')

:$put =substitute('wWw', 'W', \"\\\", '')

:$put =substitute('X', 'X', '\L\uxXx\l\EX', '')

:$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')

/^TEST_3

ENDTEST



TEST_3:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_3:\"

:let y = substitute('aAa', 'A', '\="\\"', '')| $put =y

:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 642 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more linesHh

iI

jJ

Kk

l^Ml

m^Mm

n^Mn

o

o

p^Hp

qq

r\r

scs

t^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '')           | $put =y
[?25l

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '')         | $put =y
[?25l

b\\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\="^^M"', '')         | $put =y
[?25l

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^^M"', '')       | $put =y
[?25l

d\^Md[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^^M"', '')     | $put =y
[?25l

e\\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '')          | $put =y
[?25l

f\rf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '')          | $put =y
[?25l

j\nj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '')           | $put =y
[?25l

k^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '')           | $put =y
[?25ll

l[?12l[?25h[?25l

/[?12l[?25h^TEST_4
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('bBb', 'B', '\="\\\\"', '')| $put =y

:let y = substitute('cCc', 'C', '\="^V^M"', '')| $put =y

:let y = substitute('dDd', 'D', '\="\\^V^M"', '')| $put =y

:let y = substitute('eEe', 'E', '\="\\\\^V^M"', '')     | $put =y

:let y = substitute('fFf', 'F', '\="\\r"', '')| $put =y

:let y = substitute('jJj', 'J', '\="\\n"', '')| $put =y

:let y = substitute('kKk', 'K', '\="\r"', '')| $put =y

:let y = substitute('lLl', 'L', '\="\n"', '')| $put =y

/^TEST_4

ENDTEST



TEST_4:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_4:\"

:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')        | $put =y

:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', ''')     | $put =y

:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^V^M", "")', ''')     | $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 13 lines, 912 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^V^M", "")',  '')   | $put =y

:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^V^M", "")'', '') | $put =y

:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))      | $put =y

:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more linest^Mt

u

u

v^Hv

w\w

XxxX

yYYy





TEST_3:

a\a

b\\b

c^Mc

d\^Md

e\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')


      | $put =y
[?25lu



v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '


')     | $put =y
[?25lu

v^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^^M", "")', '')


    | $put =y
[?25lv^Hv

w\wXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^^M", "")', '


')   | $put =y
[?25lw\w

XxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^^M", "")',


'') | $put =y
[?25lXxxX

yYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''


)      | $put =y
[?25lyYYyTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mf[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''


)      | $put =y
[?25lTEST_3:

a\a

b\\bc^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jj[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')


      | $put =y
[?25lTEST_3:

a\ab\\b

c^Mc

d\^Md

e\\^Me

f\rfj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')


      | $put =y
[?25lb\\b

c^Mc

d\^Md

e\\^Me

f\rfj\njk^Mk

llTEST_4:

a\a

b\bc^Mc

d^Md

e\^Me

ff

jjk^Mk

l

l[?12l[?25h[?25l

/[?12l[?25h^TEST_5
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))      | $put =y

:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')        | $put =y

:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')        | $put =y

/^TEST_5

ENDTEST



TEST_5:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 543 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more linese\\^Me

f\rf

j\nj

k^Mk

l

l





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm


atch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25lf\rf

j\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321[?12l[?25h[?25l

:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)


', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su


bmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su


bmatch(1, 1)])', '')
[?25lj\nj

k^Mk

lTEST_4:

a\ab\b

c^Mc

dd

e\^Me

f^Mfjk^Mk

lTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][?12l[?25h[?25l

/[?12l[?25h^TEST_6
[?25lsearch hit BOTTOM, continuing at TOP:$put =\"\n\nTEST_5:\"

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')

:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)'', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subbmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subbmatch(1, 1)])', '')

/^TEST_6

ENDTEST



TEST_6:



STARTTEST

:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25lTEST_7:[?12l[?25h[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more linesl





TEST_4:

a\a

b\b

c^Mc

d^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

3 more lines[?12l[?25h[?25l:[?12l[?25hset cpo+=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l

%[?12l[?25h[?25l

:[?12l[?25hset cpo-=/
[?25l[?12l[?25h[?25l:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l

c[?12l[?25h[?25l

:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l

%[?12l[?25h[?25l

/[?12l[?25h^TEST_7
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:$put =\"\n\nTEST_6:\"

:set cpo+=/

:$put =substitute('A', 'A', 'a', '')

:$put =substitute('B', 'B', '%', '')

:set cpo-=/

:$put =substitute('C', 'C', 'c', '')

:$put =substitute('D', 'D', '%', '')

/^TEST_7

ENDTEST



TEST_7:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 9 lines, 313 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more linesd^Md

e\^Me

f^Mf

j

j

k^Mk

l

l





TEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =substitute('A^^MA', 'A.', '\=submatch(0)', '')
[?25l

A^MA[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25lB

B[?12l[?25h[?25l

:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l['B

']B[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l

-abab[?12l[?25h[?25l

:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l

c-cbcbc[?12l[?25h[?25l

/[?12l[?25h^TEST_8
[?25lsearch hit BOTTOM, continuing at TOP:set magic&

:set cpo&

:$put =\"\n\nTEST_7:\"

:$put =substitute('A^V^MA', 'A.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')

:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')

:$put =substitute('-bb', '\zeb', 'a', 'g')

:$put =substitute('-bb', '\ze', 'c', 'g')

/^TEST_8

ENDTEST



TEST_8:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 10 lines, 186 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTyy/^TEST_9:

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more linesTEST_5:

A123456789987654321

[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]





TEST_6:

a

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put =',,X'
[?25l

,,X[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25lN,,NX
[?12l[?25h[?25l:[?12l[?25h$put =',,Y'
[?25l

,,Y[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,NY
[?12l[?25h[?25l

:[?12l[?25h$put =',,Z'
[?25l

,,Z[?12l[?25h[?25l

:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l,

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lN,,Z

replace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l,NZ
[?12l[?25h[?25l

/[?12l[?25h^TEST_9:
[?25lsearch hit BOTTOM, continuing at TOP:set cpo&

:$put =\"\n\nTEST_8:\"

:$put =',,X'

:s/\(^\|,\)\ze\(,\|X\)/\1N/g

:$put =',,Y'

:s/\(^\|,\)\ze\(,\|Y\)/\1N/gc

a:$put =',,Z'

:s/\(^\|,\)\ze\(,\|Z\)/\1N/gc

yy/^TEST_9:

ENDTEST



TEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 6 lines, 82 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more linesa

%

c

%





TEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

3 more lines[?12l[?25h[?25l:[?12l[?25h$put ='xxx'
[?25l

xxx[?12l[?25h[?25l

:[?12l[?25hs/x/X/gc
[?25lx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lXx

replace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25lx[?12l[?25h[?25l

/[?12l[?25h^TEST_10:
[?25lsearch hit BOTTOM, continuing at TOPTEST_9:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_9:\"

:$put ='xxx'

:s/x/X/gc

yyq/^TEST_10:

ENDTEST



TEST_10:



STARTTEST

:set magic&

:set cpo&

:$put =\"\n\nTEST_10:\"

:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 12 lines, 584 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset magic&
[?25l[?12l[?25h[?25l:[?12l[?25hset cpo&
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more linesTEST_7:

A^MA

B

B

['B

']B

-abab

c-cbcbc





TEST_8:

N,,NX

N,,NY

N,,NZ





TEST_9:

XXx





TEST_10:

3 more lines[?12l[?25h[?25l:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g')            | $put =y
[?25l

1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g')             | $put =y
[?25l

a1a2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g')            | $put =y
[?25l

a1a2a3[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g')            | $put =y
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g')          | $put =y
[?25l

aa2a3a[?12l[?25h[?25l

:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y
[?25l

1aaa[?12l[?25h[?25l

/[?12l[?25h^TEST_11
[?25lsearch hit BOTTOM, continuing at TOP:let y = substitute('123', '\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\zs.', 'a', 'g')| $put =y

:let y = substitute('123', '.\zs', 'a', 'g')| $put =y

:let y = substitute('123', '\ze', 'a', 'g')| $put =y

:let y = substitute('123', '\ze.', 'a', 'g')| $put =y

:let y = substitute('123', '.\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\|\ze', 'a', 'g')| $put =y

:let y = substitute('123', '1\zs\|[23]', 'a', 'g')      | $put =y

/^TEST_11

ENDTEST



TEST_11:



STARTTEST

:/^Results/,$wq! test.out

ENDTEST



Results of test72:





TEST_1:

AA

&

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 26 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [New File] 131 lines, 617 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test80 = test61; then \
#	  if diff test.out test80.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test80.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test80.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test82.failed test.ok test.out X* viminfo
cp test82.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test82.in" 103 lines, 3166 charactersTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 97 lines, 3055 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("multi_byte")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor[?12l[?25h[?25l





:[?12l[?25hset enc=utf8
[?25l:call LT('\xc3', '\xc3\x83')

:call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')

:for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.22X', n)) | endfor

:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ\xc2\x%.2XuVw', n)) | endfor

:call append(0, printf('%d checks passed', b:passed))

:"

:" test that g~ap changes one paragraph only.

:new

iabcd



defg^[gg0g~ap:let lns = getline(1,3)

:q!

:call append(line('$'), lns)

:"

:wq! test.out

ENDTEST



~                                                                               ~                                                                               [?12l[?25h[?25lTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)

Also test "g~ap".



STARTTEST

:so small.vim

:if !has("multi_byte")

: e! test.ok

: w! test.out

: qa!

:endif

:set enc=utf8

ggdG:

:

:function! Ch(a, op, b, expected)

:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected

:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, aa:b, a:expected))

:  else

:    let b:passed += 1

:  endif

:endfunction

:

:function! Chk(a, b, result)[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Ch(a, op, b, expected)
[?25l

:  [?12l[?25h:  if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected


[?25l:    [?12l[?25h:    call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a


:op, a:b, a:expected))


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    let b:passed += 1


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Chk(a, b, result)
[?25l

:  [?12l[?25h:  if a:result == 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  elseif a:result > 0


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 1)


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    call Ch(a:a, '==?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '!=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '<=?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>=?', a:b, 0)


[?25l:    [?12l[?25h:    call Ch(a:a, '<?', a:b, 1)


[?25l:    [?12l[?25h:    call Ch(a:a, '>?', a:b, 0)


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Check(a, b, result)
[?25l

:  [?12l[?25h:  call Chk(a:a, a:b, a:result)


[?25l:  [?12l[?25h:  call Chk(a:b, a:a, -a:result)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! LT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, -1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GT(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 1)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! EQ(a, b)
[?25l

:  [?12l[?25h:  call Check(a:a, a:b, 0)


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet b:passed=0
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('', '')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('', 'a')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('abc', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('AB', 'abc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('ab', 'aBc')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\


xd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\


xd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x


aakk\xe2\x84\xa6')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def')  " case folding stops at the first bad cha


racter
[?25l[?12l[?25h[?25l:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a')  " FF3A (upper), FF5A (lower)
[?25l[?12l[?25h[?25l:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff')  " first string is ok and equals \xef\


xbd\x9a after folding, second string is illegal and was left unchanged, then the


strings were bytewise compared
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[?12l[?25h[?25l:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.


2X', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy


Z\xc2\x%.2XuVw', n)) | endfor
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l3732 checks passed[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       3732 checks passedtest82.in [+]                                                                   [?12l[?25h[?25labcddefg[+][?12l[?25h[?25lABCD
[?12l[?25h[?25l:[?12l[?25hlet lns = getline(1,3)
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25l3732 checks passed



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), lns)
[?25lABCDdefg[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 5 lines, 31 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test82 = test61; then \
#	  if diff test.out test82.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test82.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test82.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test84.failed test.ok test.out X* viminfo
cp test84.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test84.in" 35 lines, 786 charactersTests for curswant not changing when setting an option



STARTTEST

:so small.vim

:/^start target options$/+1,/^end target options$/-1 yank

:let target_option_names = split(@0)

:function TestCurswant(option_name)

:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction

:

:new

:put =['1234567890', '12345']

:1 delete _

:let result = []

:for option_name in target_option_names

:  call add(result, TestCurswant(option_name))

:endfor

:

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for curswant not changing when setting an option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 637 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _

:write test.out

:

:qall!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[?12l[?25h[?25l:[?12l[?25hlet target_option_names = split(@0)
[?25l[?12l[?25h[?25l:[?12l[?25hfunction TestCurswant(option_name)
[?25l

:  [?12l[?25h:  normal! ggf8j


[?25l:  [?12l[?25h:  let curswant_before = winsaveview().curswant


[?25l:  [?12l[?25h:  execute 'let' '&'.a:option_name '=' '&'.a:option_name


[?25l:  [?12l[?25h:  let curswant_after = winsaveview().curswant


[?25l:  [?12l[?25h:  return [a:option_name, curswant_before, curswant_after]


[?25l:  [?12l[?25h:endfunction
[?25l:  normal! ggf8j

:  let curswant_before = winsaveview().curswant

:  execute 'let' '&'.a:option_name '=' '&'.a:option_name

:  let curswant_after = winsaveview().curswant

:  return [a:option_name, curswant_before, curswant_after]

:endfunction[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       endfornew

:put =map(copy(result), 'join(v:val, '' '')')

:1 delete _write test.outqall!

ENDTESTtest84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =['1234567890', '12345']
[?25l123456789012345[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hlet result = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor option_name in target_option_names
[?25l

:  [?12l[?25h:  call add(result, TestCurswant(option_name))


[?25l:  [?12l[?25h:endfor
[?25l1234567890

12345[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       1234567890

12345

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   :1 delete _

:write test.out

:

:qall!

ENDTEST



test84.in                                                                       [?12l[?25h[?25l:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more linestabstop 7 4timeoutlen 7 7ttimeoutlen 7 7[+][?12l[?25h[?25l:[?12l[?25h1 delete _
[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hwrite test.out
[?25l"test.out" [New File] 3 lines, 43 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hqall!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test84 = test61; then \
#	  if diff test.out test84.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test84.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test88.failed test.ok test.out X* viminfo
cp test88.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test88.in" 99 lines, 1449 charactersvim: set ft=vim



Tests for correct display (cursor column position) with +conceal and

tabulators.



STARTTEST

:so small.vim

:if !has('conceal')

   e! test.ok

   wq! test.out

:endif

:" Conceal settings.

:set conceallevel=2

:set concealcursor=nc

:syntax match test /|/ conceal

:" Save current cursor position. Only works in <expr> mode, can't be used

:" with :normal because it moves the cursor to the command line. Thanks to ZyX

:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.

:let positions = []

:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"

:" Start test.

/^start:

:normal ztj[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lvim: set ft=vim[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 82 lines, 1216 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:normal W

GGk

:normal W

GGk

:normal W

GGk

:normal $

GGk

:" Display result.

:call append('$', 'end:')

:call append('$', positions)

:/^end/,$wq! test.out

ENDTEST



start:

.concealed.     text

|concealed|     text.concealed.     text|concealed|     text



.a.     .b.     .c.     .d.

|a|     |b|     |c|     |d|[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('conceal')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:normal W

GGk

:normal W[?12l[?25h[?25l:[?12l[?25h" Conceal settings.
[?25l[?12l[?25h[?25l:[?12l[?25hset conceallevel=2
[?25l[?12l[?25h[?25l:[?12l[?25hset concealcursor=nc
[?25l[?12l[?25h[?25l:[?12l[?25hsyntax match test /|/ conceal
[?25lconcealed  concealed  





a       b       c       d[?12l[?25h[?25l:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[?12l[?25h[?25l:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[?12l[?25h[?25l:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[?12l[?25h[?25l:[?12l[?25hlet positions = []
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[?12l[?25h[?25l:[?12l[?25h" Start test.
[?25l[?12l[?25h[?25l/[?12l[?25h^start:
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ztj
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:let positions += ['2:1']
[?12l[?25h[?25l:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[?12l[?25h[?25l:[?12l[?25h" lines.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['2:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['2:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['3:1']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['3:17']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['3:20']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['5:8']
[?12l[?25h[?25l:[?12l[?25h" Same for next test block.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['5:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['5:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['6:8']
[?12l[?25h[?25l:[?12l[?25hnormal ft
[?25l[?12l[?25h[?25l:let positions += ['6:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['6:28']
[?12l[?25h[?25l:[?12l[?25hnormal 0j0j
[?25l[?12l[?25h[?25l:let positions += ['8:1']
[?12l[?25h[?25l:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['8:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['8:27']
[?12l[?25h[?25l:[?12l[?25hnormal 0j
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset lbr
[?25l[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25hset list listchars=tab:>-
[?25l>------



>------->----

>------->------>----.b.>----.c.>----

a>------b>------c>------[?12l[?25h[?25l:[?12l[?25hnormal 0
[?25l[?12l[?25h[?25l:let positions += ['9:1']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:9']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:17']
[?12l[?25h[?25l:[?12l[?25hnormal W
[?25l[?12l[?25h[?25l:let positions += ['9:25']
[?12l[?25h[?25l:[?12l[?25hnormal $
[?25l[?12l[?25h[?25l:let positions += ['9:26']
[?12l[?25h[?25l:[?12l[?25h" Display result.
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', 'end:')
[?25lend:[?12l[?25h[?25l:[?12l[?25hcall append('$', positions)
[?25l2:12:172:203:13:173:205:85:255:286:86:256:288:1[?12l[?25h[?25l:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [New File] 29 lines, 135 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test88 = test61; then \
#	  if diff test.out test88.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test88.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test88.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test90.failed test.ok test.out X* viminfo
cp test90.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test90.in" 53 lines, 1204 charactersTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :



STARTTEST

:so small.vim

:if !has('cryptv') || !exists('*sha256')

   e! test.ok

   wq! test.out

:endif

:"

:let testcase='test for empty string: '

:if sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522b855'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for 1 char: '

:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afeee48bb'

: let res='ok'

:else[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for sha256() function.    vim: set ft=vim et ts=2 sw=2 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 47 lines, 1114 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:let testcase='test for contains non-ascii char: '

:if sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00b8d27db8d5feaa813953'

: let res='ok'

:else

: let res='ng'

:endif

:$put =testcase.res

:"

:/^start:/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l

:  [?12l[?25h   e! test.ok


[?25l:  [?12l[?25h   wq! test.out


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc3[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for empty string: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785


2b855'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:"

:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25l

test for empty string: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 1 char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af


ee48bb'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:let testcase='test for contains meta char: '

:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for 1 char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61


f20015ad'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc39ed110ca776'

: let res='ok'

:else[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25ltest for 3 chars: ok

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c


c39ed110ca776'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l



:[?12l[?25h$put =testcase.res
[?25ltest for contains meta char: ok[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[?12l[?25h[?25l:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb


0b8d27db8d5feaa813953'
[?25l:  [?12l[?25h: let res='ok'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: let res='ng'


[?25l:  [?12l[?25h:endif
[?25l: let res='ok'

:else

: let res='ng'

:endif[?12l[?25h[?25l

:[?12l[?25h$put =testcase.res
[?25l

test for contains non-ascii char: ok[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 6 lines, 143 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test90 = test61; then \
#	  if diff test.out test90.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test90.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test90.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test91.failed test.ok test.out X* viminfo
cp test91.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test91.in" 116 lines, 3240 charactersTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().

vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Use strings to test for memory leaks.

:" First, check that in an empty window, gettabvar() returns the correct value

:let t:testvar='abcd'

:$put =string(gettabvar(1,'testvar'))

:$put =string(gettabvar(1,'testvar'))

:" Test for getbufvar()

:let b:var_num = '1234'

:let def_num = '5678'

:$put =string(getbufvar(1, 'var_num'))

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))

:unlet b:var_num

:$put =string(getbufvar(1, 'var_num', def_num))

:$put =string(getbufvar(1, ''))

:$put =string(getbufvar(1, '', def_num))[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 109 lines, 3127 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:tabnext

:3wincmd w

:unlet w:var_dict

:tabrewind

:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))

:$put =string(gettabwinvar(2, 3, ''))

:$put =string(gettabwinvar(2, 3, '', def_dict))

:$put =string(gettabwinvar(2, 9, ''))

:$put =string(gettabwinvar(2, 9, '', def_dict))

:$put =string(gettabwinvar(9, 3, ''))

:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict

:$put =string(gettabwinvar(2, 3, '&nux'))

:$put =string(gettabwinvar(2, 3, '&nux', 1))

:tabonly

:"

:/^start/,$wq! test.out

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Use strings to test for memory leaks.
[?25l[?12l[?25h[?25l:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:testvar='abcd'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l

'abcd'[?12l[?25h[?25l

:[?12l[?25h" Test for getbufvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:var_num = '1234'
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_num = '5678'
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'1234'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{'var_num': '1234'}[?12l[?25h[?25l

:[?12l[?25hunlet b:var_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l

'5678'[?12l[?25h[?25l

:[?12l[?25hunlet def_num
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Open new window with forced option values
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       {'var_num': '1234'}



'5678'{}''

'5678'

0test91.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[?12l[?25h[?25l:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[?12l[?25h[?25l:[?12l[?25hclose
[?25l:$put =string(gettabwinvar(9, 3, '', def_dict))

:unlet def_dict:$put =string(gettabwinvar(2, 3, '&nux')):$put =string(gettabwinvar(2, 3, '&nux', 1)):tabonly:":/^start/,$wq! test.outENDTESTstart:'abcd''abcd''1234'{'var_num': '1234'}

'5678'



{}

'''5678'



0[?12l[?25h[?25l:[?12l[?25h$put =otherff
[?25l

dos[?12l[?25h[?25l

:[?12l[?25h$put =string(otherbin)
[?25l

1[?12l[?25h[?25l

:[?12l[?25h$put =otherfenc
[?25l

iso-8859-2[?12l[?25h[?25l

:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[?12l[?25h[?25l:[?12l[?25h" test for getwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25hlet w:var_str = "Dance"
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_str = "Chance"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Dance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{'var_str': 'Dance'}[?12l[?25h[?25l

:[?12l[?25hunlet w:var_str
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l

'Chance'[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l

0[?12l[?25h[?25l

:[?12l[?25h$put =string(getwinvar(1, '&nu',  1))
[?25l

0[?12l[?25h[?25l

:[?12l[?25hunlet def_str
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[?12l[?25h[?25l:[?12l[?25hlet t:other = 777
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X{'var_num': '1234'}

'5678'

{}

{}

''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list'))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[1, 2, 3][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l

{'var_list': [1, 2, 3], 'other': 777}[?12l[?25h[?25l

:[?12l[?25htablast
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hunlet t:var_list
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  [No Name]  [No Name]                                              X''

'5678'

0

0

dos

1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l

[4, 5, 6, 7][?12l[?25h[?25l

:[?12l[?25hunlet def_list
[?25l[?12l[?25h[?25l:[?12l[?25htabonly
[?25ldos[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" test for gettabwinvar()
[?25l[?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]                                                         X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabnew
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25htabprev
[?25l + test91.in  [No Name]  [No Name]                                              X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hsplit
[?25l2N o[No Name]  [No Name]  X[No Name]                                                                       [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hsplit
[?25l + test91.in  3 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                                                        [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25hvert split
[?25l4  X||||||~~~~~[No Name]                              [?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name]                                 [No Name]                               X[?12l[?25h[?25l:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[?12l[?25h[?25l:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd b
[?25l[No Name]                               [No Name]                                                                        X[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X1

iso-8859-2

'Dance'

'Dance'

{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict'))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict': 'tabwin'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{'var_dict': {'dict': 'tabwin'}}[?12l[?25h[?25l

:[?12l[?25htabnext
[?25l + test91.in  4 [No Name]  [No Name]                                            X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ||||||~                                       

~                                       

~                                       

~                                       

~                                       

[No Name]                                ~                                      ~                                      ~                                      ~                                      ~                                      [No Name]                              ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                              [No Name]                                                                         X[?12l[?25h[?25l:[?12l[?25hunlet w:var_dict
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l + test91.in  4 [No Name]  [No Name]                                            X{'var_str': 'Dance'}

{'var_str': 'Dance'}

'Chance'

{}

{}

''

'Chance'

0

0

[1, 2, 3]

[1, 2, 3]

{'var_list': [1, 2, 3], 'other': 777}

{'var_list': [1, 2, 3], 'other': 777}

[4, 5, 6, 7]

''

[4, 5, 6, 7]

''

[4, 5, 6, 7]

{'dict': 'tabwin'}

{'dict': 'tabwin'}

{'var_dict': {'dict': 'tabwin'}}

{'var_dict': {'dict': 'tabwin'}}
[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l

{}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l

{'dict2': 'newval'}[?12l[?25h[?25l

:[?12l[?25hunlet def_dict
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l

''[?12l[?25h[?25l

:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l

1[?12l[?25h[?25l

:[?12l[?25htabonly
[?25l0[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 50 lines, 530 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test91 = test61; then \
#	  if diff test.out test91.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test91.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test91.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test94.failed test.ok test.out X* viminfo
cp test94.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test94.in" 256 lines, 4824 charactersTest for Visual mode and operators



Tests for the two kinds of operations: Those executed with Visual mode

followed by an operator and those executed via Operator-pending mode. Also

part of the test are mappings, counts, and repetition with the . command.



Test cases:

- Visual modes (v V CTRL-V) followed by an operator; count; repeating

- Visual mode maps; count; repeating

  - Simple

  - With an Ex command (custom text object)

- Operator-pending mode maps

  - Simple

  - With Ex command moving the cursor

  - With Ex command and Visual selection (custom text object)

- Patch 7.3.879: Properly abort Ex command in Operator-pending mode



STARTTEST

:so small.vim

:set enc=utf-8 nocp viminfo+=nviminfo

:

:" User functions

:function MoveToCap()[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Visual mode and operators[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 211 lines, 3837 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '

:set selection=exclusive

0v3l^[gvcxxx^[

:$put ='---'

:/^start:/+2,$w! test.out

:q!

ENDTEST



start:



apple banana cherry



line 1 line 1

line 2 line 2

line 3 line 3

line 4 line 4

line 5 line 5

line 6 line 6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" User functions
[?25l[?12l[?25h[?25l:[?12l[?25hfunction MoveToCap()
[?25l

:  [?12l[?25h:  call search('\u', 'W')


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'[?12l[?25h[?25l:[?12l[?25hfunction SelectInCaps()
[?25l

:  [?12l[?25h:  let [line1, col1] = searchpos('\u', 'bcnW')


[?25l:  [?12l[?25h:  let [line2, col2] = searchpos('.\u', 'nW')


[?25l:  [?12l[?25h:  call setpos("'<", [0, line1, col1, 0])


[?25l:  [?12l[?25h:  call setpos("'>", [0, line2, col2, 0])


[?25l:  [?12l[?25h:  normal! gv


[?25l:  [?12l[?25h:endfunction
[?25lkv3lyjv3lpgvcxxx^[

:$put ='---'

:

:$put =''

:$put ='gv in exclusive select mode without operation'

:$put ='zzz '[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual modes followed by operator
[?25l[?12l[?25h[?25l/[?12l[?25h^apple
[?25l[?12l[?25ha[?25l-- VISUAL --[?12l[?25h[?25lp[?12l[?25h[?25lle banana cherry[?12l[?25h[?25l banana cherry[?12l[?25h [?25lbanan-- VISUAL --[?12l[?25h[?25l
a  cherry[?12l[?25h[?25ly[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^line 1
[?25l[?12l[?25h[?25lline 1 line 1 -- VISUAL LINE --[?12l[?25h[?25lINSERT --Nnewline[?12l[?25h[?25l-- INSERT --newline[?12l[?25h[?25l
line 3 line 3 

line 4 line 4 





-- VISUAL LINE --[?12l[?25h[?25lline 5 line 5line 6 line 6xxxxxxxxxxxxx[?12l[?25h[?25lxxxxxxxxxxxxx

xxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^xxxx
[?25l[?12l[?25h[?25l





-- VISUAL BLOCK --[?12l[?25h[?25lx

[?12l[?25h[?25lx

x[?12l[?25h[?25lINSERT --O  

  [?12l[?25h [?25l





-- INSERT --  

    [?12l[?25h [?25l

xxxx

    xxxx

xxxxxxxx

xxxxxxxxxxxxx

-- VISUAL BLOCK --[?12l[?25h[?25l

-- INSERT --O----

    ----

xxxx----

xxxx----[?12l[?25h-[?25l-- INSERT ------------------[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[?12l[?25h[?25l:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Kiwi
[?25lKiwiRaspberryDateWatermelonPeach[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25l/\u/s-1
Kiw[?12l[?25h[?25l

-- INSERT --NoRaspberryDateWatermelonPeach[?12l[?25ho[?25l

-- INSERT --NoberryDateWatermelonPeach[?12l[?25hoberry[?25lDateWat

-- VISUAL --[?12l[?25h[?25lrmelonPeach[?12l[?25h[?25lach[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Jambu
[?25l

JambuRambutanBananaTangerineMango[?12l[?25hJa[?25l

-- VISUAL --[?12l[?25h[?25l:'<,'>call SelectInCaps()
Jamb[?12l[?25h[?25l

-- INSERT ---RambutanBananaTangerineMango[?12l[?25h-[?25l

-- INSERT ---tanBananaTangerineMango[?12l[?25h-[?25ltanBanana

-- VISUAL --[?12l[?25h[?25l
--angerineMango[?12l[?25ha[?25lgo[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[?12l[?25h[?25l:[?12l[?25honoremap W /\u/<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[?12l[?25h[?25l:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[?12l[?25h[?25l/[?12l[?25h^Pineapple
[?25lPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h[?25l

/\u/
-QuinceLoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---LoganberryOrangeGrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---GrapefruitKiwiZ[?12l[?25h-[?25l

/\u/
-- INSERT ---Z[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Juniper
[?25l

JuniperDurianZ[?12l[?25h[?25l

:call MoveToCap()
Whavcre
[?12l[?25h[?25l:call MoveToCap()
Qhevna[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^Lemon
[?25l

LemonNectarineZ[?12l[?25h[?25l

:call SelectInCaps()
[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l:call SelectInCaps()
NewNectarineZ[?12l[?25hwNecta[?25l

:call SelectInCaps()
wZ[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[?12l[?25h[?25l/[?12l[?25h^zzzz
[?25lzzzz[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25lE21: Cannot make changes, 'modifiable' is off[?12l[?25h[?25l:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset noma | let v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l

ok[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l

characterwise visual mode: replace last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25hlet @" = 'x'
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l

v:errmsg=[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l

characterwise visual mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l

characterwise visual mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- VISUAL --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l

characterwise visual mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l

characterwise visual mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" Select mode maps
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>End> <End>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[?12l[?25h[?25l:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l

characterwise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la[?12l[?25h[?25lb

c

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l

characterwise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l





-- SELECT --[?12l[?25h[?25la 

[?12l[?25h[?25lb[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l

characterwise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l

-- SELECT --[?12l[?25h[?25lc[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l

characterwise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25l



-- SELECT --[?12l[?25h[?25lb 

[?12l[?25h[?25lc[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l

linewise select mode: delete middle line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25lbc

~                                                                               [?12l[?25h

[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l

linewise select mode: delete middle two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25la 





-- SELECT LINE --[?12l[?25h[?25la

b 
[?12l[?25h[?25lc~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l

linewise select mode: delete last line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lc 

-- SELECT LINE --[?12l[?25h[?25l~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l

linewise select mode: delete last two line[?12l[?25h[?25l

:[?12l[?25h$put ='a'
[?25l

a[?12l[?25h[?25l

:[?12l[?25h$put ='b'
[?25l

b[?12l[?25h[?25l

:[?12l[?25h$put ='c'
[?25l

c[?12l[?25h[?25lb 



-- SELECT LINE --[?12l[?25h[?25lb

c 
[?12l[?25h[?25l~                                                                               ~                                                                               [?12l[?25h[?25l





:[?12l[?25h$put ='---'
[?25l---[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l

v_p: replace last character with line register at middle line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25laaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25lccc

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting


newline'
[?25llinewise select mode: delete middle two line

c---linewise select mode: delete last line

ab

---linewise select mode: delete last two line

a---v_p: replace last character with line register at middle line

aaabbaaaccc

---v_p: replace last character with line register at middle line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hbb[?25l



-- VISUAL --[?12l[?25h[?25lb[?12l[?25h[?25laaa[?12l[?25h[?25l

ccc
[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l

v_p: replace last character with line register at last line[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n


ewline'
[?25laaa

bbaaaccc

---v_p: replace last character with line register at middle line selecting newline

aaabbaaa

ccc

---v_p: replace last character with line register at last line

aaabbb

ccaaa---v_p: replace last character with line register at last line selecting newline[?12l[?25h[?25l

:[?12l[?25h$put ='aaa'
[?25l

aaa[?12l[?25h[?25l

:[?12l[?25h$put ='bbb'
[?25l

bbb[?12l[?25h[?25l

:[?12l[?25h$put ='ccc'
[?25l

ccc[?12l[?25h[?25l

:[?12l[?25h-2yank
[?25l[?12l[?25hcc[?25l

-- VISUAL --[?12l[?25h[?25lc[?12l[?25h[?25l

aaa[?12l[?25h[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l

gv in exclusive select mode after operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25h$put ='äà '
[?25l

äÃ[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l



-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h

[?25l

-- VISUAL --[?12l[?25h[?25läÃ[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

[?12l[?25h[?25l

:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l

gv in exclusive select mode without operation[?12l[?25h[?25l

:[?12l[?25h$put ='zzz '
[?25l

zzz[?12l[?25h[?25l

:[?12l[?25hset selection=exclusive
[?25l[?12l[?25h[?25l

-- VISUAL --[?12l[?25h[?25lzzz[?12l[?25h[?25l
zzz[?12l[?25h[?25l

-- VISUAL --zzz[?12l[?25h[?25lINSERT xxx[?12l[?25h[?25l

:[?12l[?25h$put ='---'
[?25l

---[?12l[?25h[?25l

:[?12l[?25h/^start:/+2,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 123L, 1328C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test94 = test61; then \
#	  if diff test.out test94.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test94.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test95.failed test.ok test.out X* viminfo
cp test95.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test95.in" 141 lines, 5827 charactersTest for regexp patterns with multi-byte support, using utf-8.

See test64 for the non-multi-byte tests.



A pattern that gives the expected result produces OK, so that we know it was

actually tried.



STARTTEST

:so small.vim

:so mbyte.vim

:set nocp encoding=utf-8 viminfo+=nviminfo nomore

:" tl is a List of Lists with:

:"    2: test auto/old/new  0: test auto/old  1: test auto/new

:"    regexp pattern

:"    text to test the pattern on

:"    expected match (optional)

:"    expected submatch 1 (optional)

:"    expected submatch 2 (optional)

:"    etc.

:"  When there is no match use only the first two items.

:let tl = []

:

:"""" Multi-byte character tests. These will fail unless vim is compiled

:"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for regexp patterns with multi-byte support, using utf-8.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 131 lines, 5590 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h

[?25l





:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l:endif

:      endfor

:      unlet i

:    endif

:  endfor

:endfor

:unlet t tl e l

:

:" check that 'ambiwidth' does not change the meaning of \p

:set regexpengine=1 ambiwidth=single

:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=1 ambiwidth=double

:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=single

:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')

:set regexpengine=2 ambiwidth=double

:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')

:

:/\%#=1^Results/,$wq! test.out

ENDTEST



Results of test95:

~                                                                               [?12l[?25h[?25l





:[?12l[?25h" tl is a List of Lists with:
[?25l[?12l[?25h[?25l:[?12l[?25h"    2: test auto/old/new  0: test auto/old  1: test auto/new
[?25l[?12l[?25h[?25l:[?12l[?25h"    regexp pattern
[?25l[?12l[?25h[?25l:[?12l[?25h"    text to test the pattern on
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected match (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 1 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    expected submatch 2 (optional)
[?25l[?12l[?25h[?25l:[?12l[?25h"    etc.
[?25l[?12l[?25h[?25l:[?12l[?25h"  When there is no match use only the first two items.
[?25l[?12l[?25h[?25l:[?12l[?25hlet tl = []
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[?12l[?25h[?25l:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])^I^I^I^I^I^I^I^I" equivalence


classes
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij


asoifjos'])
[?25l:endif[?12l[?25h[?25l





:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']


)[?25l:endif[?12l[?25h[?25l





:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" this is not a normal "i" but 0xec
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p\+', 'ìa', 'ìa'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\p*', 'aあ', 'aあ'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test recognition of some character classes
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\i\+', '&*¨xx ', 'xx'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '\f\+', '&*<9f>fname ', 'fname'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test composing character matching
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.ม', 'xมม่x yมy', 'yม'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '.มม่', 'xมม่x yมy', 'xมม่'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ca", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'a\%C', "ca\u0300t", "a\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%C', "ca\u0300t", "ca\u0300"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ca\%Ct', "ca\u0300t", "ca\u0300t"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Test \Z
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ú\Z', 'x'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'יהוה', 'יהוה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'יהוה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְהווָה\Z', 'ייְהווָה', 'ייְהווָה'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, 'ייְ\Z', 'ווְייַ', 'ייַ'])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "ק\u200dx\\Z", "xק\u200dxy", "ק\u200dx"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xyz"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\u05b9\\Z", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, "\\Z\u05b9", "xy\u05b9z", "y\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\u05b9\\+\\Z", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [1, "\\Z\u05b9\\+", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Combining different tests and features
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tl, [2, '[^[=a=]]\+', 'ddaãâbcd', 'dd'])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"""" Run the tests
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfor t in tl
[?25l

:  [?12l[?25h:  let re = t[0]


[?25l:  [?12l[?25h:  let pat = t[1]


[?25l:  [?12l[?25h:  let text = t[2]


[?25l:  [?12l[?25h:  let matchidx = 3


[?25l:  [?12l[?25h:  for engine in [0, 1, 2]


[?25l:    [?12l[?25h:    if engine == 2 && re == 0 || engine == 1 && re == 1


[?25l:      [?12l[?25h:      continue


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    let &regexpengine = engine


[?25l:    [?12l[?25h:    try


[?25l:      [?12l[?25h:      let l = matchlist(text, pat)


[?25l:      [?12l[?25h:    catch


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", caused an exception: \"' . v:exception . '\"'


[?25l:      [?12l[?25h:    endtry


[?25l:    [?12l[?25h:" check the match itself


[?25l:    [?12l[?25h:    if len(l) == 0 && len(t) > matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", did not match, expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    elseif len(l) > 0 && len(t) == matchidx


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te


xt . '\", match: \"' . l[0] . '\", expected no match'


[?25l:      [?12l[?25h:    elseif len(t) > matchidx && l[0] != t[matchidx]


[?25l:      [?12l[?25h:      $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . te
t . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'


[?25l:      [?12l[?25h:    else


[?25l:      [?12l[?25h:      $put ='OK ' . engine . ' - ' . pat


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:    if len(l) > 0


[?25l:      [?12l[?25h:"   check all the nine submatches


[?25l:      [?12l[?25h:      for i in range(1, 9)


[?25l:[?12l[?25h:        if len(t) <= matchidx + i


[?25l:[?12l[?25h:          let e = ''


[?25l:[?12l[?25h:        else


[?25l:[?12l[?25h:          let e = t[matchidx + i]


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:        if l[i] != e


[?25l:[?12l[?25h:          $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: 
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'


[?25l:[?12l[?25h:        endif


[?25l:[?12l[?25h:      endfor


[?25l:      [?12l[?25h:      unlet i


[?25l:      [?12l[?25h:    endif


[?25l:    [?12l[?25h:  endfor


[?25l:  [?12l[?25h:endfor
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25hunlet t tl e l
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[?12l[?25h[?25l:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25lOK 2 - ק<200d>x\Z

OK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25lOK 0 - ק<200d>x\Z

OK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 1 ambi double: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25lOK 1 - ק<200d>x\Z

OK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi single: 0[?12l[?25h[?25l

:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25lOK 2 - ק<200d>x\Z

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\Z

OK 1 - ֹ\Z

OK 2 - ֹ\Z

OK 0 - \Zֹ

OK 1 - \Zֹ

OK 2 - \Zֹ

OK 0 - ֹ\+\Z

OK 2 - ֹ\+\Z

OK 0 - \Zֹ\+

OK 2 - \Zֹ\+

OK 0 - [^[=a=]]\+

OK 1 - [^[=a=]]\+

OK 2 - [^[=a=]]\+

eng 1 ambi single: 0

eng 1 ambi double: 0

eng 2 ambi single: 0
[?12l[?25h[?25l

:[?12l[?25h$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')
[?25l

eng 2 ambi double: 0[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 140L, 2022C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test95 = test61; then \
#	  if diff test.out test95.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test95.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test95.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test98.failed test.ok test.out X* viminfo
cp test98.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test98.in" 43 lines, 908 charactersTest for 'scrollbind' causing an unexpected scroll of one of the windows.

STARTTEST

:so small.vim

:" We don't want the status line to cause problems:

:set laststatus=0

:let g:totalLines = &lines * 20

:let middle = g:totalLines / 2

:wincmd n

:wincmd o

:for i in range(1, g:totalLines)

:    call setline(i, 'LINE ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:aboveleft vert new

:for i in range(1, g:totalLines)

:    call setline(i, 'line ' . i)

:endfor

:exe string(middle)

:normal zt

:normal M

:" Execute the following two command at once to reproduce the problem.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for 'scrollbind' causing an unexpected scroll of one of the windows.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 791 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:setl scb | wincmd p

:setl scb

:wincmd w

:let topLineLeft = line('w0')

:wincmd p

:let topLineRight = line('w0')

:setl noscrollbind

:wincmd p

:setl noscrollbind

:q!

:%del _

:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight))

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" We don't want the status line to cause problems:
[?25l[?12l[?25h[?25l:[?12l[?25hset laststatus=0
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[?12l[?25h[?25l:[?12l[?25hlet middle = g:totalLines / 2
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd n
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hwincmd o
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'LINE ' . i)


[?25l:  [?12l[?25h:endfor
[?25lLINE 1

LINE 2

LINE 3LINE 4LINE 5LINE 6LINE 7LINE 8LINE 9LINE 10LINE 11LINE 12LINE 13LINE 14LINE 15LINE 16LINE 17LINE 18LINE 19LINE 20LINE 21LINE 22LINE 23[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25lLINE 229

LINE 230

LINE 231

LINE 232

LINE 233

LINE 234

LINE 235

LINE 236

LINE 237

LINE 238

LINE 239

LINE 240

LINE 241

LINE 242

LINE 243

LINE 244

LINE 245

LINE 246

LINE 247

LINE 248

LINE 249

LINE 250

LINE 251[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lLINE 252

LINE 253

LINE 254

LINE 255

LINE 256

LINE 257

LINE 258

LINE 259

LINE 260

LINE 261

LINE 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25haboveleft vert new
[?25l        |||||||||||||||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       LINE 240LINE 241LINE 242LINE 243LINE 244LINE 245LINE 246LINE 247LINE 248LINE 249LINE 250LINE 251LINE 252LINE 253LINE 254LINE 255LINE 256LINE 257LINE 258LINE 259LINE 260LINE 261LINE 262[?12l[?25h[?25l:[?12l[?25hfor i in range(1, g:totalLines)
[?25l

:  [?12l[?25h:    call setline(i, 'line ' . i)


[?25l:  [?12l[?25h:endfor
[?25lline 1|

line 2|

line 3                                  

line 4                                  

line 5                                  

line 6                                  

line 7                                  

line 8                                  

line 9                                  

line 10                                 

line 11                                 

line 12                                 

line 13                                 

line 14                                 

line 15                                 

line 16                                 

line 17                                 

line 18                                 

line 19                                 

line 20                                 

line 21                                 

line 22                                 

line 23                                 LINE 240LINE 241[?12l[?25h[?25l:[?12l[?25hexe string(middle)
[?25l2293023123223323423523623723823924024124224324424524624748495051[?12l[?25h[?25l:[?12l[?25hnormal zt
[?25lline 240                                

line 241                                

line 242                                

line 243                                

line 244                                

line 245                                

line 246                                

line 247                                

line 248                                

line 249                                

line 250                                

line 251                                

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        line 252

line 253

line 254

line 255

line 256

line 257

line 258

line 259

line 260

line 261

line 262[?12l[?25h[?25l:[?12l[?25hnormal M
[?25l[?12l[?25h[?25l:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb | wincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl scb
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineLeft = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hlet topLineRight = line('w0')
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[?12l[?25h[?25l:[?12l[?25hsetl noscrollbind
[?25l[?12l[?25h[?25l:[?12l[?25hq!
[?25lLINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINE[?12l[?25h[?25l:[?12l[?25h%del _
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t


opLineLeft - topLineRight))
[?25lDifference between the top lines (left - right): 0[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 1 line, 51 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters:normal M:" Execute the following two command at once to reproduce the problem.:setl scb | wincmd p:setl scb:wincmd w:let topLineLeft = line('w0'):wincmd p:let topLineRight = line('w0'):setl noscrollbind:wincmd p:setl noscrollbind:q!:%del _:call setline(1, 'Difference between the top lines (left - right): ' . string(toopLineLeft - topLineRight)):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test98 = test61; then \
#	  if diff test.out test98.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test98.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test98.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test99.failed test.ok test.out X* viminfo
cp test99.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test99.in" 69 lines, 1400 charactersTests for regexp with multi-byte encoding and various magic settings.

Test matchstr() with a count and multi-byte chars.

See test44 for exactly the same test with re=1.



STARTTEST

:so mbyte.vim

:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo

:set re=2

/^1

/a*b\{2}c\+/e

x/\Md\*e\{2}f\+/e

x:set nomagic

/g\*h\{2}i\+/e

x/\mj*k\{2}l\+/e

x/\vm*n{2}o+/e

x/\V^aa$

x:set magic

/\v(a)(b)\2\1\1/e

x/\V[ab]\(\[xy]\)\1

x:" Now search for multi-byte without composing char

/ม

x:" Now search for multi-byte with composing char

[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for regexp with multi-byte encoding and various magic settings.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 43 lines, 931 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx



[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l:" l Test what 7.3.192 fixed

/^l

:s/ \?/ /g

:?^1?,$w! test.out

:e! test.out





:w!

:qa!

ENDTEST



1 a aa abb abbccc

2 d dd dee deefff

3 g gg ghh ghhiii

4 j jj jkk jkklll

5 m mm mnn mnnooo

6 x ^aa$ x

7 (a)(b) abbaa

8 axx [ab]xx


[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l/[?12l[?25ha*b\{2}c\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset nomagic
[?25l[?12l[?25h[?25l/[?12l[?25hg\*h\{2}i\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\mj*k\{2}l\+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\vm*n{2}o+/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V^aa$
[?25l[?12l[?25h[?25laa$ x[?12l[?25h[?25l:[?12l[?25hset magic
[?25l[?12l[?25h[?25l/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[?12l[?25h[?25lab]x[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte without composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" Now search for multi-byte with composing char
[?25l[?12l[?25h[?25lx[?12l[?25h[?25l:[?12l[?25h" find word by change of word class
[?25l


:[?12l[?25h" Test \%u, [\u] and friends
[?25l[?12l[?25h[?25l/[?12l[?25h\%u20ac
[?25l


/[?12l[?25h[\u4f7f\u5929]\+
[?25l


/[?12l[?25h\%U12345678
[?25l


/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l


/[?12l[?25h\%d21879b
[?25l


:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[?12l[?25h[?25l/[?12l[?25hx
[?25l


?[?12l[?25h.
[?25l[?12l[?25h[?25l:[?12l[?25h@w
[?25l


:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[?12l[?25h[?25l/[?12l[?25h^l
[?25l


:[?12l[?25hs/ \?/ /g
[?25l"test.out" [New] 19L, 250C written[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 19L, 250C1 a aa abb abbcc

2 d dd dee deeff

3 g gg ghh ghhii

4 j jj jkk jkkll

5 m mm mnn mnnoo

[?25l"test.out" 23L, 264C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test99 = test61; then \
#	  if diff test.out test99.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test99.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test99.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test103.failed test.ok test.out X* viminfo
cp test103.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test103.in" 37 lines, 823 charactersTest for visual mode not being reset causing E315 error.

STARTTEST

:so small.vim

:enew

:let g:msg="Everything's fine."

:function! TriggerTheProblem()

:" At this point there is no visual selection because :call reset it.

:" Let's restore the selection:

:normal gv

:'<,'>del _

:try

:exe "normal \<Esc>"

:catch /^Vim\%((\a\+)\)\=:E315/

:echom 'Snap! E315 error!'

:let g:msg='Snap! E315 error!'

:endtry

:endfunction

:enew

:setl buftype=nofile

:call append(line('$'), 'Delete this line.')

:"

:"

:" NOTE: this has to be done by a call to a function because executing :del the[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for visual mode not being reset causing E315 error.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 29 lines, 723 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"ex-way will require the colon operator which resets the visual mode thuus

:"preventing the problem:

:"

GV:call TriggerTheProblem()

:%del _

:call append(line('$'), g:msg)

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25henew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:msg="Everything's fine."
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! TriggerTheProblem()
[?25l

:  [?12l[?25h:^I" At this point there is no visual selection because :call reset it.


[?25l:  [?12l[?25h:^I" Let's restore the selection:


[?25l:  [?12l[?25h:^Inormal gv


[?25l:  [?12l[?25h:^I'<,'>del _


[?25l:  [?12l[?25h:^Itry


[?25l:    [?12l[?25h:^I^Iexe "normal \<Esc>"


[?25l:    [?12l[?25h:^Icatch /^Vim\%((\a\+)\)\=:E315/


[?25l:    [?12l[?25h:^I^Iechom 'Snap! E315 error!'


[?25l:    [?12l[?25h:^I^Ilet g:msg='Snap! E315 error!'


[?25l:    [?12l[?25h:^Iendtry


[?25l:  [?12l[?25h:endfunction
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25henew
[?25l[?12l[?25h[?25l:[?12l[?25hsetl buftype=nofile
[?25l[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25lDelete this line.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[?12l[?25h[?25l:[?12l[?25h"       ex-way will require the colon operator which resets the visual mode th


us[?25l[?12l[?25h[?25l:[?12l[?25h"       preventing the problem:
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h

[?25lDelete this line. 
[?12l[?25h[?25l:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l~                                                                               [?12l[?25h[?25l:[?12l[?25h%del _
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), g:msg)
[?25lEverything's fine.[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters:endtry

:endfunction:enew:setl buftype=nofile:call append(line('$'), 'Delete this line.'):":":" NOTE: this has to be done by a call to a function because executing :del the:"       ex-way will require the colon operator which resets the visual mode thuus:"       preventing the problem::"GV:call TriggerTheProblem():%del _:call append(line('$'), g:msg):w! test.out:brewindENDTESTSTARTTEST:qa!ENDTEST[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 1 line, 5 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l





/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test103 = test61; then \
#	  if diff test.out test103.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test103.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test103.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test104.failed test.ok test.out X* viminfo
cp test104.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test104.in" 30 lines, 698 charactersTests for :let.  vim: set ft=vim ts=8 :



STARTTEST

:so small.vim

:set runtimepath+=./sautest

:" Test to not autoload when assigning.  It causes internal error.

:try

:  let Test104#numvar = function('tr')

:  $put ='OK: ' . string(Test104#numvar)

:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try

:    redir => messages

:    execute 'let' letargs

:    redir END

:    $put ='OK:'

:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :let.  vim: set ft=vim ts=8 :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 24 lines, 618 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:    $put ='FAIL: ' . v:exception

:    redir END

:  endtry

:endfor

:/^Results/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset runtimepath+=./sautest
[?25l[?12l[?25h[?25l:[?12l[?25h" Test to not autoload when assigning.  It causes internal error.
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let Test104#numvar = function('tr')


[?25l:  [?12l[?25h:  $put ='OK: ' . string(Test104#numvar)


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  $put ='FAIL: ' . v:exception


[?25l:  [?12l[?25h:endtry
[?25l:catch

:  $put ='FAIL: ' . v:exception

:endtry

:let a = 1

:let b = 2

:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0  == 1 ? "a" : "b"}']

:  try:    redir => messages

:    execute 'let' letargsEND$put ='OK:'$put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')

:  catch'FAIL: ' . v:exception  redir END

:  endtryendfor/^Results/,$wq! test.out

ENDTESTResults of test104:

OK: function('tr')[?12l[?25h[?25l

:[?12l[?25hlet a = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet b = 2
[?25l[?12l[?25h[?25l:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0


== 1 ? "a" : "b"}']
[?25l:  [?12l[?25h:  try


[?25l:    [?12l[?25h:    redir => messages


[?25l:    [?12l[?25h:    execute 'let' letargs


[?25la#1


b#2


:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:    $put ='OK:'


[?25l:    [?12l[?25h:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')


[?25l:    [?12l[?25h:  catch


[?25l:    [?12l[?25h:    $put ='FAIL: ' . v:exception


[?25l:    [?12l[?25h:    redir END


[?25l:    [?12l[?25h:  endtry


[?25l:  [?12l[?25h:endfor


[?25lb#2


b#2


a#1


a#1


b#2


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h/^Results/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 13 lines, 244 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test104 = test61; then \
#	  if diff test.out test104.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test104.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test107.failed test.ok test.out X* viminfo
cp test107.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test107.in" 38 lines, 717 charactersTests for adjusting window and contents     vim: set ft=vim :



STARTTEST

:so small.vim

:new

:call setline(1, range(1,256))

:let r=[]

:func! GetScreenStr(row)

:   let str = ""

:   for c in range(1,3)

:let str .= nr2char(screenchar(a:row, c))

:   endfor

:   return str

:endfunc

:

:exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for adjusting window and contents     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 32 lines, 628 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(r, [line("w0"), s3])

:

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:"/^start:/,$wq! test.out

ENDTESTtest107.in                                                                      [?12l[?25h[?25l:[?12l[?25hcall setline(1, range(1,256))
[?25l1

234567891011[+][?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hfunc! GetScreenStr(row)
[?25l

:  [?12l[?25h:   let str = ""


[?25l:  [?12l[?25h:   for c in range(1,3)


[?25l:    [?12l[?25h:       let str .= nr2char(screenchar(a:row, c))


[?25l:    [?12l[?25h:   endfor


[?25l:  [?12l[?25h:   return str


[?25l:  [?12l[?25h:endfunc
[?25l1

2

3

4

5

6[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[No Name] [+]                                                                   :let s3=GetScreenStr(1)test107.in                                                                      [?12l[?25h[?25l:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l50

51

52

53

54

55

56

57

58

59

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l59

60

61

62

63

64

65

66

67

68

[No Name] [+]                                                                   :let s3=GetScreenStr(1)

::wincmd p

:call add(r, [line("w0"), s3])

:

:bwipeout!

:$put=r

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

ENDTEST



test107.in                                                                      [?12l[?25h[?25l



:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[?12l[?25h[?25l:[?12l[?25h:wincmd p
[?25l[No Name] [+]                                                                   test107.in                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l::exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

::exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

:wincmd p

:call add(r, [line("w0"), s3])

:exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"

:let s3=GetScreenStr(1)

::wincmd pcall add(r, [line("w0"), s3])bwipeout!

:$put=rcall garbagecollect(1)

:":/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

[1, '1  ']

[50, '50 ']

[59, '59 ']3 more lines[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 4 lines, 42 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test107 = test61; then \
#	  if diff test.out test107.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test107.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test107.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test108.failed test.ok test.out X* viminfo
cp test108.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test108.in" 88 lines, 1329 charactersTests for backtrace debug commands.     vim: set ft=vim :



STARTTEST

:so small.vim

:lang mess C

:function! Foo()

:   let var1 = 1

:   let var2 = Bar(var1) + 9

:   return var2

:endfunction

:

:function! Bar(var)

:    let var1 = 2 + a:var

:    let var2 = Bazz(var1) + 4

:    return var2

:endfunction

:

:function! Bazz(var)

:    let var1 = 3 + a:var

:    let var3 = "another var"

:    return var1

:endfunction

:new[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for backtrace debug commands.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 83 lines, 1251 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTup

b

echo "fil is not frame or finish, it is file"

fil

echo "\n- relative backtrace movement\n"

fr -1

frame

fra +1

fram

echo "\n- go beyond limits does not crash\n"

fr 100

fra

frame -40

fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Foo()
[?25l

:  [?12l[?25h:   let var1 = 1


[?25l:  [?12l[?25h:   let var2 = Bar(var1) + 9


[?25l:  [?12l[?25h:   return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bar(var)
[?25l

:  [?12l[?25h:    let var1 = 2 + a:var


[?25l:  [?12l[?25h:    let var2 = Bazz(var1) + 4


[?25l:  [?12l[?25h:    return var2


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hfunction! Bazz(var)
[?25l

:  [?12l[?25h:    let var1 = 3 + a:var


[?25l:  [?12l[?25h:    let var3 = "another var"


[?25l:  [?12l[?25h:    return var1


[?25l:  [?12l[?25h:endfunction
[?25lup

b

echo "fil is not frame or finish, it is file"

fil[?12l[?25h[?25l

:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       echo "\n- final result 19:"

cont:0debuggreedy

:redir END$put =out

:w! test.out

:qa!ENDTESTtest108.in                                                                      [?12l[?25h[?25l:[?12l[?25hdebuggreedy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => out
[?25l[?12l[?25h[?25l:[?12l[?25hdebug echo Foo()
[?25lEntering Debug mode.  Type "cont" to continue.


cmd: echo Foo()


>[?12l[?25hstep


[?25lfunction Foo


line 1: let var1 = 1


>[?12l[?25hstep


[?25lfunction Foo


line 2: let var2 = Bar(var1) + 9


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 1: let var1 = 2 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 2: let var2 = Bazz(var1) + 4


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 1: let var1 = 3 + a:var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "- show backtrace:\n"


[?25l- show backtrace:


>[?12l[?25hbacktrace


[?25l  2 function Foo[2]


  1 Bar[2]


->0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho "\nshow variables on different levels:\n"


[?25l

show variables on different levels:


>[?12l[?25hecho var1


[?25l6

>[?12l[?25hup


[?25l>[?12l[?25hback


[?25l  2 function Foo[2]


->1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l3

>[?12l[?25hu


[?25l>[?12l[?25hbt


[?25l->2 function Foo[2]


  1 Bar[2]


  0 Bazz


line 2: let var3 = "another var"


>[?12l[?25hecho var1


[?25l1

>[?12l[?25hecho "\n- undefined vars:\n"


[?25l

- undefined vars:


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: return var1


>[?12l[?25hframe 2


[?25l>[?12l[?25hecho "undefined var3 on former level:"


[?25lundefined var3 on former level:


>[?12l[?25hecho var3


[?25lError detected while processing function Foo[2]..Bar[2]..Bazz:


line    3:


E121: Undefined variable: var3


E15: Invalid expression: var3


>[?12l[?25hfr 0


[?25l>[?12l[?25hecho "here var3 is defined with \"another var\":"


[?25lhere var3 is defined with "another var":


>[?12l[?25hecho var3


[?25lanother var


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar[2]..Bazz


line 3: End of function


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: return var2


>[?12l[?25hstep


[?25lfunction Foo[2]..Bar


line 3: End of function


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nundefined var2 on former level"


[?25l

undefined var2 on former level


>[?12l[?25hecho var2


[?25lError detected while processing function Foo[2]..Bar:


line    3:


E121: Undefined variable: var2


E15: Invalid expression: var2


>[?12l[?25hdown


[?25l>[?12l[?25hecho "here var2 is defined with 10:"


[?25lhere var2 is defined with 10:


>[?12l[?25hecho var2


[?25l10


>[?12l[?25hecho "\n- backtrace movements:\n"


[?25l

- backtrace movements:


>[?12l[?25hb


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\nnext command cannot go down, we are on bottom\n"


[?25l

next command cannot go down, we are on bottom


>[?12l[?25hdown


[?25lframe is zero


>[?12l[?25hup


[?25l>[?12l[?25hecho "\nnext command cannot go up, we are on top\n"


[?25l

next command cannot go up, we are on top


>[?12l[?25hup


[?25lframe at highest level: 1


>[?12l[?25hb


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "fil is not frame or finish, it is file"


[?25lfil is not frame or finish, it is file


>[?12l[?25hfil


[?25l"[No Name]" --No lines in buffer--


>[?12l[?25hecho "\n- relative backtrace movement\n"


[?25l

- relative backtrace movement


>[?12l[?25hfr -1


[?25l>[?12l[?25hframe


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hfra +1


[?25l>[?12l[?25hfram


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hecho "\n- go beyond limits does not crash\n"


[?25l

- go beyond limits does not crash


>[?12l[?25hfr 100


[?25lframe at highest level: 1


>[?12l[?25hfra


[?25l->1 function Foo[2]


  0 Bar


line 3: End of function


>[?12l[?25hframe -40


[?25lframe is zero


>[?12l[?25hfram


[?25l  1 function Foo[2]


->0 Bar


line 3: End of function


>[?12l[?25hecho "\n- final result 19:"


[?25l

- final result 19:


>[?12l[?25hcont


[?25l19


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h0debuggreedy
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       fram

echo "\n- final result 19:"

cont

:0debuggreedy

:redir END

:$put =out

:w! test.out

:qa!

ENDTEST



test108.in                                                                      [?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25h$put =out
[?25l83 more lines->1 function Foo[2]

  0 Barline 3: End of functionframe is zero  1 function Foo[2]->0 Barline 3: End of function- final result 19:19[+][?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 84 lines, 1390 characters writtentest.out]      [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test108 = test61; then \
#	  if diff test.out test108.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test108.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test108.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autocmd_option.failed test.ok test.out X* viminfo
cp test_autocmd_option.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autocmd_option.in" 77 lines, 2954 charactersTest for option autocommand



STARTTEST

:so small.vim

:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! ttest.out | qa! | endif

:fu! AutoCommand(match)

:let c=g:testcase

:let item=remove(g:options, 0)

:let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope:  <%s>\n", item[0], item[1], item[2], item[3])

:let c.=printf("Autocmd Option: <%s>,", a:match)

:let c.=printf(" OldVal: <%s>,", v:option_old)

:let c.=printf(" NewVal: <%s>,", v:option_new)

:let c.=printf(" Scope: <%s>\n", v:option_type)

:call setreg('r', printf("%s\n%s", getreg('r'), c))

:endfu

:au OptionSet * :call AutoCommand(expand("<amatch>"))

:let g:testcase="1: Setting number option\n"

:let g:options=[['number', 0, 1, 'global']]

:set nu

:let g:testcase="2: Setting local number option\n"

:let g:options=[['number', 1, 0, 'local']][?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for option autocommand[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 72 lines, 2896 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)

:" Write register now, because next test shouldn't output anything.

:$put r

:let @r=''

:let g:testcase="\n15: Setting key option, shouldn't trigger\n"

:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

:setlocal key=blah

:setlocal key=

:$put =g:testcase

:$put r

:/^dummy text/,$w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! 


test.out | qa! | endif
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hfu! AutoCommand(match)
[?25l

:  [?12l[?25h:^Ilet c=g:testcase


[?25l:  [?12l[?25h:       let item=remove(g:options, 0)


[?25l:  [?12l[?25h:       let c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Sco


pe: <%s>\n", item[0], item[1], item[2], item[3])


[?25l:  [?12l[?25h:       let c.=printf("Autocmd Option: <%s>,", a:match)


[?25l:  [?12l[?25h:       let c.=printf(" OldVal: <%s>,", v:option_old)


[?25l:  [?12l[?25h:       let c.=printf(" NewVal: <%s>,", v:option_new)


[?25l:  [?12l[?25h:       let c.=printf(" Scope: <%s>\n", v:option_type)


[?25l:  [?12l[?25h:       call setreg('r', printf("%s\n%s", getreg('r'), c))


[?25l:  [?12l[?25h:endfu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"

:let g:options=[['backup', '', '1', 'local']]

: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger

:call setbufvar(1, '&l:bk', 1)

: "should trigger, use correct option name

:call setbufvar(1, '&backup', 1)

:let g:testcase="14: Setting number option using setwinvar\n"

:let g:options=[['number', 0, 1, 'local']]

:call setwinvar(0, '&number', 1)[?12l[?25h[?25l

:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal ai
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ai!
[?25l[?12l[?25h[?25l:[?12l[?25h Should not print anything, use :noa
[?25lE492: Not an editor command: Should not print anything, use :noa[?12l[?25h[?25l:[?12l[?25hnoa :set nonu
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset list nu
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"$

     57 :let g:options=[['backup', '', '1', 'local']]$

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger$

     59 :call setbufvar(1, '&l:bk', 1)$

     60 : "should trigger, use correct option name$

     61 :call setbufvar(1, '&backup', 1)$

     62 :let g:testcase="14: Setting number option using setwinvar\n"$

     63 :let g:options=[['number', 0, 1, 'local']]$

     64 :call setwinvar(0, '&number', 1)$

     65 :" Write register now, because next test shouldn't output anything.$

     66 :$put r$

     67 :let @r=''$

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"$

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]$

     70 :setlocal key=blah$

     71 :setlocal key=$

     72 :$put =g:testcase$

     73 :$put r$

     74 :/^dummy text/,$w! test.out$

     75 :qa!$

     76 ENDTEST$

     77 dummy text$[?12l[?25h[?25l:[?12l[?25hnoa set nolist nonu
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n":let g:options=[['backup', '', '1', 'local']]: "try twice, first time, shouldn't trigger because option name is invalid, secoond time, it should trigger:call setbufvar(1, '&l:bk', 1): "should trigger, use correct option name:call setbufvar(1, '&backup', 1):let g:testcase="14: Setting number option using setwinvar\n":let g:options=[['number', 0, 1, 'local']]:call setwinvar(0, '&number', 1):" Write register now, because next test shouldn't output anything.:$put r:let @r='':let g:testcase="\n15: Setting key option, shouldn't trigger\n":let g:options=[['key', 'invalid', 'invalid1', 'invalid']]:setlocal key=blah:setlocal key=:$put =g:testcase:$put r:/^dummy text/,$w! test.out:qa!ENDTESTdummy text[?12l[?25h[?25l:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal acd
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hset ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal ar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal invar
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[?12l[?25h[?25l:[?12l[?25hlet &bs="eol,indent,start"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec


ond time, it should trigger
[?25l:let g:testcase="13: Setting option backspace through setbufvar()\n"[?12l[?25h[?25l

:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25lE355: Unknown option: l:bk[?12l[?25h[?25l:[?12l[?25h "should trigger, use correct option name
[?25l[?12l[?25h[?25l:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[?12l[?25h[?25l:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l     56 :let g:testcase="13: Setting option backspace through setbufvar()\n"

     57 :let g:options=[['backup', '', '1', 'local']]

     58 : "try twice, first time, shouldn't trigger because option name is invallid, second time, it should trigger

     59 :call setbufvar(1, '&l:bk', 1)

     60 : "should trigger, use correct option name

     61 :call setbufvar(1, '&backup', 1)

     62 :let g:testcase="14: Setting number option using setwinvar\n"

     63 :let g:options=[['number', 0, 1, 'local']]

     64 :call setwinvar(0, '&number', 1)

     65 :" Write register now, because next test shouldn't output anything.

     66 :$put r

     67 :let @r=''

     68 :let g:testcase="\n15: Setting key option, shouldn't trigger\n"

     69 :let g:options=[['key', 'invalid', 'invalid1', 'invalid']]

     70 :setlocal key=blah

     71 :setlocal key=

     72 :$put =g:testcase

     73 :$put r

     74 :/^dummy text/,$w! test.out

     75 :qa!

     76 ENDTEST

     77 dummy text[?12l[?25h[?25l:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[?12l[?25h[?25l:[?12l[?25h$put r
[?25l60 more lines117Autocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>11811910: Setting local autoread    120 Expected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>121Autocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>12212311: Setting global autoread124Expected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>125Autocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>12612712: Setting option backspace through :let128Expected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoope: <global>129Autocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoope: <global>131313: Setting option backspace through setbufvar()13Expected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>13Autocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>131314: Setting number option using setwinvar13xpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>13Autocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[?12l[?25h[?25l:[?12l[?25hlet @r=''
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=blah
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal key=
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:testcase
[?25l    138 

    139 15: Setting key option, shouldn't trigger[?12l[?25h[?25l

:[?12l[?25h$put r
[?25l

    140 [?12l[?25h[?25l

:[?12l[?25h/^dummy text/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 64 lines, 2700 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autocmd_option = test61; then \
#	  if diff test.out test_autocmd_option.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autocmd_option.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autocmd_option.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_autoformat_join.failed test.ok test.out X* viminfo
cp test_autoformat_join.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autoformat_join.in" 23 lines, 524 charactersTests for setting the '[,'] marks when joining lines.



STARTTEST

:so small.vim

:/^\t\t/

0gqj:

:let a=string(getpos("'[")).'/'.string(getpos("']"))

:/^This line/;'}-join

:let b=string(getpos("'[")).'/'.string(getpos("']"))

:$put ='First test: Start/End '.string(a)

:$put ='Second test: Start/End '.string(b)

:/^\t\t/,$wq! test.out

ENDTESTO sodales, ludite, vos qui

attamen consulite per voster honur. Tua pulchra facies me fay planszer milies



This line.

Should be joined with the next line

and with this line



Results:[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for setting the '[,'] marks when joining lines.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 9 lines, 265 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/^\t\t/
[?25l[?12l[?25h[?25lattamen consulite per voster honur.

Tua pulchra facies me fay planszer milies[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h/^This line/;'}-join
[?25lThis line.  Should be joined with the next line and with this line





~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25lFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[?12l[?25h[?25l:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25lSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[?12l[?25h[?25l:[?12l[?25h/^\t\t/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 292 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_autoformat_join = test61; then \
#	  if diff test.out test_autoformat_join.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_autoformat_join.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_autoformat_join.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_changelist.failed test.ok test.out X* viminfo
cp test_changelist.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_changelist.in" 22 lines, 288 charactersTest changelist position after splitting window

Set 'undolevels' to make changelist for sourced file



STARTTEST

:so small.vim

Gkylp:set ul=100

Gylp:set ul=100

gg

:vsplit

:try

:  normal g;

:  normal ggVGcpass^[

:catch

:  normal ggVGcfail^[

:finally

:  %w! test.out

:endtry

:qa!

ENDTEST



1

2

~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest changelist position after splitting window[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 163 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h



[?25l11[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l22[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h

[?25l:[?12l[?25hvsplit
[?25l|

 window                                 |

Set 'undolevels' to make changelist for |

sourced file|

             |

STARTTEST       |

:so small.vim  |

Gkylp:set ul=100|

Gylp:set ul=100|

gg  |

:vsplit     |

:try                  |

:  normal g;|pass|

:catch  |

:  normal ggVGcfail^[|

:finally|

:  %w! test.out|

:endtry|

:qa!|

ENDTEST|

  |

test_changelist.in [+]                   Test changelist position after splitting windowSet 'undolevels' to make changelist forsourced fileSTARTTEST:so small.vimGkylp:set ul=100Gylp:set ul=100gg:vsplit:try:  normal g;:  normal ggVGcpass^[:catch:  normal ggVGcfail^[:finally:  %w! test.out:endtry:qa!ENDTESTtest_changelist.in [+]                 [?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  normal g;


[?25l:  [?12l[?25h:  normal ggVGcpass
[?25l21 fewer lines

:  


:  [?12l[?25h:catch


[?25l:  [?12l[?25h:  normal ggVGcfail


[?25l:  


:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  %w! test.out


[?25l"test.out" [New File] 1 line, 5 characters written


:  [?12l[?25h:endtry
[?25lpass||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                           pass~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                      ~                                         [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_changelist = test61; then \
#	  if diff test.out test_changelist.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_changelist.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_changelist.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_close_count.failed test.ok test.out X* viminfo
cp test_close_count.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_close_count.in" 153 lines, 2665 charactersTests for :[count]close! and :[count]hide     vim: set ft=vim :



STARTTEST

:so small.vim

:let tests = []

:for i in range(5)

:new

:endfor

:4wincmd w

:close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:$close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

:2close![?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for :[count]close! and :[count]hide     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 41 lines, 749 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call add(tests, buffers)

:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:for i in range(5)

:new

:endfor

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:4wincmd w

:.hide[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hclose!
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+1close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5[+][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 5~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters:2wincmd w

:+1close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(0, map(copy(tests), 'join(v:val, " ")'))

:w:only!:b1ENDTESTSTARTTEST:let tests = []:for i in range(5):new:endfor:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers):4wincmd w:.hide:let buffers = [][?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 44 lines, 815 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:2wincmd w

:+hide

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:1wincmd w

:$ hide

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                       test_close_count.in                                                              [?12l[?25h[?25l:[?12l[?25h.hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :b1

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :only!

:b1

ENDTEST



STARTTEST

test_close_count.in                                                             [?12l[?25h[?25l





:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h2hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25h-hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h2wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h+hide
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 7 lines, 39 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l13 12 11 10 9 113 12 11 9 112 11 9 112 11 9[+][?12l[?25h[?25l12 9

15 12 9

15 12[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 9

15 12~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:+hide:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5):new:endfor:1wincmd w:$ hide:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 93 of 153 --60%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 25 lines, 448 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:1wincmd w

:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w

:only!

:b1

ENDTEST



STARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new

:endfor

:4wincmd w

^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[?12l[?25h[?25l:[?12l[?25h$ hide
[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h$-1 close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l:[?12l[?25h.+close!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 15 lines, 106 characters6 5 4 2 1

5 4 2 15 4 25 27 5 27 5test.out]  [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[+][?12l[?25h[?25l15 12 915 120 19 18 17 16

20 19 18 16

20 18 16
[?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written    [?12l[?25h[?25l:[?12l[?25honly!
[?25l6 5 4 2 1

5 4 2 1

5 4 2

5 2

7 5 2

7 5



13 12 11 10 9 1

13 12 11 9 1

12 11 9 1

12 11 9

12 9

15 12 9

15 12



20 19 18 17 16

20 19 18 16

20 18 16



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hb1
[?25l:.+close!

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

Go^[

:w:only!:b1ENDTESTSTARTTEST

:let tests = []

:set hidden

:for i in range(5)

:new:endfor:4wincmd w

^Wc:let buffers = []:windo call add(buffers, bufnr('%')):call add(tests, buffers)"test_close_count.in" line 121 of 153 --79%-- col 1[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 28 lines, 511 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST1^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

9^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:1wincmd w

2^Wc

:let buffers = []

:windo call add(buffers, bufnr('%'))

:call add(tests, buffers)

:only!

:e! test.out

:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hlet tests = []
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25hfor i in range(5)
[?25l

:  [?12l[?25h:new


[?25l:  [?12l[?25h:endfor
[?25l~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25h4wincmd w
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        test_close_count.in                                                             [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call append(line('$'), map(copy(tests), 'join(v:val, " ")'))

:w

:qa!

ENDTEST



test_close_count.in                                                             [?12l[?25h[?25l

[?12l[?25h[?25l



:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25h1wincmd w
[?25l[No Name]                                                                       [No Name]                                                                        [?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hlet buffers = []
[?25l[?12l[?25h[?25l:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[No Name]                                                                        [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hcall add(tests, buffers)
[?25l[?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 16 5 4 2 1

5 4 2 15 4 25 27 5 27 513 12 11 10 9 113 12 11 9 112 11 9 112 11 912 915 12 915 1220 19 18 17 1620 19 18 1620 18 16[?12l[?25h[?25l:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l25 24 23 21 124 23 21 124 23 2124 21[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_close_count = test61; then \
#	  if diff test.out test_close_count.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_close_count.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_close_count.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_comparators.failed test.ok test.out X* viminfo
cp test_comparators.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_comparators.in" 21 lines, 283 characters" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'

:  else

:    $put ='ng'

:  endif

:finally

:  let &isident=oldisident

:endtry

:"

:/^marker/+1,$wq! test.out

ENDTEST



marker

~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l" Test for expression comparators.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 14 lines, 200 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:  let oldisident=&isident


[?25l:  [?12l[?25h:  set isident+=#


[?25l:  [?12l[?25h:  if 1 is#1


[?25l:    [?12l[?25h:    $put ='ok'


[?25l:    [?12l[?25h:  else


[?25l:    [?12l[?25h:    $put ='ng'


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:finally


[?25l:  [?12l[?25h:  let &isident=oldisident


[?25l:  [?12l[?25h:endtry
[?25l" Test for expression comparators.   vim: set ft=vim :





STARTTEST

:so small.vim

:try

:  let oldisident=&isident

:  set isident+=#

:  if 1 is#1

:    $put ='ok'ok[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^marker/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1 line, 3 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_comparators = test61; then \
#	  if diff test.out test_comparators.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_comparators.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_comparators.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_erasebackword.failed test.ok test.out X* viminfo
cp test_erasebackword.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_erasebackword.in" 19 lines, 427 charactersTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G







:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for erasing backword[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 12 lines, 362 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for erasing backword



STARTTEST

:so small.vim

:so mbyte.vim

:set encoding=utf-8

G

o wwwこんにちわ世界ワールドvim ^W^[

o wwwこんにちわ世界ワールドvim ^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^[

o wwwこんにちわ世界ワールドvim ^W^W^W^W^W^W^[

:/^test/,$w! test.out

:qa!

ENDTEST



test starts here:



~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h



[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25lド[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

 www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

www[?12l[?25h[?25lこ[?12l[?25h[?25lん[?12l[?25h[?25lに[?12l[?25h[?25lち[?12l[?25h[?25lわ[?12l[?25h[?25l世[?12l[?25h[?25l界[?12l[?25h[?25lワ[?12l[?25h[?25lー[?12l[?25h[?25lル[?12l[?25h[?25l[?12l[?25h[?25l

:[?12l[?25h/^test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 8 lines, 111 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_erasebackword = test61; then \
#	  if diff test.out test_erasebackword.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_erasebackword.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_erasebackword.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_eval.failed test.ok test.out X* viminfo
cp test_eval.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_eval.in" 247 lines, 6201 charactersTest for various eval features.   vim: set ft=vim :



Note: system clipboard is saved, changed and restored.



clipboard contents

something else



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:lang C

:fun AppendRegContents(reg)

  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:rreg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))

:endfun

:fun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)

  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, aa:type, a:cont, a:strcont, a:cont1, a:strcont1))

endfun

:command -nargs=? AR :call AppendRegContents(<q-args>)

:fun SetReg(...)

    call call('setreg', a:000)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for various eval features.   vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 233 lines, 6010 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun AppendRegContents(reg)
[?25l

:  [?12l[?25h  call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg


(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))


[?25l:  [?12l[?25h:endfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hfun AppendRegParts(reg, type, cont, strcont, cont1, strcont1)
[?25l

:  [?12l[?25h  call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:re


g, a:type, a:cont, a:strcont, a:cont1, a:strcont1))


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n[?12l[?25h[?25l:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[?12l[?25h[?25l:[?12l[?25hfun SetReg(...)
[?25l

:  [?12l[?25h    call call('setreg', a:000)


[?25l:  [?12l[?25h    call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2]))


[?25l:  [?12l[?25h    call AppendRegContents(a:1)


[?25l:  [?12l[?25h    if a:1 isnot# '='


[?25l:    [?12l[?25h        execute "silent normal! Go==\n==\e\"".a:1."P"


[?25l:    [?12l[?25h    endif


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun ErrExe(str)
[?25l

:  [?12l[?25h    call append('$', 'Executing '.a:str)


[?25l:  [?12l[?25h    try


[?25l:    [?12l[?25h        execute a:str


[?25l:    [?12l[?25h    catch


[?25l:    [?12l[?25h        $put =v:exception


[?25l:    [?12l[?25h    endtry


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn][?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h$put ='{{{1 let tests'


[?25l:  [?12l[?25hlet @" = 'abc'


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\n"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @" = "abc\<C-m>"


[?25l:  [?12l[?25hAR "


[?25l:  [?12l[?25hlet @= = '"abc"'


[?25l:  [?12l[?25hAR =


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Basic setreg tests'


[?25l:  [?12l[?25hcall SetReg('a', 'abcA', 'c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcB', 'v')


[?25l:  [?12l[?25hcall SetReg('c', 'abcC', 'l')


[?25l:  [?12l[?25hcall SetReg('d', 'abcD', 'V')


[?25l:  [?12l[?25hcall SetReg('e', 'abcE', 'b')


[?25l:  [?12l[?25hcall SetReg('f', 'abcF', "\<C-v>")


[?25l:  [?12l[?25hcall SetReg('g', 'abcG', 'b10')


[?25l:  [?12l[?25hcall SetReg('h', 'abcH', "\<C-v>10")


[?25l:  [?12l[?25hcall SetReg('I', 'abcI')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending single lines with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc', 'c')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAl', 'l')


[?25l:  [?12l[?25hcall SetReg('A', 'abcAc2','c')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc', 'ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb', 'ba')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBc2','ca')


[?25l:  [?12l[?25hcall SetReg('b', 'abcBb2','b50a')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('C', 'abcCl', 'l')


[?25l:  [?12l[?25hcall SetReg('C', 'abcCc', 'c')


[?25l:  [?12l[?25hcall SetReg('D', 'abcDb', 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('E', 'abcEb', 'b')


[?25l:  [?12l[?25hcall SetReg('E', 'abcEl', 'l')


[?25l:  [?12l[?25hcall SetReg('F', 'abcFc', 'c')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending NL with setreg()'


[?25l:  [?12l[?25hcall setreg('a', 'abcA2', 'c')


[?25l:  [?12l[?25hcall setreg('b', 'abcB2', 'v')


[?25l:  [?12l[?25hcall setreg('c', 'abcC2', 'l')


[?25l:  [?12l[?25hcall setreg('d', 'abcD2', 'V')


[?25l:  [?12l[?25hcall setreg('e', 'abcE2', 'b')


[?25l:  [?12l[?25hcall setreg('f', 'abcF2', "\<C-v>")


[?25l:  [?12l[?25hcall setreg('g', 'abcG2', 'b10')


[?25l:  [?12l[?25hcall setreg('h', 'abcH2', "\<C-v>10")


[?25l:  [?12l[?25hcall setreg('I', 'abcI2')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', "\n")


[?25l:  [?12l[?25hcall SetReg('B', "\n", 'c')


[?25l:  [?12l[?25hcall SetReg('C', "\n")


[?25l:  [?12l[?25hcall SetReg('D', "\n", 'l')


[?25l:  [?12l[?25hcall SetReg('E', "\n")


[?25l:  [?12l[?25hcall SetReg('F', "\n", 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA3'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3'], 'l')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC3'], 'b')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD3'])


[?25l:  [?12l[?25hcall SetReg('e', [1, 2, 'abc', 3])


[?25l:  [?12l[?25hcall SetReg('f', [1, 2, 3])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ['abcA3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('b', ['abcB3l'], 'la')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3b'], 'lb')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD32'])


[?25l:  [?12l[?25h


[?25l:  [?12l[?25hcall SetReg('A', ['abcA32'])


[?25l:  [?12l[?25hcall SetReg('B', ['abcB3c'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ['abcC3l'], 'l')


[?25l:  [?12l[?25hcall SetReg('D', ['abcD3b'], 'b')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Appending lists with NL with setreg()'


[?25l:  [?12l[?25hcall SetReg('A', ["\n", 'abcA3l2'], 'l')


[?25l:  [?12l[?25hcall SetReg('B', ["\n", 'abcB3c2'], 'c')


[?25l:  [?12l[?25hcall SetReg('C', ["\n", 'abcC3b2'], 'b')


[?25l:  [?12l[?25hcall SetReg('D', ["\n", 'abcD3b50'],'b50')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Setting lists with NLs with setreg()'


[?25l:  [?12l[?25hcall SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4


-4-2"])


[?25l:  [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na


bcB4c-4-2"], 'c')


[?25l:  [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na


bcC4l-4-2"], 'l')


[?25l:  [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na


bcD4b-4-2"], 'b')


[?25l:  [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4


b10-4\nabcE4b10-4-2"], 'b10')


[?25l:  [?12l[?25h


[?25l:  [?12l[?25h$put ='{{{1 Search and expressions'


[?25l:  [?12l[?25hcall SetReg('/', ['abc/'])


[?25l:  [?12l[?25hcall SetReg('/', ["abc/\n"])


[?25l:  [?12l[?25hcall SetReg('=', ['"abc/"'])


[?25l:  [?12l[?25hcall SetReg('=', ["\"abc/\n\""])


[?25l:  [?12l[?25h$put ='{{{1 System clipboard'


[?25l:  [?12l[?25hif has('clipboard')


[?25l:    [?12l[?25h" Save and restore system clipboard.


[?25l:    [?12l[?25h" If no connection to X-Server is possible, test should succeed.


[?25l:    [?12l[?25hlet _clipreg = ['*', getreg('*'), getregtype('*')]


[?25l:    [?12l[?25hlet _clipopt = &cb


[?25l:    [?12l[?25hlet &cb='unnamed'


[?25l:    [?12l[?25h5y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25htabdo :windo :echo "hi"


[?25l:    [?12l[?25h6y


[?25l:    [?12l[?25hAR *


[?25l:    [?12l[?25hlet &cb=_clipopt


[?25l:    [?12l[?25hcall call('setreg', _clipreg)


[?25l:    [?12l[?25helse


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard conte


nts']", "clipboard contents\n", "['clipboard contents']")


[?25l:    [?12l[?25h  call AppendRegParts('*', 'V', "something else\n", "['something else']", 


"something else\n", "['something else']")


[?25l:    [?12l[?25hendif


[?25l:  [?12l[?25h$put ='{{{1 Errors'


[?25l:  [?12l[?25hcall ErrExe('call setreg()')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, 3, 4)')


[?25l:  [?12l[?25hcall ErrExe('call setreg([], 2)')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, {})')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, 2, [])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("/", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg("=", ["1", "2"])')


[?25l:  [?12l[?25hcall ErrExe('call setreg(1, ["", "", [], ""])')


[?25l:  [?12l[?25hendfun
[?25l:$put =str[:n]

:$put =str[n:n]

:unlet n

:let nn = 3

:$put =str[nn:]

:$put =str[:nn]

:$put =str[nn:nn]

:unlet nn

:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall Test()
[?25l*: type V; value: something else^@ (['something else']), expr: something else^@  (['something else'])

{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)

Vim(call):E730: using List as a String

Executing call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction SetReg
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction AppendRegContents
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction ErrExe
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hdelcommand AR
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name not starting with capital
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! g:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)8: Too many arguments for function: setreg[], 2)730: using List as a String1, {}1Dictionary as a String2, [])0List as a String"/", ["1", "2"])883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

~                                                                               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name includes a colon
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! b:test()


[?25l:  [?12l[?25h:echo "test"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25l{{{1 Errors

Executing call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)Vim(function):E128: Function name must start with a capital or "s:": b:test()[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name folowed by #
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h:func! test2() "#


[?25l:  [?12l[?25h:echo "test2"


[?25l:  [?12l[?25h:endfunc


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1)

Vim(call):E119: Not enough arguments for function: setreg

Executing call setreg(1, 2, 3, 4)

Vim(call):E118: Too many arguments for function: setreg

Executing call setreg([], 2)Vim(call):E730: using List as a String

Executing call setreg(1, {})Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! g:Foo(n)
[?25l

:  [?12l[?25h:  $put ='called Foo(' . a:n . ')'


[?25l:  [?12l[?25h:endfunction
[?25lExecuting call setreg()

Vim(call):E119: Not enough arguments for function: setreg[?12l[?25h[?25l

:[?12l[?25hlet b:my_func = function('Foo')
[?25l[?12l[?25h[?25l:[?12l[?25hcall b:my_func(1)
[?25l

called Foo(1)[?12l[?25h[?25l

:[?12l[?25hecho g:Foo(2)
[?25l0

called Foo(2)[?12l[?25h[?25l

:[?12l[?25hecho Foo(3)
[?25l0

called Foo(3)[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[?12l[?25h[?25l:[?12l[?25hso test_eval_func.vim
[?25ls:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[?12l[?25h[?25l:[?12l[?25htry
[?25l

:  [?12l[?25h: call append($, 'foobar')


[?25l:  [?12l[?25h:catch


[?25l:  [?12l[?25h:$put =v:exception


[?25l:  [?12l[?25h:endtry
[?25lExecuting call setreg(1, {})

Vim(call):E731: using Dictionary as a String

Executing call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore linesExecuting call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a Stringfunction):E128: Function name must start with a capital or "s:": g:test()btest2() "#

called Foo(123

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1func Bar exists: 1

Vim(call):E116: Invalid arguments for function append[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l

{{{1 getcurpos/setpos[?12l[?25h[?25l

/[?12l[?25h^012345678
[?25lsearch hit BOTTOM, continuing at TOP:let b:nn = 4

:$put =str[b:nn:]

:$put =str[:b:nn]

:$put =str[b:nn:b:nn]

:unlet b:nn

:"

:/^start:/+1,$wq! test.out

:" vim: et ts=4 isk-=\: fmr=???,???

:call getchar()

ENDTEST



012345678

012345678



start:

{{{1 let tests

": type v; value: abc (['abc']), expr: abc (['abc'])

": type V; value: abc^@ (['abc']), expr: abc^@ (['abc'])

": type V; value: abc^M^@ (['abc^M']), expr: abc^M^@ (['abc^M'])

=: type v; value: abc (['abc']), expr: "abc" (['"abc"'])

{{{1 Basic setreg tests

{{{2 setreg('a', 'abcA', 'c')

a: type v; value: abcA (['abcA']), expr: abcA (['abcA'])

search hit BOTTOM, continuing at TOP[?12l[?25h012345[?25l:[?12l[?25hlet sp = getcurpos()
[?25l[?12l[?25h
[?25l:[?12l[?25hcall setpos('.', sp)
[?25l[?12l[?25h[?25l:[?12l[?25h$put
[?25lExecuting call setreg(1, 2, [])

Vim(call):E730: using List as a String

Executing call setreg("/", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg("=", ["1", "2"])

Vim(call):E883: search pattern and expression register may not contain two or moore lines

Executing call setreg(1, ["", "", [], ""])

Vim(call):E730: using List as a String

Vim(function):E128: Function name must start with a capital or "s:": g:test()

Vim(function):E128: Function name must start with a capital or "s:": b:test()

Vim(function):E128: Function name must start with a capital or "s:": test2() "#

called Foo(1)

called Foo(2)

called Foo(3)

s:Testje exists: 0

func s:Testje exists: 1

Bar exists: 1

func Bar exists: 1

Vim(call):E116: Invalid arguments for function append

{{{1 getcurpos/setpos

6[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" substring and variable name
[?25l[?12l[?25h[?25l:[?12l[?25hlet str = 'abcdef'
[?25l[?12l[?25h[?25l:[?12l[?25hlet n = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[n:]
[?25l

def[?12l[?25h[?25l

:[?12l[?25h$put =str[:n]
[?25l

abcd[?12l[?25h[?25l

:[?12l[?25h$put =str[n:n]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet n
[?25l[?12l[?25h[?25l:[?12l[?25hlet nn = 3
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[nn:]
[?25ldef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:nn]
[?25labcd[?12l[?25h[?25l:[?12l[?25h$put =str[nn:nn]
[?25l

d[?12l[?25h[?25l

:[?12l[?25hunlet nn
[?25l[?12l[?25h[?25l:[?12l[?25hlet b:nn = 4
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:]
[?25lef

~                                                                               [?12l[?25h[?25l



:[?12l[?25h$put =str[:b:nn]
[?25labcde[?12l[?25h[?25l:[?12l[?25h$put =str[b:nn:b:nn]
[?25l

e[?12l[?25h[?25l

:[?12l[?25hunlet b:nn
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/+1,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 362 lines, 11279 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_eval = test61; then \
#	  if diff test.out test_eval.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_eval.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_fixeol.failed test.ok test.out X* viminfo
cp test_fixeol.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fixeol.in" 40 lines, 780 charactersTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol

:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol

:w! XXTestNoEol

:bwipe XXEol XXNoEol XXTestEol XXTestNoEol

:set fixeol[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'fixeol'vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 35 lines, 698 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Append "END" to each file so that we can see what the last written char was.

ggdGaEND^[:w >>XXEol

:w >>XXNoEol

:w >>XXTestEol

:w >>XXTestNoEol

:"

:" Concatenate the results

:e! test.out

a0^[:$r XXEol

:$r XXNoEol

Go1^[:$r XXTestEol

:$r XXTestNoEol

:w

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?25l[?12l[?25h[?25l:[?12l[?25h" use Unix fileformat for consistency
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25lwith eol[?12l[?25h[?25l:[?12l[?25hw! XXEol
[?25l"XXEol" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25henew!
[?25l[?12l[?25h[?25l:[?12l[?25hset noeol nofixeol
[?25l[?12l[?25h[?25lwithout eol[?12l[?25h[?25l:[?12l[?25hw! XXNoEol
[?25l"XXNoEol" [New File][Incomplete last line] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25hset eol fixeol
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


2 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" 1 line, 9 characterswith eol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l

stays eol[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [New File] 2 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [Incomplete last line] 1 line, 11 charactersout eol

~                                                                               [?12l[?25h[?25l

stays without[?12l[?25h[?25l:[?12l[?25hset nofixeol
[?25l[?12l[?25h[?25l:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [New File][Incomplete last line] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" 40 lines, 780 characters


4 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fixeol
[?25l:w! XXTestEol

:e! XXNoEol

ostays without^[:set nofixeol:w! XXTestNoEol:bwipe XXEol XXNoEol XXTestEol XXTestNoEol:set fixeol:":" Append "END" to each file so that we can see what the last written char was.ggdGaEND^[:w >>XXEol:w >>XXNoEol:w >>XXTestEol:w >>XXTestNoEol:":" Concatenate the results:e! test.outa0^[:$r XXEol:$r XXNoEolGo1^[:$r XXTestEol:$r XXTestNoEol:w:qa!ENDTEST[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25lTests for 'fixeol'vim: set ft=vim :



STARTTEST


:" use Unix fileformat for consistency

:set ff=unix

:enew!

awith eol^[:w! XXEol

:enew!

:set noeol nofixeol

awithout eol^[:w! XXNoEol

:set eol fixeol

:bwipe XXEol XXNoEol

:"

:" try editing files with 'fixeol' disabled

:e! XXEol

ostays eol^[:set nofixeol[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXEol
[?25l"XXEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File][?12l[?25h[?25l0[?12l[?25h[?25l:[?12l[?25h$r XXEol
[?25l"XXEol" 2 lines, 13 characterswith eolEND[?12l[?25h[?25l:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" 1 line, 15 characterswithout eolEND[?12l[?25h[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" 3 lines, 23 characterswith eolstays eolEND[?12l[?25h[?25l:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" 2 lines, 29 characterswithout eolstays withoutEND[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_fixeol = test61; then \
#	  if diff test.out test_fixeol.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_fixeol.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_fixeol.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_getcwd.failed test.ok test.out X* viminfo
cp test_getcwd.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_getcwd.in" 96 lines, 2374 charactersTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :



STARTTEST

:so small.vim

:" Do all test in a separate window to avoid E211 when we recursively

:" delete the Xtopdir directory during cleanup

:"

:" This will cause a few errors, do it silently.

:set visualbell

:set nocp viminfo+=nviminfo

:"

:" On windows a swapfile in Xtopdir prevents it from being cleaned up.

:set noswapfile

:"

:function! GetCwdInfo(win, tab)

: let tab_changed = 0

: let mod = ":t"

: if a:tab > 0 && a:tab != tabpagenr()

:   let tab_changed = 1

:   exec "tabnext " . a:tab

: endif

: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)

: if tab_changed[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for getcwd(), haslocaldir(), and :lcdvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 90 lines, 2273 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST
[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[?12l[?25h[?25l:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[?12l[?25h[?25l:[?12l[?25hset visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! GetCwdInfo(win, tab)
[?25l

:  [?12l[?25h: let tab_changed = 0


[?25l:  [?12l[?25h: let mod = ":t"


[?25l:  [?12l[?25h: if a:tab > 0 && a:tab != tabpagenr()


[?25l:    [?12l[?25h:   let tab_changed = 1


[?25l:    [?12l[?25h:   exec "tabnext " . a:tab


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)


[?25l:  [?12l[?25h: if tab_changed


[?25l:    [?12l[?25h:   tabprevious


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: if a:win == 0 && a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir()


[?25l:    [?12l[?25h: elseif a:tab == 0


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win)


[?25l:    [?12l[?25h: else


[?25l:    [?12l[?25h:   let dirname = fnamemodify(getcwd(a:win, a:tab), mod)


[?25l:    [?12l[?25h:   let lflag = haslocaldir(a:win, a:tab)


[?25l:    [?12l[?25h: endif


[?25l:  [?12l[?25h: return bufname . ' ' . dirname . ' ' . lflag


[?25l:  [?12l[?25h:endfunction
[?25l:wincmd W

:lcd Xdir2

:call add(r, GetCwdInfo(0, 0))

:wincmd W

:lcd Xdir3

:call add(r, GetCwdInfo(0, 0))

:call add(r, GetCwdInfo(bufwinnr("x"), 0))

:call add(r, GetCwdInfo(bufwinnr("y"), 0))

:call add(r, GetCwdInfo(bufwinnr("z"), 0))

:let tp_nr = tabpagenr()

:tabrewind

:call add(r, GetCwdInfo(3, tp_nr))

:call add(r, GetCwdInfo(2, tp_nr))

:call add(r, GetCwdInfo(1, tp_nr))

:"

:call writefile(r, test_out, "a")

:q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST

[?12l[?25h[?25l



:[?12l[?25h" On windows a stale "Xtopdir" directory may exist, remove it so that
[?25l[?12l[?25h[?25l:[?12l[?25h" we start from a clean state.
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hlet r=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       test_getcwd.in                                                                  [?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xtopdir')
[?25l[?12l[?25h[?25l:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir1')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir2')
[?25l[?12l[?25h[?25l:[?12l[?25hcall mkdir('Xdir3')
[?25l[?12l[?25h[?25l:[?12l[?25hnew a
[?25l"a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :q

:exec "cd " . cwd

:call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25hnew b
[?25l"b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :call delete("Xtopdir", "rf")

:qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25hnew c
[?25l"c" [New File]~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :qa!

ENDTEST



/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lc                                                                                a                                                                               [?12l[?25h[?25l:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir1/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                           b                                                                               ab                                                                               [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lc                                                                               b                                                                                [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir3/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/c/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/b/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/a[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lcb                                                                               b                                                           a                                                           /<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25htabnew x
[?25l"x" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  x                                               X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hnew y
[?25l"y" [New File]2 y  Xy                                                                                x                                                                                [?12l[?25h[?25l:[?12l[?25hnew z
[?25l"z" [New File] 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               z                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               y                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               x                                                                               [?12l[?25h[?25l:[?12l[?25h3wincmd w
[?25lz                                                                                x                                                                               x  X[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25ly                                                                               x                                                                                y  X[?12l[?25h[?25l:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir2/b/v/v/s/v/t/X/y  X/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hwincmd W
[?25lzb /                Xz                                                                               yb                                                                               x                                                           [?12l[?25h[?25l:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir3/b/v/v/s/v/t/X/z  X/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/z/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/y/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/x[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[?12l[?25h[?25l:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[?12l[?25h[?25l:[?12l[?25htabrewind
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l 5 /b/v/v/s/v/t/test_getcwd.in  3 z                                             X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       ENDTEST



/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in               [?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[?12l[?25h[?25l:[?12l[?25hq
[?25l 4 [No Name]  3 z                                                               X~                                                                               ~                                                                               ~                                                                               c                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               b                                                                               ~                                                                               ~                                                                               ~                                                                               a                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       [?12l[?25h[?25l:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdirX/z  XXtopdir/cXtopdir/bXtopdir/a

[?12l[?25h[?25l:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_getcwd = test61; then \
#	  if diff test.out test_getcwd.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_getcwd.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_insertcount.failed test.ok test.out X* viminfo
cp test_insertcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_insertcount.in" 14 lines, 204 charactersTests for repeating insert and replace.



STARTTEST

:so small.vim

:/Second

4gro

:/^First/,$wq! test.out

:" get here when failed and in Insert mode

^[:.wq! test.out

ENDTEST



First line

Second line

Last line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for repeating insert and replace.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 111 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h/Second
[?25l[?12l[?25h[?25looooecond line
ooo[?12l[?25h

Las[?25l:[?12l[?25h/^First/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 3 lines, 36 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_insertcount = test61; then \
#	  if diff test.out test_insertcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_insertcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_insertcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listchars.failed test.ok test.out X* viminfo
cp test_listchars.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listchars.in" 54 lines, 705 charactersTests for 'listchars' display with 'list' and :list



STARTTEST

:so small.vim

:set ff=unix

:let g:lines = []

:function GetScreenCharsForLine(lnum)

:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))')), '')

:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"

:set listchars+=tab:>-,space:.,trail:<

:set list

:

/^start:/

:normal! jzt

GG

GG

GG

GG

GGH:

:set listchars-=trail:<[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'listchars' display with 'list' and :list[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 25 lines, 431 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTGG

GG

GG

GG

GG:

:put =g:lines

:'[,']w! test.out

ENDTEST[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:lines = []
[?25l[?12l[?25h[?25l:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l

:  [?12l[?25h:  return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val


))'), '')


[?25l:  [?12l[?25h:endfunction
[?25l:endfunction

:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\<CR>"[?12l[?25h[?25l

:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))


\<CR>"
[?25l:endfunction[?12l[?25h[?25l

:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset list
[?25l$.<expr>.GG.":call..\\<CR>"$

:set.$

:set.list$

:$$.jzt$

GG$

GG$

GG$

GG$

GGH:$

:set.$

GG$

GG$

GG$

GG$

GG:$

:put.$.$$

$[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:$[?12l[?25h[?25l

:[?12l[?25hnormal! jzt
[?25l>-------aa>-----$

..bb>---<<$

...cccc><$

dd........ee<<>-$

<$

$

$

STARTTEST$

:set.listchars+=trail:<$

:set.nolist$

:$

/^start:/$

:redir!.>>.test.out$

:+1,$list$

:redir.END$

:q!$

ENDTEST$

$

start:$

..fff>--<<$

>-------gg>-----$

.....h>-$

iii<<<<><<$[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hset listchars-=trail:<
[?25l.....

.......>..[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(1))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(2))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(3))
[?12l[?25h[?25l:call add(g:lines, GetScreenCharsForLine(4))
[?12l[?25h

[?25l:call add(g:lines, GetScreenCharsForLine(5))
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hput =g:lines
[?25l10 more >-------aa>-----$$

..bb>---<<$$

...cccc><$$

dd........ee<<>-$$

<$$

>-------aa>-----$$

..bb>---..$$

...cccc>.$$

dd........ee..>-$$

.$$10 more lines[?12l[?25h[?25l:[?12l[?25h'[,']w! test.out
[?25l"test.out" [New File] 10 lines, 124 characters written[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 8 lines, 93 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:+1,$list$

:redir.END$

:q!$

ENDTEST$[?12l[?25h[?25l

$[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hset listchars+=trail:<
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist
[?25l   >>  [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l/[?12l[?25h^start:/
[?25l

start:[?12l[?25h[?25l

:[?12l[?25hredir! >> test.out
[?25l[?12l[?25h[?25l:[?12l[?25h+1,$list
[?25l..fff>--<<$


>-------gg>-----$


.....h>-$


iii<<<<><<$


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l>-------aa>-----$

..bb>---..$

...cccc>.$

dd........ee..>-$

.$STARTTEST:set listchars+=trail:<

:set nolist

:

/^start:/

:redir! >> test.out+1,$listredir END

:q!ENDTESTstart:  fff

        ggh

iii   [?12l[?25h[?25l

:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listchars = test61; then \
#	  if diff test.out test_listchars.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listchars.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listchars.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr.failed test.ok test.out X* viminfo
cp test_listlbr.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr.in" 119 lines, 2868 charactersTest for linebreak and list option (non-utf8)



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |  endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width)

:let c=''

:for j in range(1,4)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu

:fu! DoRecordScreen()

:wincmd l

:$put =printf(\"\n%s\", g:test)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option (non-utf8)[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 114 lines, 2792 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTESTabcd{ef

ghijklm

no}pqrs^[2k0f{^V^Vc%^[

:"

:let g:test ="Test 11: using block replace mode after wrapping"

:$put =g:test

:set linebreak wrap

Go^[150aa^[yypk147|^Vjr0

:"

:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$":set list listchars=space:_,trail:-,tab:>-,eol:$

:$put =g:test

:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |


endif
[?25labcd{ef[?12l[?25h[?25l

:[?12l[?25h10new|:vsp|:vert resize 20
[?25l       ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =linenorm! zt

:redraw!let line=ScreenChar(winwidth(0))

:call DoRecordScreen()%w! test.outqaENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz_1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,4)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 1: set         

+linebreak          

    abcdef          

+hijklmn            

+pqrstuvwxyz_1060ABCTest 1: set linebreak    abcdef          +hijklmn            +pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[?12l[?25h[?25l:[?12l[?25hset linebreak list listchars=
[?25l^Iabcdef hijklmn^I  pqrstuvwxyz_1060ABCDEFGHIJKLMNOP      

              

Test 1: set

+linebreak 

    abcdef

+hijklmn  

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP      [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l^Iabcdef hijklmn^I  |

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      |

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz_1060ABCDEFGHIJKLMNOPTest 1: set linebreakabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP~                                                          ~                                                          [No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines    abcdef                                                 +hijklmn                                                   +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                             ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l    abcdef          hijklmn            pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

           

Test 1: set

+linebreak

    abcdef

+hijklmn            

+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hredraw!
[?25labcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

+DEFGHIJKLMNOP      ||

Test 1: set|

+linebreak|

    abcdef|

+hijklmn|

+pqrstuvwxyz_1060ABC|

[No Name] [+]        abcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 2: set linebreak + set list^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines^Iabcdef hijklmn^I                                         +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Test 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou


ld break!"
[?25labcdef|^Iabcdef hijklmn^I[?12l[?25h[?25l:[?12l[?25hset nolist linebreak ts=8
[?25l    abcdef[?12l[?25h[?25l:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25l      

        

Test 3: set         linebreak nolist

    abcdef

+hijklmn   

+pqrstuvwxyz_1060ABC

+DEFGHIJKLMNOP

1       

+aaaaaaaaaaaaaaaaaa [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l1|

+aaaaaaaaaaaaaaaaaa |||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ^Iabcdef hijklmn^I+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOPTest 3: set linebreak nolistabcdef+hijklmn+pqrstuvwxyz_1060ABC+DEFGHIJKLMNOP[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa +pqrstuvwxyz_1060ABC                                       +DEFGHIJKLMNOP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     1aaaaaaaaaaaaaaaaaaTest 4: set linebreak with tab and 1 line as long as screen+: should break!1+aaaaaaaaaaaaaaaaaa~~4 more lines[?12l[?25h[?25l:[?12l[?25hlet line="_S_\t bla"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lTest 4: set         

+linebreak with tab 

+and 1 line as long 

+as screen: should  

+break!             

1                   

+aaaaaaaaaaaaaaaaaa 

                    

                    

                    ~

~

_S_      bla[?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l_S_      bla        

                    

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak with conceal and set list and tab displayed


by different char (line may not be truncated)"
[?25l_S_      bla|+pqrstuvwxyz_1060ABC[?12l[?25h[?25l:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25labbbb[?12l[?25h[?25l:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25lSabb[?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 5: set         

+linebreak with     

+conceal and set    

+list and tab       

+displayed by       

+different char     

+(line may not be   

+truncated)         ~                                                          ~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  _S_      blaTest 5: set linebreak with conceal and set list and tab dis+played by different char (line may not be truncated)Sabbbbbb bla~~~4 more lines[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: this not"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25labbbbbb

~

~          

~              

Test 6: set     nebreak withvisual block mode

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE: this not    [?12l[?25h[?25l:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25lREMOVE:             

+aaaaaaaaaaaaa      [?12l[?25h[?25l:[?12l[?25h1/^REMOVE:
[?25l[?12l[?25h[?25l[?12l[?25h[?25lR[?12l[?25h[?25lEMOVE: 

REMOVE:[?12l[?25h[?25lthis not        

aaaaaaaaaaaaa

~                   [?12l[?25h[?25l:[?12l[?25h$put
[?25l~                   

~                   

~                   

Test 6: set         

+linebreak with     

+visual block mode  

this not            

aaaaaaaaaaaaa       

~                   

                    REMOVE:             

REMOVE:[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lthis not            

aaaaaaaaaaaaa       

REMOVE:             

REMOVE:             

                    

                    

                    

                    

                    

                    Test 7: set

+linebreak with

+visual block mode

+and vbA

~                   

~                   [?12l[?25h[?25llong line:          [?12l[?25h[?25l foobar

+foobar foobar      @                   

@                           

             

       

       

           

               

                  

        

                    

                    +foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar foobar

+foobar[?12l[?25h+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar foobar      

+foobar             

                    [?25lTARGET at

+end[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx at[?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak sbr=
[?25lfoobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar foobar 

foobar TARGETx at 

end played by different char (line may not be truncated)[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set  

linebreak with

visual char mode

and changing block

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l1111-1111-1111-11-  

1111-1111-1111      [?12l[?25h[?25l[?12l[?25h[?25l111[?12l[?25h[?25l2222[?12l[?25h[?25l2222[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                [?12l[?25h[?25l1111-2222-1111-11-  

1111-2222-1111      

Test 9: using redo  

after block visual  

mode                

~                   

                    

                    

                    

                                        

aaa

aaa

a

~                   [?12l[?25h[?25l[?12l[?25h[?25la

a[?12l[?25h[?25l3 lines changedA

A

A[?12l[?25h[?25lA

AaA[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 9: using redo  

after block visual  

mode                

                    

AaA                 

AaA                 

A                   

~                   

                    

                    Test 10: using      

normal commands

after block-visual[?12l[?25h[?25l:[?12l[?25hset linebreak
[?25l[?12l[?25h[?25lAaA                 

AaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

                    

                    

                    abcd{ef

ghijklm

no}pqrs[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25lpqrs

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lAaA                 

A                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

~                   

~                   

                    Test 11: using      

block replace mode  

after wrapping[?12l[?25h[?25l:[?12l[?25hset linebreak wrap
[?25l[?12l[?25h[?25lA                   

Test 10: using      

normal commands     

after block-visual  

                    

abcdpqrs            

Test 11: using      

block replace mode  

after wrapping      

                    [?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa        

~                   

~                   [?12l[?25h[?25l[?12l[?25h[?25laaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l[?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaa

~                   

~                   [?12l[?25h[?25l0

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa@                   

@                   [?12l[?25h[?25l@                   

@                   

                    

                    

                    

                    

                    

                    

                    

                    aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaa

aaaaaa0aaa

~                   

~                   [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$


"[?25laaaaaaaaaaaaaaaaaaaa|~[?12l[?25h[?25l:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l$[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[?12l[?25h[?25l:[?12l[?25h$put =line
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25la_                  

aaaaaaaaaaaaaaaaaaaa

aa>-----a-$         

~                   

~                   

~                   

                    

                    

                    

                    ~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25la_|

aaaaaaaaaaaaaaaaaaaa|

aa>-----a-$||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ~~_S_      blaTest 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)Sabbbbbb bla~~~[No Name] [+]                                              :let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "

:$put =line

:$

:norm! zt

:redraw!

:let line=ScreenChar(winwidth(0))

:call DoRecordScreen()

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr.in                                                                 [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines$                   

Test_12:_set_       

linebreak_list_     

listchars=space:,   

tab:>-,tail:-,eol:$$

a------------------ 

$                   Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a aaaaaaaaaaaaaaaaaaaaaaa12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$a_          aaaaaaaaaaaaaaaaaaaaaa>-----a-$[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 62 lines, 2030 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr = test61; then \
#	  if diff test.out test_listlbr.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_search_mbyte.failed test.ok test.out X* viminfo
cp test_search_mbyte.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search_mbyte.in" 15 lines, 226 charactersTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for search('multi-byte char', 'bce')[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 6 lines, 140 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hsource small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hsource mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25lTest for search('multi-byte char', 'bce')



STARTTEST

:source small.vim

:source mbyte.vim

:set encoding=utf-8

:/^Test bce:/+1

:$put =search('A', 'bce', line('.'))

:1;/^Results:/,$wq! test.out

ENDTEST



Results:



Test bce:

A

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h/^Test bce:/+1
[?25l[?12l[?25h[?25l:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l15[?12l[?25h[?25l:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [New File] 5 lines, 27 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_search_mbyte = test61; then \
#	  if diff test.out test_search_mbyte.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_search_mbyte.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_search_mbyte.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_utf8.failed test.ok test.out X* viminfo
cp test_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_utf8.in" 46 lines, 1245 charactersTests for Unicode manipulationsvim: set ft=vim :



STARTTEST

:so small.vim

:set encoding=utf-8

:"

:" Visual block Insert adjusts for multi-byte char

:new


:exe ":norm! gg0l\<C-V>jjIx\<Esc>"

:let r = getline(1, '$')

:"

:bwipeout!

:$put=r

:"

:" Test for built-in function strchars()


:$put=strchars(str)

:$put=strchars(str, 0)

:$put=strchars(str, 1)

:endfor

:"

:" Test for customlist completion[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for Unicode manipulationsvim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 1151 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)


:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST
[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf-8
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:return ['あ', 'い']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo

:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete2(lead, line, pos)

:return ['あたし', 'あたま', 'あたりめ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo

:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:function! CustomComplete3(lead, line, pos)

:return ['Nこ', 'Nん', 'Nぶ']

:endfunction

:command -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"

:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST

[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']endfunctioncommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')"call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST test_utf8.in                                                                    [?12l[?25h[?25l:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25laaa

あああbbb[+][?12l[?25h[?25l:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25lxaa

xあああ

bxbb[?12l[?25h[?25l:[?12l[?25hlet r = getline(1, '$')
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hbwipeout!
[?25l:" Test for customlist completion

:function! CustomComplete1(lead, line, pos)

:       return ['あ', 'い']

:endfunction:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it'):":function! CustomComplete2(lead, line, pos):       return ['あたし', 'あたま', 'あたりめ']:endfunction:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')"function! CustomComplete3(lead, line, pos)

:       return ['Nこ', 'Nん', 'Nぶ']

:endfunctionommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo

:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')

:"call garbagecollect(1):/^start:/,$wq! test.out

ENDTEST

 [?12l[?25h[?25l:[?12l[?25h$put=r
[?25l3 more linesstart:

axaa

xあああ

bxbb3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for built-in function strchars()
[?25l[?12l[?25h[?25l:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l

:  [?12l[?25h:^I$put=strchars(str)


[?25l:  [?12l[?25h:^I$put=strchars(str, 0)


[?25l:  [?12l[?25h:^I$put=strchars(str, 1)


[?25l:  [?12l[?25h:endfor
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out

ENDTEST



start:axaaxあああbxbb11133322133

1111[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test for customlist completion
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あ', 'い']


[?25l:  [?12l[?25h:endfunction
[?25l:call garbagecollect(1)

:/^start:/,$wq! test.out[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test1 ...'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 ''Test1 '


Test1[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['あたし', 'あたま', 'あたりめ']


[?25l:  [?12l[?25h:endfunction
[?25l:/^start:/,$wq! test.out

ENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた''Test2 あた'


Test2 あた[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l

:  [?12l[?25h:^Ireturn ['Nこ', 'Nん', 'Nぶ']


[?25l:  [?12l[?25h:endfunction
[?25lENDTEST[?12l[?25h[?25l

:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[?12l[?25h[?25l:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[?12l[?25h[?25l:Test3 ...N'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N''Test3 N'


Test3 N[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 22 lines, 86 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_utf8 = test61; then \
#	  if diff test.out test_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_wordcount.failed test.ok test.out X* viminfo
cp test_wordcount.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_wordcount.in" 126 lines, 2815 charactersTest for wordcount() function



STARTTEST

:so small.vim

:so mbyte.vim

:set enc=utf8

:set selection=inclusive fileformat=unix fileformats=unix

:new

:fu DoRecordWin(...)

:wincmd k

:if exists("a:1")

:call cursor(a:1)

:endif

:let result=[]

:call add(result, g:test)

:call add(result, getline(1, '$'))

:call add(result, wordcount())

:wincmd j

:return result

:endfu

:fu PutInWindow(args)

:wincmd k

:%d _[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for wordcount() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 121 lines, 2753 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"


:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:0

v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:let g:test="Test 11: visual mode, single line"

:call PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])

:wincmd k

:set ls=2 stl=%{STL()}

:" start visual mode quickly and select complete buffer

:2

0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])

:let log[2]=g:visual_stat

:call Log()

:"

:/^RESULT test/,$w! test.out

:qa!

ENDTEST

RESULT test:
[?12l[?25h[?25l

:[?12l[?25hset selection=inclusive fileformat=unix fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       0v$y

:set stl= ls=1

:let log=DoRecordWin([3,99,0])[2]=g:visual_statcall Log()"/^RESULT test/,$w! test.out

:qa!ENDTEST

RESULT test:

test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hfu DoRecordWin(...)
[?25l

:  [?12l[?25h:^Iwincmd k


[?25l:  [?12l[?25h:       if exists("a:1")


[?25l:    [?12l[?25h:           call cursor(a:1)


[?25l:    [?12l[?25h:       endif


[?25l:  [?12l[?25h:       let result=[]


[?25l:  [?12l[?25h:       call add(result, g:test)


[?25l:  [?12l[?25h:       call add(result, getline(1, '$'))


[?25l:  [?12l[?25h:       call add(result, wordcount())


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:       return result


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu PutInWindow(args)
[?25l

:  [?12l[?25h:       wincmd k


[?25l:  [?12l[?25h:       %d _


[?25l:  [?12l[?25h:       call append(1, a:args)


[?25l:  [?12l[?25h:^Iwincmd j


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu Log()
[?25l

:  [?12l[?25h:   $put ='----'


[?25l:  [?12l[?25h:   $put =remove(g:log,0)


[?25l:  [?12l[?25h:   $put =string(g:log)


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hfu! STL()
[?25l

:  [?12l[?25h:    if mode() =~? 'V'


[?25l:    [?12l[?25h:       let g:visual_stat=wordcount()


[?25l:    [?12l[?25h:    endif


[?25l:  [?12l[?25h:    return string(wordcount())


[?25l:  [?12l[?25h:endfu
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin()
[?25l[No Name]                                                                        test_wordcount.in                                                               [?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 1: empty window

[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00, 'cursor_bytes': 0}][+][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25lone two three[+][?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 2: some words, cursor at start

[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worrds': 0, 'bytes': 15, 'cursor_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 3: some words, cursor at end

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[?12l[?25h[?25l:[?12l[?25hset ve=all
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 4: some words, cursor at end, ve=all

[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woords': 3, 'bytes': 15, 'cursor_bytes': 15}][?12l[?25h[?25l





:[?12l[?25hset ve=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25lone two threeone two three--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 5: several lines with words

[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__chars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow('one two three')
[?25l~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25l[No Name] [+]                                                                   test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset bomb
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xtest
[?25l"Xtest" [New File] 2 lines, 18 characters writtenXtesta         [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 6: one line with BOM set

[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woords': 3, 'bytes': 18, 'cursor_bytes': 14}][?12l[?25h[?25l





:[?12l[?25hwincmd k
[?25lXtest                                                                           test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset nobomb
[?25l[+][?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written    [?12l[?25h[?25l:[?12l[?25hwincmd j
[?25lXtest                                                                            test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh'])
[?25lÄne M¤ne Müh[+]--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 7: one line with multibyte words

[['', 'Äne M¤ne Müh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worrds': 3, 'bytes': 17, 'cursor_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25lund raus bist dü!--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 8: several lines with multibyte words

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'cursor_chars': 31, 'wwords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l 

Äne M¤ne Müh 

und raus bist dü! ds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[?12l[?25h[?25lÄne M¤ne Mühnd raus bist dü!3 lines yankedursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 9: visual mode, complete buffer

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h0
[?25l[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[?12l[?25h[?25l[?12l[?25h[?25lursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[?12l[?25h2,1,3}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]a                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 10: visual mode (empty)

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[?12l[?25h[?25l:[?12l[?25hcall PutInWindow(['Äne M¤ne Müh', 'und raus bist dü!'])
[?25l--No lines in buffer--[?12l[?25h[?25l:[?12l[?25hwincmd k
[?25lXtest [+]                                                                       test_wordcount.in [+]                                                            [?12l[?25h[?25l:[?12l[?25hset ls=2 stl=%{STL()}
[?25l<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[?12l[?25h[?25l:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[?12l[?25h[?25l:[?12l[?25h2
[?25l2,1,3}[?12l[?25h[?25lords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_2}[?12l[?25h[?25lÄne M¤ne Mühds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[?12l[?25h[?25l
Äne M¤ne Mühursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[?12l[?25hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[?25l:[?12l[?25hset stl= ls=1
[?25lXtest [+]s                                                                       test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25lXtest [+]                                                                        test_wordcount.in [+]                                                           [?12l[?25h[?25l:[?12l[?25hlet log[2]=g:visual_stat
[?25l[?12l[?25h[?25l:[?12l[?25hcall Log()
[?25l----

Test 11: visual mode, single line

[['', 'Äne M¤ne Müh', 'und raus bist dü!'], {'chars': 32, 'words': 7, 'bytes': 336, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][?12l[?25h[?25l





:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^RESULT test/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 34 lines, 1905 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_wordcount = test61; then \
#	  if diff test.out test_wordcount.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_wordcount.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_wordcount.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test11.failed test.ok test.out X* viminfo
cp test11.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test11.in" 84 lines, 3366 charactersTests for autocommands:

- FileWritePrewriting a compressed file

- FileReadPostreading a compressed file

- BufNewFilereading a file template

- BufReadPredecompressing the file to be read

- FilterReadPresubstituting characters in the temp file

- FilterReadPostsubstituting characters after filtering

- FileReadPreset options for decompression

- FileReadPostdecompress the file



Note: This test is skipped if "gzip" is not available.

$GZIP is made empty, "-v" would cause trouble.

Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being

modified outside of Vim (noticed on Solaris).



STARTTEST

:so small.vim

:" drop out when there is no gzip program

:if !executable("gzip")

: e! test.ok

: w! test.out

: qa!

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for autocommands:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 48 lines, 2298 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w" write it, after filtering

:au!" remove all autocommands

:e" Edit test.out again

:set nobin ff&   " use the default fileformat for writing

:w

:qa!

ENDTEST



startstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" drop out when there is no gzip program
[?25l[?12l[?25h[?25l:[?12l[?25hif !executable("gzip")
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:au! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>""))

:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/[?12l[?25h[?25l:[?12l[?25hlet $GZIP = ""
[?25l[?12l[?25h[?25l:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePre    *.gz   '[,']!gzip
[?25l[?12l[?25h[?25l:[?12l[?25hau FileWritePost   *.gz   undo
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered

"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written


10 more lines; before #1  0 seconds ago


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileReadPost    *.gz   '[,']!gzip -d
[?25l:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))

:au! FileReadPost   *.gz   '[,']s/l/L/

:$r Xtestfile.gz" Read compressed file

:w                           " write it, after filtering

:au!             " remove all autocommandse" Edit test.out againset nobin ff&   " use the default fileformat for writing

:wqa!ENDTESTstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx45678910

end of testfile[?12l[?25h[?25l

:[?12l[?25h$r Xtestfile.gz                " Read and decompress the testfile
[?25l"Xtestfile.gz" [Incomplete last line] 1 line, 111 characters
[?12l[?25h[?25lstart of test.c

/*

 * Here is a new .c file

 */

end of test.c

start of testfile[?12l[?25h[?25l

:[?12l[?25h?startstart?,$w! test.out      " Write contents of this file
[?25l"test.out" [New File] 29 lines, 788 characters written[?12l[?25h[?25l:[?12l[?25hau BufNewFile      *.c    read Xtest.c
[?25l[?12l[?25h[?25l:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25lsearch hit BOTTOM, continuing at TOP"Xtest.c" [New File] 3 lines, 32 characters written[?12l[?25h[?25l:[?12l[?25he! foo.c                       " Will load Xtest.c
[?25l"foo.c" [New File]

"Xtest.c" 3 lines, 32 characters


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau FileAppendPre   *.out  '[,']s/new/NEW/
[?25l/*

 * Here is a new .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FileAppendPost  *.out  !cat Xtest.c >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 4 lines, 33 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hau! FileAppendPre
[?25l/*

 * Here is a NEW .c file

 */

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPre      *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25hau BufReadPost     *.gz   exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile.gz                " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'


[?12l[?25h[?25l"Xtestfile.gz""Xtestfile.gz" 11 lines, 357 characters:!gzip 'Xtestfile'


[?12l[?25h[?25lcaught FileChangedShell


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw>>test.out                    " Append it to the output file
[?25l"test.out" 11 lines, 357 characters appended


:!cat Xtest.c >>test.out


[?12l[?25h

Press ENTER or type command to continue[?25l:[?12l[?25hset shelltemp                  " need temp files here
[?25lstart of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 4  Abcdefghijklmnopqrstuvwxyz

line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 6  Abcdefghijklmnopqrstuvwxyz

line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 8  Abcdefghijklmnopqrstuvwxyz

line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>") . "


.t")
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi


le>")) . ".t >" . shellescape(expand("<afile>"))
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPre   *.out  exe 'silent !rm ' . shellescape(expand("<afile>")) .


'.t'
[?25lstart of testfile[?12l[?25h[?25l:[?12l[?25hau FilterReadPost  *.out  '[,']s/x/X/g
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out                    " Edit the output file
[?25l"test.out" 50 lines, 1242 charactersstarstart of testfile2  Abcdefghijklmnopqrstuvwxyz3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4  Abcdefghijklmnopqrstuvwxyz5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6  Abcdefghijklmnopqrstuvwxyz7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8  Abcdefghijklmnopqrstuvwxyz9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

line 10 Abcdefghijklmnopqrstuvwxyz

end of testfilestart of test.c/* * Here is a new .c file */end of test.cstart of testfileline 2  Abcdefghijklmnopqrstuvwxyzline 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 4  Abcdefghijklmnopqrstuvwxyzline 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[?12l[?25h[?25l:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines


28 lines filtered


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h23,$s/\r$//                 " remove CR for when sed adds them
[?25lE486: Pattern not found: \r$

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau! FileReadPre    *.gz   exe 'silent !gzip -d ' . shellescape(expand("<afile>


"))
[?25lstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE 5  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[?12l[?25h[?25l

:[?12l[?25hau  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[?12l[?25h[?25l:[?12l[?25hau! FileReadPost   *.gz   '[,']s/l/L/
[?25l[?12l[?25h[?25l:[?12l[?25h$r Xtestfile.gz             " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" 11 lines, 357 characters


11 substitutions on 11 lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw                           " write it, after filtering
[?25l"test.out"61 lines, 1599 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hau!             " remove all autocommands
[?25lE216: No such group or event: " remove all autocommands


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he               " Edit test.out again
[?25l"test.out"61 lines, 1599 charactersstartstart

start of testfile

line 2  Abcdefghijklmnopqrstuvwxyz

line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"test.out" 61 lines, 1599 characters[?12l[?25h[?25l:[?12l[?25hset nobin ff&   " use the default fileformat for writing
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test11 = test61; then \
#	  if diff test.out test11.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test11.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test52.failed test.ok test.out X* viminfo
cp test52.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test52.in" 65 lines, 1645 charactersTests for reading and writing files with conversion for Win32.



STARTTEST

:so mbyte.vim

:" make this a dummy test for non-Win32 systems

:if !has("win32") | e! test.ok | wq! test.out | endif

:"

:" write tests:

:" combine three values for 'encoding' with three values for 'fileencoding'

:" also write files for read tests

/^1

:set encoding=utf-8

:.w! ++enc=utf-8 test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=utf-8 Xutf8

/^2

:set encoding=cp1251

:.w ++enc=utf-8 >>test.out

:.w ++enc=cp1251 >>test.out

:.w ++enc=cp866 >>test.out

:.w! ++enc=cp1251 Xcp1251

/^3[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for reading and writing files with conversion for Win32.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 57 lines, 1333 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xcp1251

:.w ++enc=cp1251 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp1251 >>test.out

:"

:" read three 'fileencoding's with cp866 'encoding'

:set encoding=cp866 fencs=utf-8,cp1251

:e Xutf8

:.w ++enc=cp866 >>test.out

:e Xcp1251

:.w ++enc=cp866 >>test.out

:set fencs=utf-8,cp866

:e Xcp866

:.w ++enc=cp866 >>test.out

:"

:qa!

ENDTEST






[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[?12l[?25h[?25l:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" 18 lines, 1374 characters


"test.out" [New File] 18 lines, 1374 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test52 = test61; then \
#	  if diff test.out test52.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test52.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test52.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test85.failed test.ok test.out X* viminfo
cp test85.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test85.in" 85 lines, 1868 charactersTest for Lua interface and luaeval() function



STARTTEST

:so small.vim

:so lua.vim

:set nocompatible viminfo+=nviminfo

:lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"

:lua h = vim.dict(); h.list = l

:call garbagecollect()

/^1

:" change buffer contents

:lua curbuf = vim.buffer()

:lua curline = vim.eval"line('.')"

:lua curbuf[curline] = "1 changed line 1"

:" scalar test

:let tmp_string = luaeval('"string"')

:let tmp_1000 = luaeval('1000')

:if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"

:let scalar_res = "OK"

:else

:let scalar_res = "FAILED"

:endif

:call append(search("^1"), "scalar test " . scalar_res)[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for Lua interface and luaeval() function[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 77 lines, 1775 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")

:lua d[4] = d[0]

:lua d[5] = d[1]

:lua d[6] = d[2]

:lua d[7] = d[3]

:lua d[3] = nil

:lua d[2] = nil

:lua d[1] = nil

:lua d[0] = nil

:lua d = nil

:$put =string(d)



:?^1?,$w! test.out

:qa!

ENDTEST



1 line 1

2 line 2

3 line 3[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso lua.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[?12l[?25h[?25l:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect()
[?25l[?12l[?25h[?25l/[?12l[?25h^1
[?25l[?12l[?25h[?25l:[?12l[?25h" change buffer contents
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf = vim.buffer()
[?25l[?12l[?25h[?25l:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[?12l[?25h[?25l:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25lchanged line 1
[?12l[?25h[?25l:[?12l[?25h" scalar test
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[?12l[?25h[?25l:[?12l[?25hif printf("%s%.0f", tmp_string, tmp_1000) == "string1000"
[?25l

:  [?12l[?25h:let scalar_res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let scalar_res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d = vim.eval("d")

:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")[?12l[?25h[?25l





:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25lscalar test OK

2 line 2[?12l[?25h[?25l:[?12l[?25h" dictionary containing a list
[?25l[?12l[?25h[?25l:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[?12l[?25h[?25l:[?12l[?25h/^2/put =tmp
[?25l

dictionary with list OK[?12l[?25h[?25l

:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l
[?25l[?12l[?25h[?25l:[?12l[?25hlet l2 = luaeval("h").list
[?25l[?12l[?25h[?25l:[?12l[?25hif l2[2] == l2
[?25l

:  [?12l[?25h:let res = "OK"


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:let res = "FAILED"


[?25l:  [?12l[?25h:endif
[?25l:lua d[0] = 123

:lua d[1] = "abc"

:lua d[2] = vim.eval("[1, 2, 3]")

:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")[?12l[?25h[?25l

:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l

circular test OK[?12l[?25h[?25l

:[?12l[?25hlet l = []
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = vim.eval("l")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(123)
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert("abc")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = l[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = l[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = l[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = l[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua l = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(l)
[?25l

[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][?12l[?25h[?25l

:[?12l[?25hlet d = {}
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = vim.eval("d")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = 123
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = "abc"
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[4] = d[0]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[5] = d[1]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[6] = d[2]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[7] = d[3]
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[3] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[2] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[1] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d[0] = nil
[?25l[?12l[?25h[?25l:[?12l[?25hlua d = nil
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(d)
[?25l

{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[?12l[?25h[?25l

:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [New] 7L, 206C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test85 = test61; then \
#	  if diff test.out test85.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test85.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test85.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test86.failed test.ok test.out X* viminfo
cp test86.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test86.in" 1711 lines, 48481 charactersTests for various python features.     vim: set ft=vim :



NOTE: This will cause errors when run under valgrind.

This would require recompiling Python with:

  ./configure --without-pymalloc

See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup



STARTTEST

:so small.vim

:set encoding=latin1

:set noswapfile

:if !has('python') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py import vim

:py cb = vim.current.buffer

:let l = []

:py l=vim.bindeval('l')

:py f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py l.extend([1, "as'd", [1, 2, f, {'a': 1}]])

:$put =string(l)

:$put =string(l[-1])[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1700 lines, 48188 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=latin1
[?25l:   endif

:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" 1445 lines, 67439 characters


"test.out" [New File] 1445 lines, 67439 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test86 = test61; then \
#	  if diff test.out test86.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test86.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test86.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test87.failed test.ok test.out X* viminfo
cp test87.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test87.in" 1707 lines, 49069 charactersTests for various python features.     vim: set ft=vim :



STARTTEST

:so small.vim

:set noswapfile

:if !has('python3') | e! test.ok | wq! test.out | endif

:lang C

:fun Test()

:py3 import vim

:py3 cb = vim.current.buffer

:let l = []

:py3 l=vim.bindeval('l')

:py3 f=vim.bindeval('function("strlen")')

:" Extending List directly with different types

:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]

:$put =string(l)

:$put =string(l[-1])

:try

:  $put =string(l[-4])

:catch

:  $put =v:exception[:13]

:endtry

:" List assignment[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for various python features.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 1701 lines, 48985 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h

[?25l



:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset noswapfile
[?25l[?12l[?25h[?25l:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hfun Test()
[?25l

:  [?12l[?25h:py3 import vim


[?25l:  [?12l[?25h:py3 cb = vim.current.buffer


[?25l:  [?12l[?25h:let l = []


[?25l:  [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:  [?12l[?25h:py3 f=vim.bindeval('function("strlen")')


[?25l:  [?12l[?25h:" Extending List directly with different types


[?25l:  [?12l[?25h:py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:$put =string(l[-1])


[?25l:  [?12l[?25h:try


[?25l:    [?12l[?25h:  $put =string(l[-4])


[?25l:    [?12l[?25h:catch


[?25l:    [?12l[?25h:  $put =v:exception[:13]


[?25l:    [?12l[?25h:endtry


[?25l:  [?12l[?25h:" List assignment


[?25l:  [?12l[?25h:py3 l[0]=0


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:py3 l[-2]=f


[?25l:  [?12l[?25h:$put =string(l)


[?25l:  [?12l[?25h:"


[?25l:  [?12l[?25h:" Extending Dictionary directly with different types


[?25l:  [?12l[?25h:let d = {}


[?25l:  [?12l[?25h:fun d.f()


[?25l:    [?12l[?25h:  return 1


[?25l:    [?12l[?25h:endfun


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hd=vim.bindeval('d')


[?25l:    [?12l[?25hd['1']='asd'


[?25l:    [?12l[?25hd.update()  # Must not do anything, including throwing errors


[?25l:    [?12l[?25hd.update(b=[1, 2, f])


[?25l:    [?12l[?25hd.update((('-1', {'a': 1}),))


[?25l:    [?12l[?25hd.update({'0': -1})


[?25l:    [?12l[?25hdk = d.keys()


[?25l:    [?12l[?25hdv = d.values()


[?25l:    [?12l[?25hdi = d.items()


[?25l:    [?12l[?25hdk.sort(key=repr)


[?25l:    [?12l[?25hdv.sort(key=repr)


[?25l:    [?12l[?25hdi.sort(key=repr)


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =py3eval('d[''f''](self={})')


[?25l:    [?12l[?25h:$put =py3eval('repr(dk)')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(dv)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:$put =substitute(py3eval('repr(di)'),'0x\x\+','','g')


[?25l:    [?12l[?25h:for [key, Val] in sort(items(d))


[?25l:      [?12l[?25h:  $put =string(key) . ' : ' . string(Val)


[?25l:      [?12l[?25h:  unlet key Val


[?25l:      [?12l[?25h:endfor


[?25l:    [?12l[?25h:py3 del dk


[?25l:    [?12l[?25h:py3 del di


[?25l:    [?12l[?25h:py3 del dv


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items with del


[?25l:    [?12l[?25h:py3 del l[2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:try


[?25l:      [?12l[?25h:   py3 del l[:3]


[?25l:      [?12l[?25h:   py3 del l[1:]


[?25l:      [?12l[?25h:catch


[?25l:      [?12l[?25h:   $put =v:exception


[?25l:      [?12l[?25h:endtry


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:py3 del d['-1']


[?25l:    [?12l[?25h:py3 del d['f']


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''b'')'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.get(''b'', 1)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =string(py3eval('d.pop(''1'', 2)'))


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.has_key(''1''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(''0'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(''1'' in d)')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:$put =string(d)


[?25l:    [?12l[?25h:$put =py3eval('repr(d.popitem())')


[?25l:    [?12l[?25h:$put =py3eval('repr(d.get(''0''))')


[?25l:    [?12l[?25h:$put =py3eval('repr(list(iter(d)))')


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" removing items out of range: silently skip items that don't exist


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[2:1]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[2:3]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:5]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:6]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:" The following two ranges delete nothing as they match empty list:


[?25l:    [?12l[?25h:py3 del l[-1:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-2:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:py3 del l[-3:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-4:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-5:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[-6:2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[::2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[3:0:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 del l[2:4:-2]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Slice assignment to a list


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['a']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[1:2]=['b']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:4]=['c']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[4:4]=['d']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-1:2]=['e']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[-10:2]=['f']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:-10]=['g']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = []


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[0:0]=['h']


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:6:2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:-2] = [10, 20]


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[6:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:let l = range(8)


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:py3 l[2:2:1] = ()


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Locked variables


[?25l:    [?12l[?25h:let l = [0, 1, 2, 3]


[?25l:    [?12l[?25h:py3 l=vim.bindeval('l')


[?25l:    [?12l[?25h:lockvar! l


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25hdef emsg(ei):


[?25l:    [?12l[?25h    return ei[0].__name__ + ':' + repr(ei[1].args)


[?25l:    [?12l[?25h


[?25l:    [?12l[?25htry:


[?25l:    [?12l[?25h    l[2]='i'


[?25l:    [?12l[?25hexcept vim.error:


[?25l:    [?12l[?25h    cb.append('l[2] threw vim.error: ' + emsg(sys.exc_info()))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:$put =string(l)


[?25l:    [?12l[?25h:unlockvar! l


[?25l:    [?12l[?25h:"


[?25l:    [?12l[?25h:" Function calls


[?25l:    [?12l[?25hpy3 << EOF


[?25l:    [?12l[?25himport sys


[?25l:    [?12l[?25himport re


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hpy33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional


argument but (\d+) were given$')


[?25l:    [?12l[?25h


[?25l:    [?12l[?25hdef ee(expr, g=globals(), l=locals()):


[?25l:    [?12l[?25h    cb = vim.current.buffer


[?25l:    [?12l[?25h    try:


[?25l:    [?12l[?25h        try:


[?25l:    [?12l[?25h            exec(expr, g, l)


[?25l:    [?12l[?25h        except Exception as e:


[?25l:    [?12l[?25h            if sys.version_info >= (3, 3) and e.__class__ is AttributeErro


r and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, AttributeError(s


tr(e)[str(e).rfind(" '") + 2:-1]))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is ImportError


and str(e).find('No module named \'') >= 0:


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((e.__class__, ImportError(str(


e).replace("'", '')))))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 3) and e.__class__ is TypeError:


[?25l:    [?12l[?25h                m = py33_type_error_pattern.search(str(e))


[?25l:    [?12l[?25h                if m:


[?25l:    [?12l[?25h                    msg = '__call__() takes exactly {0} positional argumen


t ({1} given)'.format(m.group(1), m.group(2))


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, TypeError(ms


g))))


[?25l:    [?12l[?25h                else:


[?25l:    [?12l[?25h                    cb.append(expr + ':' + repr((e.__class__, e)))


[?25l:    [?12l[?25h            elif sys.version_info >= (3, 5) and e.__class__ is ValueError 


and str(e) == 'embedded null byte':


[?25l:    [?12l[?25h                cb.append(expr + ':' + repr((TypeError, TypeError('expecte


d bytes with no null'))))


[?25l:    [?12l[?25h            else:


[?25l:    [?12l[?25h                msg = repr((e.__class__, e))


[?25l:    [?12l[?25h                # Some Python versions say can't, others cannot.


[?25l:    [?12l[?25h                if msg.find('can\'t') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('can\'t', 'cannot')


[?25l:    [?12l[?25h                # Some Python versions use single quote, some double quote


[?25l:    [?12l[?25h                if msg.find('"cannot ') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace('"cannot ', '\'cannot ')


[?25l:    [?12l[?25h                if msg.find(' attributes"') > -1:


[?25l:    [?12l[?25h                    msg = msg.replace(' attributes"', ' attributes\'')


[?25l:    [?12l[?25h                cb.append(expr + ':' + msg)


[?25l:    [?12l[?25h        else:


[?25l:    [?12l[?25h            cb.append(expr + ':NOT FAILED')


[?25l:    [?12l[?25h    except Exception as e:


[?25l:    [?12l[?25h        cb.append(expr + '::' + repr((e.__class__, e)))


[?25l:    [?12l[?25hEOF


[?25l:    [?12l[?25h:fun New(...)


[?25l:      [?12l[?25h:   return ['NewStart']+a:000+['NewEnd']


[?25l:      [?12l[?25h:endfun


[?25l:      [?12l[?25h:fun DictNew(...) dict


[?25l:[?12l[?25h:   return ['DictNewStart']+a:000+['DictNewEnd', self]


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:let l=[function('New'), function('DictNew')]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 l+=[l[0].name]


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:py3 ee('l[1](1, 2, 3)')


[?25l:[?12l[?25h:py3 f=l[0]


[?25l:[?12l[?25h:delfunction New


[?25l:[?12l[?25h:py3 ee('f(1, 2, 3)')


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let l=[0.0]


[?25l:[?12l[?25h:   py3 l=vim.bindeval('l')


[?25l:[?12l[?25h:   py3 l.extend([0.0])


[?25l:[?12l[?25h:   $put =string(l)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='[0.0, 0.0]'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:let messages=[]


[?25l:[?12l[?25h:delfunction DictNew


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25hd=vim.bindeval('{}')


[?25l:[?12l[?25hm=vim.bindeval('messages')


[?25l:[?12l[?25hdef em(expr, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        if sys.version_info >= (3, 5) and e.__class__ is ValueError an


d str(e) == 'embedded null byte':


[?25l:[?12l[?25h            m.extend([TypeError.__name__])


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            m.extend([e.__class__.__name__])


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d["abc1"]')


[?25l:[?12l[?25hem('d["abc1"]="\\0"')


[?25l:[?12l[?25hem('d["abc1"]=vim')


[?25l:[?12l[?25hem('d[""]=1')


[?25l:[?12l[?25hem('d["a\\0b"]=1')


[?25l:[?12l[?25hem('d[b"a\\0b"]=1')


[?25l:[?12l[?25h


[?25l:[?12l[?25hem('d.pop("abc1")')


[?25l:[?12l[?25hem('d.popitem()')


[?25l:[?12l[?25hdel em


[?25l:[?12l[?25hdel m


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =messages


[?25l:[?12l[?25h:unlet messages


[?25l:[?12l[?25h:" locked and scope attributes


[?25l:[?12l[?25h:let d={} | let dl={} | lockvar dl


[?25l:[?12l[?25h:for s in split("d dl v: g:")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e


val(name.".".v:val)'), ';')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! let d.abc2=1


[?25l:[?12l[?25h:silent! let dl.abc3=1


[?25l:[?12l[?25h:py3 d.locked=True


[?25l:[?12l[?25h:py3 dl.locked=False


[?25l:[?12l[?25h:silent! let d.def=1


[?25l:[?12l[?25h:silent! let dl.def=1


[?25l:[?12l[?25h:put ='d:'.string(d)


[?25l:[?12l[?25h:put ='dl:'.string(dl)


[?25l:[?12l[?25h:unlet d dl


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:let l=[] | let ll=[] | lockvar ll


[?25l:[?12l[?25h:for s in split("l ll")


[?25l:[?12l[?25h:    let name=tr(s, ':', 's')


[?25l:[?12l[?25h:    execute 'py3 '.name.'=vim.bindeval("'.s.'")'


[?25l:[?12l[?25h:    let toput=s.' : locked:'.py3eval(name.'.locked')


[?25l:[?12l[?25h:    $put =toput


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:silent! call extend(l, [0])


[?25l:[?12l[?25h:silent! call extend(ll, [0])


[?25l:[?12l[?25h:py3 l.locked=True


[?25l:[?12l[?25h:py3 ll.locked=False


[?25l:[?12l[?25h:silent! call extend(l, [1])


[?25l:[?12l[?25h:silent! call extend(ll, [1])


[?25l:[?12l[?25h:put ='l:'.string(l)


[?25l:[?12l[?25h:put ='ll:'.string(ll)


[?25l:[?12l[?25h:unlet l ll


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" py3eval()


[?25l:[?12l[?25h:let l=py3eval('[0, 1, 2]')


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')


[?25l:[?12l[?25h:$put =sort(items(d))


[?25l:[?12l[?25h:let v:errmsg = ''


[?25l:[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg


[?25l:[?12l[?25h:if has('float')


[?25l:[?12l[?25h:   let f=py3eval('0.0')


[?25l:[?12l[?25h:   $put =string(f)


[?25l:[?12l[?25h:else


[?25l:[?12l[?25h:   $put ='0.0'


[?25l:[?12l[?25h:endif


[?25l:[?12l[?25h:" Invalid values:


[?25l:[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']


[?25l:[?12l[?25h:   try


[?25l:[?12l[?25h:      let v=py3eval(e)


[?25l:[?12l[?25h:   catch


[?25l:[?12l[?25h:      let toput=e.":\t".v:exception[:13]


[?25l:[?12l[?25h:      $put =toput


[?25l:[?12l[?25h:   endtry


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" threading


[?25l:[?12l[?25h:let l = [0]


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport threading


[?25l:[?12l[?25himport time


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass T(threading.Thread):


[?25l:[?12l[?25h    def __init__(self):


[?25l:[?12l[?25h        threading.Thread.__init__(self)


[?25l:[?12l[?25h        self.t = 0


[?25l:[?12l[?25h        self.running = True


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def run(self):


[?25l:[?12l[?25h        while self.running:


[?25l:[?12l[?25h            self.t += 1


[?25l:[?12l[?25h            time.sleep(0.1)


[?25l:[?12l[?25h


[?25l:[?12l[?25ht = T()


[?25l:[?12l[?25hdel T


[?25l:[?12l[?25ht.start()


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:sleep 1


[?25l:[?12l[?25h:py3 t.running = False


[?25l:[?12l[?25h:py3 t.join()


[?25l:[?12l[?25h:" Check if the background thread is working.  Count should be 10, but


on a


[?25l:[?12l[?25h:" busy system (AppVeyor) it can be much lower.


[?25l:[?12l[?25h:py3 l[0] = t.t > 4


[?25l:[?12l[?25h:py3 del time


[?25l:[?12l[?25h:py3 del threading


[?25l:[?12l[?25h:py3 del t


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" settrace


[?25l:[?12l[?25h:let l = []


[?25l:[?12l[?25h:py3 l=vim.bindeval('l')


[?25l:[?12l[?25hpy3 <<EOF


[?25l:[?12l[?25himport sys


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef traceit(frame, event, arg):


[?25l:[?12l[?25h    global l


[?25l:[?12l[?25h    if event == "line":


[?25l:[?12l[?25h        l += [frame.f_lineno]


[?25l:[?12l[?25h    return traceit


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef trace_main():


[?25l:[?12l[?25h    for i in range(5):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:py3 sys.settrace(traceit)


[?25l:[?12l[?25h:py3 trace_main()


[?25l:[?12l[?25h:py3 sys.settrace(None)


[?25l:[?12l[?25h:py3 del traceit


[?25l:[?12l[?25h:py3 del trace_main


[?25l:[?12l[?25h:$put =string(l)


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Slice


[?25l:[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')


[?25l:[?12l[?25h:py3 l = ll[:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[2:4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-4:-2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-2:-4]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[:]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[0:6]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[-10:10]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:-1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[::2]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 l = ll[4:2:1]


[?25l:[?12l[?25h:$put =string(py3eval('l'))


[?25l:[?12l[?25h:py3 del l


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Vars


[?25l:[?12l[?25h:let g:foo = 'bac'


[?25l:[?12l[?25h:let w:abc3 = 'def'


[?25l:[?12l[?25h:let b:baz = 'bar'


[?25l:[?12l[?25h:let t:bar = 'jkl'


[?25l:[?12l[?25h:try


[?25l:[?12l[?25h:  throw "Abc"


[?25l:[?12l[?25h:catch


[?25l:[?12l[?25h:  put =py3eval('vim.vvars[''exception'']')


[?25l:[?12l[?25h:endtry


[?25l:[?12l[?25h:put =py3eval('vim.vars[''foo'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')


[?25l:[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Options


[?25l:[?12l[?25h:" paste:          boolean, global


[?25l:[?12l[?25h:" previewheight   number,  global


[?25l:[?12l[?25h:" operatorfunc:   string,  global


[?25l:[?12l[?25h:" number:         boolean, window-local


[?25l:[?12l[?25h:" numberwidth:    number,  window-local


[?25l:[?12l[?25h:" colorcolumn:    string,  window-local


[?25l:[?12l[?25h:" statusline:     string,  window-local/global


[?25l:[?12l[?25h:" autoindent:     boolean, buffer-local


[?25l:[?12l[?25h:" shiftwidth:     number,  buffer-local


[?25l:[?12l[?25h:" omnifunc:       string,  buffer-local


[?25l:[?12l[?25h:" preserveindent: boolean, buffer-local/global


[?25l:[?12l[?25h:" path:           string,  buffer-local/global


[?25l:[?12l[?25h:let g:bufs=[bufnr('%')]


[?25l:[?12l[?25h:new


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd j


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:let g:bufs+=[bufnr('%')]


[?25l:[?12l[?25h:wincmd l


[?25l:[?12l[?25h:fun RecVars(opt)


[?25l:[?12l[?25h:  let gval =string(eval('&g:'.a:opt))


[?25l:[?12l[?25h:  let wvals=join(map(range(1, 4),  'v:val.":".string(getwinvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va


l, "&".a:opt))'))


[?25l:[?12l[?25h:  put ='  G: '.gval


[?25l:[?12l[?25h:  put ='  W: '.wvals


[?25l:[?12l[?25h:  put ='  B: '.wvals


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef e(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('return ' + repr(e.__class__.__name__))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef ev(s, g=globals(), l=locals()):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        return eval(s, g, l)


[?25l:[?12l[?25h    except Exception as e:


[?25l:[?12l[?25h        vim.command('let exc=' + repr(e.__class__.__name__))


[?25l:[?12l[?25h        return 0


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:fun E(s)


[?25l:[?12l[?25h:   python3 e(vim.eval('a:s'))


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun Ev(s)


[?25l:[?12l[?25h:   let r=py3eval('ev(vim.eval("a:s"))')


[?25l:[?12l[?25h:   if exists('exc')


[?25l:[?12l[?25h:       throw exc


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   return r


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:py3 gopts1=vim.options


[?25l:[?12l[?25h:py3 wopts1=vim.windows[2].options


[?25l:[?12l[?25h:py3 wopts2=vim.windows[0].options


[?25l:[?12l[?25h:py3 wopts3=vim.windows[1].options


[?25l:[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options


[?25l:[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options


[?25l:[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options


[?25l:[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts


2)')


[?25l:[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts


2)')


[?25l:[?12l[?25h:py3 gset=set(iter(gopts1))


[?25l:[?12l[?25h:py3 wset=set(iter(wopts1))


[?25l:[?12l[?25h:py3 bset=set(iter(bopts1))


[?25l:[?12l[?25h:set path=.,..,,


[?25l:[?12l[?25h:let lst=[]


[?25l:[?12l[?25h:let lst+=[['paste',          1,     0,     1,     2,      1,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['previewheight',  5,     1,     6,     'a',    0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['operatorfunc',   'A',   'B',   'C',   2,      0,   


1,      0    ]]


[?25l:[?12l[?25h:let lst+=[['number',         0,     1,     1,     0,      1,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['numberwidth',    2,     3,     5,     -100,   0,   


0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['colorcolumn',    '+1',  '+2',  '+3',  'abc4',  0,  


 0,      1    ]]


[?25l:[?12l[?25h:let lst+=[['statusline',     '1',   '2',   '4',   0,      0,   


1,      1    ]]


[?25l:[?12l[?25h:let lst+=[['autoindent',     0,     1,     1,     2,      1,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['shiftwidth',     0,     2,     1,     3,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['omnifunc',       'A',   'B',   'C',   1,      0,   


0,      2    ]]


[?25l:[?12l[?25h:let lst+=[['preserveindent', 0,     1,     1,     2,      1,   


1,      2    ]]


[?25l:[?12l[?25h:let lst+=[['path',           '.,,', ',,',  '.',   0,      0,   


1,      2    ]]


[?25l:[?12l[?25h:for       [oname,            oval1, oval2, oval3, invval, bool,


global, local] in lst


[?25l:[?12l[?25h:   py3 oname=vim.eval('oname')


[?25l:[?12l[?25h:   py3 oval1=vim.bindeval('oval1')


[?25l:[?12l[?25h:   py3 oval2=vim.bindeval('oval2')


[?25l:[?12l[?25h:   py3 oval3=vim.bindeval('oval3')


[?25l:[?12l[?25h:   if invval is 0 || invval is 1


[?25l:[?12l[?25h:       py3 invval=bool(vim.bindeval('invval'))


[?25l:[?12l[?25h:   else


[?25l:[?12l[?25h:       py3 invval=vim.bindeval('invval')


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   if bool


[?25l:[?12l[?25h:       py3 oval1=bool(oval1)


[?25l:[?12l[?25h:       py3 oval2=bool(oval2)


[?25l:[?12l[?25h:       py3 oval3=bool(oval3)


[?25l:[?12l[?25h:   endif


[?25l:[?12l[?25h:   put ='>>> '.oname


[?25l:[?12l[?25h:   $put ='  g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona


me in wset').'/'.py3eval('oname in bset')


[?25l:[?12l[?25h:   $put ='  g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev


al('oname in wopts1').'/'.py3eval('oname in bopts1')


[?25l:[?12l[?25h:   for v in ['gopts1', 'wopts1', 'bopts1']


[?25l:[?12l[?25h:       try


[?25l:[?12l[?25h:           put ='  p/'.v.': '.Ev('repr('.v.'['''.oname.''


'])')


[?25l:[?12l[?25h:       catch


[?25l:[?12l[?25h:           put ='  p/'.v.'! '.v:exception


[?25l:[?12l[?25h:       endtry


[?25l:[?12l[?25h:       let r=E(v.'['''.oname.''']=invval')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  inv: '.string(invval).'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:       for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[


:-2].'3'])


[?25l:[?12l[?25h:           let val=substitute(vv, '^.opts', 'oval', '')


[?25l:[?12l[?25h:           let r=E(vv.'['''.oname.''']='.val)


[?25l:[?12l[?25h:           if r isnot 0


[?25l:[?12l[?25h:               put ='  '.vv.'! '.r


[?25l:[?12l[?25h:           endif


[?25l:[?12l[?25h:       endfor


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:   for v in ['wopts3', 'bopts3']


[?25l:[?12l[?25h:       let r=E('del '.v.'["'.oname.'"]')


[?25l:[?12l[?25h:       if r isnot 0


[?25l:[?12l[?25h:           put ='  del '.v.'! '.r


[?25l:[?12l[?25h:       endif


[?25l:[?12l[?25h:   endfor


[?25l:[?12l[?25h:   call RecVars(oname)


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:delfunction RecVars


[?25l:[?12l[?25h:delfunction E


[?25l:[?12l[?25h:delfunction Ev


[?25l:[?12l[?25h:py3 del ev


[?25l:[?12l[?25h:py3 del e


[?25l:[?12l[?25h:only


[?25l:[?12l[?25h:for buf in g:bufs[1:]


[?25l:[?12l[?25h:   execute 'bwipeout!' buf


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:py3 del gopts1


[?25l:[?12l[?25h:py3 del wopts1


[?25l:[?12l[?25h:py3 del wopts2


[?25l:[?12l[?25h:py3 del wopts3


[?25l:[?12l[?25h:py3 del bopts1


[?25l:[?12l[?25h:py3 del bopts2


[?25l:[?12l[?25h:py3 del bopts3


[?25l:[?12l[?25h:py3 del oval1


[?25l:[?12l[?25h:py3 del oval2


[?25l:[?12l[?25h:py3 del oval3


[?25l:[?12l[?25h:py3 del oname


[?25l:[?12l[?25h:py3 del invval


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test buffer object


[?25l:[?12l[?25h:vnew


[?25l:[?12l[?25h:put ='First line'


[?25l:[?12l[?25h:put ='Second line'


[?25l:[?12l[?25h:put ='Third line'


[?25l:[?12l[?25h:1 delete _


[?25l:[?12l[?25h:py3 b=vim.current.buffer


[?25l:[?12l[?25h:wincmd w


[?25l:[?12l[?25h:mark a


[?25l:[?12l[?25h:augroup BUFS


[?25l:[?12l[?25h:   autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a


buf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:   autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab


uf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))


[?25l:[?12l[?25h:augroup END


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Tests BufferAppend and BufferItem


[?25l:[?12l[?25hcb.append(b[0])


[?25l:[?12l[?25h# Tests BufferSlice and BufferAssSlice


[?25l:[?12l[?25hcb.append('abc5') # Will be overwritten


[?25l:[?12l[?25hcb[-1:] = b[:-2]


[?25l:[?12l[?25h# Test BufferLength and BufferAssSlice


[?25l:[?12l[?25hcb.append('def') # Will not be overwritten


[?25l:[?12l[?25hcb[len(cb):] = b[:]


[?25l:[?12l[?25h# Test BufferAssItem and BufferMark


[?25l:[?12l[?25hcb.append('ghi') # Will be overwritten


[?25l:[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))


[?25l:[?12l[?25h# Test BufferRepr


[?25l:[?12l[?25hcb.append(repr(cb) + repr(b))


[?25l:[?12l[?25h# Modify foreign buffer


[?25l:[?12l[?25hb.append('foo')


[?25l:[?12l[?25hb[0]='bar'


[?25l:[?12l[?25hb[0:0]=['baz']


[?25l:[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe


r)

[?25l:[?12l[?25h# Test assigning to name property


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hold_name = cb.name


[?25l:[?12l[?25hcb.name = 'foo'


[?25l:[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hb.name = 'bar'


[?25l:[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hcb.name = old_name


[?25l:[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel old_name


[?25l:[?12l[?25h# Test CheckBuffer


[?25l:[?12l[?25hfor _b in vim.buffers:


[?25l:[?12l[?25h    if _b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(_b.number))


[?25l:[?12l[?25hdel _b


[?25l:[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))


)

[?25l:[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")


'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        exec(expr)


[?25l:[?12l[?25h    except vim.error:


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        # Usually a SEGV here


[?25l:[?12l[?25h        # Should not happen in any case


[?25l:[?12l[?25h        cb.append('No exception for ' + expr)


[?25l:[?12l[?25hvim.command('cd .')


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.buffers object


[?25l:[?12l[?25h:set hidden


[?25l:[?12l[?25h:edit a


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit b


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25h:edit c


[?25l:[?12l[?25h:buffer #


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25h# Check GCing iterator that was not fully exhausted


[?25l:[?12l[?25hi = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# and also check creating more than one iterator at a time


[?25l:[?12l[?25hi2 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i2:' + str(next(i2)))


[?25l:[?12l[?25hcb.append('i:' + str(next(i)))


[?25l:[?12l[?25h# The following should trigger GC and not cause any problems


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hdel i2


[?25l:[?12l[?25hi3 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i3:' + str(next(i3)))


[?25l:[?12l[?25hdel i3


[?25l:[?12l[?25h


[?25l:[?12l[?25hprevnum = 0


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    # Check buffer order


[?25l:[?12l[?25h    if prevnum >= b.number:


[?25l:[?12l[?25h        cb.append('!!! Buffer numbers not in strictly ascending 


order')


[?25l:[?12l[?25h    # Check indexing: vim.buffers[number].number == number


[?25l:[?12l[?25h    cb.append(str(b.number) + ':' + repr(vim.buffers[b.number]) 


+ '=' + repr(b))


[?25l:[?12l[?25h    prevnum = b.number


[?25l:[?12l[?25hdel prevnum


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append(str(len(vim.buffers)))


[?25l:[?12l[?25h


[?25l:[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Test wiping out buffer with existing iterator


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept vim.error:


[?25l:[?12l[?25h    pass


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h    cb.append('!!!! No vim.error')


[?25l:[?12l[?25hi4 = iter(vim.buffers)


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))


[?25l:[?12l[?25hcb.append('i4:' + str(next(i4)))


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    next(i4)


[?25l:[?12l[?25hexcept StopIteration:


[?25l:[?12l[?25h    cb.append('StopIteration')


[?25l:[?12l[?25hdel i4


[?25l:[?12l[?25hdel bnums


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object


s

[?25l:[?12l[?25h:tabnew 0


[?25l:[?12l[?25h:tabnew 1


[?25l:[?12l[?25h:vnew a.1


[?25l:[?12l[?25h:tabnew 2


[?25l:[?12l[?25h:vnew a.2


[?25l:[?12l[?25h:vnew b.2


[?25l:[?12l[?25h:vnew c.2


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))


[?25l:[?12l[?25hcb.append('Current tab pages:')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef W(w):


[?25l:[?12l[?25h    if '(unknown)' in repr(w):


[?25l:[?12l[?25h        return '<window object (unknown)>'


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef Cursor(w, start=len(cb)):


[?25l:[?12l[?25h    if w.buffer is cb:


[?25l:[?12l[?25h        return repr((start - w.cursor[0], w.cursor[1]))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return repr(w.cursor)


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor t in vim.tabpages:


[?25l:[?12l[?25h    cb.append('  ' + repr(t) + '(' + str(t.number) + ')' + ': ' 


+ str(len(t.windows)) + ' windows, current is ' + W(t.window))


[?25l:[?12l[?25h    cb.append('  Windows:')


[?25l:[?12l[?25h    for w in t.windows:


[?25l:[?12l[?25h        cb.append('    ' + W(w) + '(' + str(w.number) + ')' + ':


displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))


[?25l:[?12l[?25h        # Other values depend on the size of the terminal, so th


ey are checked partly:


[?25l:[?12l[?25h        for attr in ('height', 'row', 'width', 'col'):


[?25l:[?12l[?25h            try:


[?25l:[?12l[?25h                aval = getattr(w, attr)


[?25l:[?12l[?25h                if type(aval) is not int:


[?25l:[?12l[?25h                    raise TypeError


[?25l:[?12l[?25h                if aval < 0:


[?25l:[?12l[?25h                    raise ValueError


[?25l:[?12l[?25h            except Exception as e:


[?25l:[?12l[?25h                cb.append('!!!!!! Error while getting attribute 


' + attr + ': ' + e.__class__.__name__)


[?25l:[?12l[?25h        del aval


[?25l:[?12l[?25h        del attr


[?25l:[?12l[?25h        w.cursor = (len(w.buffer), 0)


[?25l:[?12l[?25hdel W


[?25l:[?12l[?25hdel Cursor


[?25l:[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi


m.windows)))


[?25l:[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):


[?25l:[?12l[?25h    cb.append('!!!!!! Windows differ')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.current


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef H(o):


[?25l:[?12l[?25h    return repr(o)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +


H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +


H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c


urrent.tabpage.window.buffer))


[?25l:[?12l[?25hdel H


[?25l:[?12l[?25h# Assigning: fails


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    vim.current.window = vim.tabpages[0].window


[?25l:[?12l[?25hexcept ValueError:


[?25l:[?12l[?25h    cb.append('ValueError at assigning foreign tab window')


[?25l:[?12l[?25h


[?25l:[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        setattr(vim.current, attr, None)


[?25l:[?12l[?25h    except TypeError:


[?25l:[?12l[?25h        cb.append('Type error at assigning None to vim.current.'


+ attr)


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25h


[?25l:[?12l[?25h# Assigning: success


[?25l:[?12l[?25hvim.current.tabpage = vim.tabpages[-2]


[?25l:[?12l[?25hvim.current.buffer = cb


[?25l:[?12l[?25hvim.current.window = vim.windows[0]


[?25l:[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)


[?25l:[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))


[?25l:[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))


[?25l:[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))


[?25l:[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))


[?25l:[?12l[?25hws = list(vim.windows)


[?25l:[?12l[?25hts = list(vim.tabpages)


[?25l:[?12l[?25hfor b in vim.buffers:


[?25l:[?12l[?25h    if b is not cb:


[?25l:[?12l[?25h        vim.command('bwipeout! ' + str(b.number))


[?25l:[?12l[?25hdel b


[?25l:[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))


[?25l:[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))


[?25l:[?12l[?25hdel w


[?25l:[?12l[?25hdel t


[?25l:[?12l[?25hdel ts


[?25l:[?12l[?25hdel ws


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:tabonly!


[?25l:[?12l[?25h:only!


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test types


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor expr, attr in (


[?25l:[?12l[?25h    ('vim.vars',                         'Dictionary'),


[?25l:[?12l[?25h    ('vim.options',                      'Options'),


[?25l:[?12l[?25h    ('vim.bindeval("{}")',               'Dictionary'),


[?25l:[?12l[?25h    ('vim.bindeval("[]")',               'List'),


[?25l:[?12l[?25h    ('vim.bindeval("function(\'tr\')")', 'Function'),


[?25l:[?12l[?25h    ('vim.current.buffer',               'Buffer'),


[?25l:[?12l[?25h    ('vim.current.range',                'Range'),


[?25l:[?12l[?25h    ('vim.current.window',               'Window'),


[?25l:[?12l[?25h    ('vim.current.tabpage',              'TabPage'),


[?25l:[?12l[?25h):


[?25l:[?12l[?25h    cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is


getattr(vim, attr)))


[?25l:[?12l[?25hdel expr


[?25l:[?12l[?25hdel attr


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test __dir__() method


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hfor name, o in (


[?25l:[?12l[?25h        ('current',    vim.current),


[?25l:[?12l[?25h        ('buffer',     vim.current.buffer),


[?25l:[?12l[?25h        ('window',     vim.current.window),


[?25l:[?12l[?25h        ('tabpage',    vim.current.tabpage),


[?25l:[?12l[?25h        ('range',      vim.current.range),


[?25l:[?12l[?25h        ('dictionary', vim.bindeval('{}')),


[?25l:[?12l[?25h        ('list',       vim.bindeval('[]')),


[?25l:[?12l[?25h        ('function',   vim.bindeval('function("tr")')),


[?25l:[?12l[?25h        ('output',     sys.stdout),


[?25l:[?12l[?25h    ):


[?25l:[?12l[?25h    cb.append(name + ':' + ','.join(dir(o)))


[?25l:[?12l[?25hdel name


[?25l:[?12l[?25hdel o


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.*.__new__


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List()'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={})'))


[?25l:[?12l[?25h:$put ='auto_rebind'


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')


)

[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au


to_rebind=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind


=False)'))


[?25l:[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se


lf={}, auto_rebind=False)'))


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test vim.Function


[?25l:[?12l[?25h:function Args(...)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:function SelfArgs(...) dict


[?25l:[?12l[?25h:   return [a:000, self]


[?25l:[?12l[?25h:endfunction


[?25l:[?12l[?25h:" The following four lines should not crash


[?25l:[?12l[?25h:let Pt = function('tr', [[]], {'l': []})


[?25l:[?12l[?25h:py3 Pt = vim.bindeval('Pt')


[?25l:[?12l[?25h:unlet Pt


[?25l:[?12l[?25h:py3 del Pt


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):


[?25l:[?12l[?25h    line = out_prefix + ': '


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        ret = func(*args, **kwargs)


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        line += '!exception: ' + emsg(sys.exc_info())


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        line += '!result: ' + str(vim.Function('string')(ret


), 'utf-8')


[?25l:[?12l[?25h    cb.append(line)


[?25l:[?12l[?25ha = vim.Function('Args')


[?25l:[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])


[?25l:[?12l[?25hpa2 = vim.Function('Args', args=[])


[?25l:[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe


lfPA3': 'abcSelfPA3Val'})


[?25l:[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va


l'})


[?25l:[?12l[?25hcb.append('a: ' + repr(a))


[?25l:[?12l[?25hcb.append('pa1: ' + repr(pa1))


[?25l:[?12l[?25hcb.append('pa2: ' + repr(pa2))


[?25l:[?12l[?25hcb.append('pa3: ' + repr(pa3))


[?25l:[?12l[?25hcb.append('pa4: ' + repr(pa4))


[?25l:[?12l[?25hsa = vim.Function('SelfArgs')


[?25l:[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])


[?25l:[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])


[?25l:[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={


'abcSelfPSA3': 'abcSelfPSA3Val'})


[?25l:[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel


fPSA4Val'})


[?25l:[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel


fPSA5Val'}, auto_rebind=0)


[?25l:[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={


'abcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())


[?25l:[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r


ebind=[])


[?25l:[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)


[?25l:[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel


fPSA9Val'}, auto_rebind=True)


[?25l:[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={


'abcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)


[?25l:[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r


ebind={'abcARPSAB': 'abcARPSABVal'})


[?25l:[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])


[?25l:[?12l[?25hcb.append('sa: ' + repr(sa))


[?25l:[?12l[?25hcb.append('psa1: ' + repr(psa1))


[?25l:[?12l[?25hcb.append('psa2: ' + repr(psa2))


[?25l:[?12l[?25hcb.append('psa3: ' + repr(psa3))


[?25l:[?12l[?25hcb.append('psa4: ' + repr(psa4))


[?25l:[?12l[?25hcb.append('psa5: ' + repr(psa5))


[?25l:[?12l[?25hcb.append('psa6: ' + repr(psa6))


[?25l:[?12l[?25hcb.append('psa7: ' + repr(psa7))


[?25l:[?12l[?25hcb.append('psa8: ' + repr(psa8))


[?25l:[?12l[?25hcb.append('psa9: ' + repr(psa9))


[?25l:[?12l[?25hcb.append('psaA: ' + repr(psaA))


[?25l:[?12l[?25hcb.append('psaB: ' + repr(psaB))


[?25l:[?12l[?25hcb.append('psaC: ' + repr(psaC))


[?25l:[?12l[?25h


[?25l:[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr


gsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})


[?25l:[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]


[?25l:[?12l[?25hpsar.self['rec'] = psar


[?25l:[?12l[?25hpsar.self['self'] = psar.self


[?25l:[?12l[?25hpsar.self['args'] = psar.args


[?25l:[?12l[?25h


[?25l:[?12l[?25htry:


[?25l:[?12l[?25h    cb.append('psar: ' + repr(psar))


[?25l:[?12l[?25hexcept Exception:


[?25l:[?12l[?25h    cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i


nfo()))


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put ='s(a): '.string(py3eval('a'))


[?25l:[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))


[?25l:[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))


[?25l:[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))


[?25l:[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))


[?25l:[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))


[?25l:[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))


[?25l:[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))


[?25l:[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))


[?25l:[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))


[?25l:[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))


[?25l:[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))


[?25l:[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))


[?25l:[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))


[?25l:[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))


[?25l:[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))


[?25l:[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))


[?25l:[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps


a6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']


[?25l:[?12l[?25h:   let d = {'f': py3eval(v)}


[?25l:[?12l[?25h:   $put ='d.'.v.'(): '.string(d.f())


[?25l:[?12l[?25h:endfor


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a()', a, )


[?25l:[?12l[?25h:py3 ecall('pa1()', pa1, )


[?25l:[?12l[?25h:py3 ecall('pa2()', pa2, )


[?25l:[?12l[?25h:py3 ecall('pa3()', pa3, )


[?25l:[?12l[?25h:py3 ecall('pa4()', pa4, )


[?25l:[?12l[?25h:py3 ecall('sa()', sa, )


[?25l:[?12l[?25h:py3 ecall('psa1()', psa1, )


[?25l:[?12l[?25h:py3 ecall('psa2()', psa2, )


[?25l:[?12l[?25h:py3 ecall('psa3()', psa3, )


[?25l:[?12l[?25h:py3 ecall('psa4()', psa4, )


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)


[?25l:[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)


[?25l:[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1


})

[?25l:[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':


1})


[?25l:[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':


1})


[?25l:[?12l[?25h:


[?25l:[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})


[?25l:[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef s(v):


[?25l:[?12l[?25h    if v is None:


[?25l:[?12l[?25h        return repr(v)


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        return str(vim.Function('string')(v), 'utf-8')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.args: ' + s(a.args))


[?25l:[?12l[?25hcb.append('pa1.args: ' + s(pa1.args))


[?25l:[?12l[?25hcb.append('pa2.args: ' + s(pa2.args))


[?25l:[?12l[?25hcb.append('pa3.args: ' + s(pa3.args))


[?25l:[?12l[?25hcb.append('pa4.args: ' + s(pa4.args))


[?25l:[?12l[?25hcb.append('sa.args: ' + s(sa.args))


[?25l:[?12l[?25hcb.append('psa1.args: ' + s(psa1.args))


[?25l:[?12l[?25hcb.append('psa2.args: ' + s(psa2.args))


[?25l:[?12l[?25hcb.append('psa3.args: ' + s(psa3.args))


[?25l:[?12l[?25hcb.append('psa4.args: ' + s(psa4.args))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.self: ' + s(a.self))


[?25l:[?12l[?25hcb.append('pa1.self: ' + s(pa1.self))


[?25l:[?12l[?25hcb.append('pa2.self: ' + s(pa2.self))


[?25l:[?12l[?25hcb.append('pa3.self: ' + s(pa3.self))


[?25l:[?12l[?25hcb.append('pa4.self: ' + s(pa4.self))


[?25l:[?12l[?25hcb.append('sa.self: ' + s(sa.self))


[?25l:[?12l[?25hcb.append('psa1.self: ' + s(psa1.self))


[?25l:[?12l[?25hcb.append('psa2.self: ' + s(psa2.self))


[?25l:[?12l[?25hcb.append('psa3.self: ' + s(psa3.self))


[?25l:[?12l[?25hcb.append('psa4.self: ' + s(psa4.self))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.name: ' + s(a.name))


[?25l:[?12l[?25hcb.append('pa1.name: ' + s(pa1.name))


[?25l:[?12l[?25hcb.append('pa2.name: ' + s(pa2.name))


[?25l:[?12l[?25hcb.append('pa3.name: ' + s(pa3.name))


[?25l:[?12l[?25hcb.append('pa4.name: ' + s(pa4.name))


[?25l:[?12l[?25hcb.append('sa.name: ' + s(sa.name))


[?25l:[?12l[?25hcb.append('psa1.name: ' + s(psa1.name))


[?25l:[?12l[?25hcb.append('psa2.name: ' + s(psa2.name))


[?25l:[?12l[?25hcb.append('psa3.name: ' + s(psa3.name))


[?25l:[?12l[?25hcb.append('psa4.name: ' + s(psa4.name))


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append('a.auto_rebind: ' + s(a.auto_rebind))


[?25l:[?12l[?25hcb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind))


[?25l:[?12l[?25hcb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind))


[?25l:[?12l[?25hcb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind))


[?25l:[?12l[?25hcb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind))


[?25l:[?12l[?25hcb.append('sa.auto_rebind: ' + s(sa.auto_rebind))


[?25l:[?12l[?25hcb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind))


[?25l:[?12l[?25hcb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind))


[?25l:[?12l[?25hcb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind))


[?25l:[?12l[?25hcb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind))


[?25l:[?12l[?25hcb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind))


[?25l:[?12l[?25hcb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind))


[?25l:[?12l[?25hcb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind))


[?25l:[?12l[?25hcb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind))


[?25l:[?12l[?25hcb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind))


[?25l:[?12l[?25hcb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind))


[?25l:[?12l[?25hcb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind))


[?25l:[?12l[?25hcb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel s


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel a


[?25l:[?12l[?25hdel pa1


[?25l:[?12l[?25hdel pa2


[?25l:[?12l[?25hdel pa3


[?25l:[?12l[?25hdel pa4


[?25l:[?12l[?25hdel sa


[?25l:[?12l[?25hdel psa1


[?25l:[?12l[?25hdel psa2


[?25l:[?12l[?25hdel psa3


[?25l:[?12l[?25hdel psa4


[?25l:[?12l[?25hdel psa5


[?25l:[?12l[?25hdel psa6


[?25l:[?12l[?25hdel psa7


[?25l:[?12l[?25hdel psa8


[?25l:[?12l[?25hdel psa9


[?25l:[?12l[?25hdel psaA


[?25l:[?12l[?25hdel psaB


[?25l:[?12l[?25hdel psaC


[?25l:[?12l[?25hdel psar


[?25l:[?12l[?25h


[?25l:[?12l[?25hdel ecall


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test stdout/stderr


[?25l:[?12l[?25h:redir => messages


[?25l:[?12l[?25h:py3 sys.stdout.write('abc8') ; sys.stdout.write('def')


[?25l:[?12l[?25h:py3 sys.stderr.write('abc9') ; sys.stderr.write('def')


[?25l:[?12l[?25h:py3 sys.stdout.writelines(iter('abcA'))


[?25l:[?12l[?25h:py3 sys.stderr.writelines(iter('abcB'))


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:$put =string(substitute(messages, '\d\+', '', 'g'))


[?25l:[?12l[?25h:" Test subclassing


[?25l:[?12l[?25h:fun Put(...)


[?25l:[?12l[?25h:   $put =string(a:000)


[?25l:[?12l[?25h:   return a:000


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hclass DupDict(vim.Dictionary):


[?25l:[?12l[?25h    def __setitem__(self, key, value):


[?25l:[?12l[?25h        super(DupDict, self).__setitem__(key, value)


[?25l:[?12l[?25h        super(DupDict, self).__setitem__('dup_' + key, val


ue)


[?25l:[?12l[?25hdd = DupDict()


[?25l:[?12l[?25hdd['a'] = 'b'


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupList(vim.List):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        return [super(DupList, self).__getitem__(idx)] * 2


[?25l:[?12l[?25h


[?25l:[?12l[?25hdl = DupList()


[?25l:[?12l[?25hdl2 = DupList(iter('abcC'))


[?25l:[?12l[?25hdl.extend(dl2[0])


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass DupFun(vim.Function):


[?25l:[?12l[?25h    def __call__(self, arg):


[?25l:[?12l[?25h        return super(DupFun, self).__call__(arg, arg)


[?25l:[?12l[?25h


[?25l:[?12l[?25hdf = DupFun('Put')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:$put =string(sort(keys(py3eval('dd'))))


[?25l:[?12l[?25h:$put =string(py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dl2'))


[?25l:[?12l[?25h:$put =string(py3eval('df(2)'))


[?25l:[?12l[?25h:$put =string(py3eval('dl') is# py3eval('dl'))


[?25l:[?12l[?25h:$put =string(py3eval('dd') is# py3eval('dd'))


[?25l:[?12l[?25h:$put =string(py3eval('df'))


[?25l:[?12l[?25h:delfunction Put


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel DupDict


[?25l:[?12l[?25hdel DupList


[?25l:[?12l[?25hdel DupFun


[?25l:[?12l[?25hdel dd


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel dl2


[?25l:[?12l[?25hdel df


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test chdir


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25himport os


[?25l:[?12l[?25hfnamemodify = vim.Function('fnamemodify')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hos.chdir('..')


[?25l:[?12l[?25hpath = fnamemodify('.', ':p:h:t')


[?25l:[?12l[?25hif path != b'src':


[?25l:[?12l[?25h  # Running tests from a shadow directory, so move up anot


her level


[?25l:[?12l[?25h  # This will result in @% looking like shadow/testdir/tes


t87.in, hence the


[?25l:[?12l[?25h  # slicing to remove the leading path and path separator


[?25l:[?12l[?25h  os.chdir('..')


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.s


ep, '/'))


[?25l:[?12l[?25h  os.chdir(path)


[?25l:[?12l[?25helse:


[?25l:[?12l[?25h  cb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25h  cb.append(vim.eval('@%').replace(os.path.sep, '/'))


[?25l:[?12l[?25hdel path


[?25l:[?12l[?25hos.chdir('testdir')


[?25l:[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))


[?25l:[?12l[?25hcb.append(vim.eval('@%'))


[?25l:[?12l[?25hdel fnamemodify


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test errors


[?25l:[?12l[?25h:fun F() dict


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25h:fun D()


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hd = vim.Dictionary()


[?25l:[?12l[?25hned = vim.Dictionary(foo='bar', baz='abcD')


[?25l:[?12l[?25hdl = vim.Dictionary(a=1)


[?25l:[?12l[?25hdl.locked = True


[?25l:[?12l[?25hl = vim.List()


[?25l:[?12l[?25hll = vim.List('abcE')


[?25l:[?12l[?25hll.locked = True


[?25l:[?12l[?25hnel = vim.List('abcO')


[?25l:[?12l[?25hf = vim.Function('string')


[?25l:[?12l[?25hfd = vim.Function('F')


[?25l:[?12l[?25hfdel = vim.Function('D')


[?25l:[?12l[?25hvim.command('delfunction D')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef subexpr_test(expr, name, subexprs):


[?25l:[?12l[?25h    cb.append('>>> Testing %s using %s' % (name, expr)


)

[?25l:[?12l[?25h    for subexpr in subexprs:


[?25l:[?12l[?25h        ee(expr % subexpr)


[?25l:[?12l[?25h    cb.append('<<< Finished')


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef stringtochars_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, 'StringToChars', (


[?25l:[?12l[?25h        '1',       # Fail type checks


[?25l:[?12l[?25h        'b"\\0"',  # Fail PyString_AsStringAndSize(obj


ect, , NULL) check


[?25l:[?12l[?25h        '"\\0"',   # Fail PyString_AsStringAndSize(byt


es, , NULL) check


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass Mapping(object):


[?25l:[?12l[?25h    def __init__(self, d):


[?25l:[?12l[?25h        self.d = d


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __getitem__(self, key):


[?25l:[?12l[?25h        return self.d[key]


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return self.d.keys()


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def items(self):


[?25l:[?12l[?25h        return self.d.items()


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompyobject_test(expr, recurse=True):


[?25l:[?12l[?25h    # pydict_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % '{%s : 1}')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % '{"abcF" : %s}


', False)


[?25l:[?12l[?25h    # pymap_to_tv


[?25l:[?12l[?25h    stringtochars_test(expr % 'Mapping({%s : 1})')


[?25l:[?12l[?25h    if recurse:


[?25l:[?12l[?25h        convertfrompyobject_test(expr % 'Mapping({"abc


G" : %s})', False)


[?25l:[?12l[?25h    # pyseq_to_tv


[?25l:[?12l[?25h    iter_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyObject', (


[?25l:[?12l[?25h        'None',                 # Not conversible


[?25l:[?12l[?25h        '{b"": 1}',             # Empty key not allowe


d

[?25l:[?12l[?25h        '{"": 1}',              # Same, but with unico


de object


[?25l:[?12l[?25h        'FailingMapping()',     #


[?25l:[?12l[?25h        'FailingMappingKey()',  #


[?25l:[?12l[?25h        'FailingNumber()',      #


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef convertfrompymapping_test(expr):


[?25l:[?12l[?25h    convertfrompyobject_test(expr)


[?25l:[?12l[?25h    return subexpr_test(expr, 'ConvertFromPyMapping', 


(

[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef iter_test(expr):


[?25l:[?12l[?25h    return subexpr_test(expr, '*Iter*', (


[?25l:[?12l[?25h        'FailingIter()',


[?25l:[?12l[?25h        'FailingIterNext()',


[?25l:[?12l[?25h    ))


[?25l:[?12l[?25h


[?25l:[?12l[?25hdef number_test(expr, natural=False, unsigned=False):


[?25l:[?12l[?25h    if natural:


[?25l:[?12l[?25h        unsigned = True


[?25l:[?12l[?25h    return subexpr_test(expr, 'NumberToLong', (


[?25l:[?12l[?25h        '[]',


[?25l:[?12l[?25h        'None',


[?25l:[?12l[?25h    ) + (('-1',) if unsigned else ())


[?25l:[?12l[?25h    + (('0',) if natural else ()))


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingTrue(object):


[?25l:[?12l[?25h    def __bool__(self):


[?25l:[?12l[?25h        raise NotImplementedError('bool')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIter(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        raise NotImplementedError('iter')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNext(object):


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        raise NotImplementedError('next')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingIterNextN(object):


[?25l:[?12l[?25h    def __init__(self, n):


[?25l:[?12l[?25h        self.n = n


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __iter__(self):


[?25l:[?12l[?25h        return self


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def __next__(self):


[?25l:[?12l[?25h        if self.n:


[?25l:[?12l[?25h            self.n -= 1


[?25l:[?12l[?25h            return 1


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            raise NotImplementedError('next N')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMappingKey(object):


[?25l:[?12l[?25h    def __getitem__(self, item):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mappingkey'


)

[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        return list("abcH")


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingMapping(object):


[?25l:[?12l[?25h    def __getitem__(self):


[?25l:[?12l[?25h        raise NotImplementedError('getitem:mapping')


[?25l:[?12l[?25h


[?25l:[?12l[?25h    def keys(self):


[?25l:[?12l[?25h        raise NotImplementedError('keys')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingList(list):


[?25l:[?12l[?25h    def __getitem__(self, idx):


[?25l:[?12l[?25h        if i == 2:


[?25l:[?12l[?25h            raise NotImplementedError('getitem:list')


[?25l:[?12l[?25h        else:


[?25l:[?12l[?25h            return super(FailingList, self).__getitem_


_(idx)


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass NoArgsCall(object):


[?25l:[?12l[?25h    def __call__(self):


[?25l:[?12l[?25h        pass


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingCall(object):


[?25l:[?12l[?25h    def __call__(self, path):


[?25l:[?12l[?25h        raise NotImplementedError('call')


[?25l:[?12l[?25h


[?25l:[?12l[?25hclass FailingNumber(object):


[?25l:[?12l[?25h    def __int__(self):


[?25l:[?12l[?25h        raise NotImplementedError('int')


[?25l:[?12l[?25h


[?25l:[?12l[?25hcb.append("> Output")


[?25l:[?12l[?25hcb.append(">> OutputSetattr")


[?25l:[?12l[?25hee('del sys.stdout.softspace')


[?25l:[?12l[?25hnumber_test('sys.stdout.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hnumber_test('sys.stderr.softspace = %s', unsigned=True


)

[?25l:[?12l[?25hee('assert sys.stdout.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stdout.seekable()==False')


[?25l:[?12l[?25hee('sys.stdout.close()')


[?25l:[?12l[?25hee('sys.stdout.flush()')


[?25l:[?12l[?25hee('assert sys.stderr.isatty()==False')


[?25l:[?12l[?25hee('assert sys.stderr.seekable()==False')


[?25l:[?12l[?25hee('sys.stderr.close()')


[?25l:[?12l[?25hee('sys.stderr.flush()')


[?25l:[?12l[?25hee('sys.stdout.attr = None')


[?25l:[?12l[?25hcb.append(">> OutputWrite")


[?25l:[?12l[?25hee('assert sys.stdout.writable()==True')


[?25l:[?12l[?25hee('assert sys.stdout.readable()==False')


[?25l:[?12l[?25hee('assert sys.stderr.writable()==True')


[?25l:[?12l[?25hee('assert sys.stderr.readable()==False')


[?25l:[?12l[?25hee('assert sys.stdout.closed()==False')


[?25l:[?12l[?25hee('assert sys.stderr.closed()==False')


[?25l:[?12l[?25hee('assert sys.stdout.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stderr.errors=="strict"')


[?25l:[?12l[?25hee('assert sys.stdout.encoding==sys.stderr.encoding')


[?25l:[?12l[?25hee('sys.stdout.write(None)')


[?25l:[?12l[?25hcb.append(">> OutputWriteLines")


[?25l:[?12l[?25hee('sys.stdout.writelines(None)')


[?25l:[?12l[?25hee('sys.stdout.writelines([1])')


[?25l:[?12l[?25hiter_test('sys.stdout.writelines(%s)')


[?25l:[?12l[?25hcb.append("> VimCommand")


[?25l:[?12l[?25hstringtochars_test('vim.command(%s)')


[?25l:[?12l[?25hee('vim.command("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimToPython")


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEval")


[?25l:[?12l[?25hstringtochars_test('vim.eval(%s)')


[?25l:[?12l[?25hee('vim.eval("", FailingTrue())')


[?25l:[?12l[?25h#! Not checked: everything: needs errors in internal p


ython functions


[?25l:[?12l[?25hcb.append("> VimEvalPy")


[?25l:[?12l[?25hstringtochars_test('vim.bindeval(%s)')


[?25l:[?12l[?25hee('vim.eval("", 2)')


[?25l:[?12l[?25h#! Not checked: vim->python exceptions translating: ch


ecked later


[?25l:[?12l[?25hcb.append("> VimStrwidth")


[?25l:[?12l[?25hstringtochars_test('vim.strwidth(%s)')


[?25l:[?12l[?25hcb.append("> VimForeachRTP")


[?25l:[?12l[?25hee('vim.foreach_rtp(None)')


[?25l:[?12l[?25hee('vim.foreach_rtp(NoArgsCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(FailingCall())')


[?25l:[?12l[?25hee('vim.foreach_rtp(int, 2)')


[?25l:[?12l[?25hcb.append('> import')


[?25l:[?12l[?25hold_rtp = vim.options['rtp']


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace('\\', '\\\\')


.replace(',', '\\,')


[?25l:[?12l[?25hee('import xxx_no_such_module_xxx')


[?25l:[?12l[?25hee('import failing_import')


[?25l:[?12l[?25hee('import failing')


[?25l:[?12l[?25hvim.options['rtp'] = old_rtp


[?25l:[?12l[?25hdel old_rtp


[?25l:[?12l[?25hcb.append("> Options")


[?25l:[?12l[?25hcb.append(">> OptionsItem")


[?25l:[?12l[?25hee('vim.options["abcQ"]')


[?25l:[?12l[?25hee('vim.options[""]')


[?25l:[?12l[?25hstringtochars_test('vim.options[%s]')


[?25l:[?12l[?25hcb.append(">> OptionsContains")


[?25l:[?12l[?25hstringtochars_test('%s in vim.options')


[?25l:[?12l[?25hcb.append("> Dictionary")


[?25l:[?12l[?25hcb.append(">> DictionaryConstructor")


[?25l:[?12l[?25hee('vim.Dictionary("abcI")')


[?25l:[?12l[?25h##! Not checked: py_dict_alloc failure


[?25l:[?12l[?25hcb.append(">> DictionarySetattr")


[?25l:[?12l[?25hee('del d.locked')


[?25l:[?12l[?25hee('d.locked = FailingTrue()')


[?25l:[?12l[?25hee('vim.vvars.locked = False')


[?25l:[?12l[?25hee('d.scope = True')


[?25l:[?12l[?25hee('d.xxx = True')


[?25l:[?12l[?25hcb.append(">> _DictionaryItem")


[?25l:[?12l[?25hee('d.get("a", 2, 3)')


[?25l:[?12l[?25hstringtochars_test('d.get(%s)')


[?25l:[?12l[?25hee('d.pop("a")')


[?25l:[?12l[?25hee('dl.pop("a")')


[?25l:[?12l[?25hcb.append(">> DictionaryContains")


[?25l:[?12l[?25hee('"" in d')


[?25l:[?12l[?25hee('0 in d')


[?25l:[?12l[?25hcb.append(">> DictionaryIterNext")


[?25l:[?12l[?25hee('for i in ned: ned["a"] = 1')


[?25l:[?12l[?25hdel i


[?25l:[?12l[?25hcb.append(">> DictionaryAssItem")


[?25l:[?12l[?25hee('dl["b"] = 1')


[?25l:[?12l[?25hstringtochars_test('d[%s] = 1')


[?25l:[?12l[?25hconvertfrompyobject_test('d["a"] = %s')


[?25l:[?12l[?25hcb.append(">> DictionaryUpdate")


[?25l:[?12l[?25hcb.append(">>> kwargs")


[?25l:[?12l[?25hcb.append(">>> iter")


[?25l:[?12l[?25hee('d.update(FailingMapping())')


[?25l:[?12l[?25hee('d.update([FailingIterNext()])')


[?25l:[?12l[?25hee('d.update([FailingIterNextN(1)])')


[?25l:[?12l[?25hiter_test('d.update(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update(%s)')


[?25l:[?12l[?25hstringtochars_test('d.update(((%s, 0),))')


[?25l:[?12l[?25hconvertfrompyobject_test('d.update((("a", %s),))')


[?25l:[?12l[?25hcb.append(">> DictionaryPopItem")


[?25l:[?12l[?25hee('d.popitem(1, 2)')


[?25l:[?12l[?25hcb.append(">> DictionaryHasKey")


[?25l:[?12l[?25hee('d.has_key()')


[?25l:[?12l[?25hcb.append("> List")


[?25l:[?12l[?25hcb.append(">> ListConstructor")


[?25l:[?12l[?25hee('vim.List(1, 2)')


[?25l:[?12l[?25hee('vim.List(a=1)')


[?25l:[?12l[?25hiter_test('vim.List(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('vim.List([%s])')


[?25l:[?12l[?25hcb.append(">> ListItem")


[?25l:[?12l[?25hee('l[1000]')


[?25l:[?12l[?25hcb.append(">> ListAssItem")


[?25l:[?12l[?25hee('ll[1] = 2')


[?25l:[?12l[?25hee('l[1000] = 3')


[?25l:[?12l[?25hcb.append(">> ListAssSlice")


[?25l:[?12l[?25hee('ll[1:100] = "abcJ"')


[?25l:[?12l[?25hiter_test('l[:] = %s')


[?25l:[?12l[?25hee('nel[1:10:2]  = "abcK"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:10:2]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[1:1:-1]  = "a"')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hee('nel[:] = FailingIterNextN(2)')


[?25l:[?12l[?25hcb.append(repr(tuple(nel)))


[?25l:[?12l[?25hconvertfrompyobject_test('l[:] = [%s]')


[?25l:[?12l[?25hcb.append(">> ListConcatInPlace")


[?25l:[?12l[?25hiter_test('l.extend(%s)')


[?25l:[?12l[?25hconvertfrompyobject_test('l.extend([%s])')


[?25l:[?12l[?25hcb.append(">> ListSetattr")


[?25l:[?12l[?25hee('del l.locked')


[?25l:[?12l[?25hee('l.locked = FailingTrue()')


[?25l:[?12l[?25hee('l.xxx = True')


[?25l:[?12l[?25hcb.append("> Function")


[?25l:[?12l[?25hcb.append(">> FunctionConstructor")


[?25l:[?12l[?25hcb.append(">>> FunctionConstructor")


[?25l:[?12l[?25hee('vim.Function("123")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx#non#existent#function#xxx")')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx2", arg


s=[])')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx3", sel


f={})')


[?25l:[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx4", arg


s=[], self={})')


[?25l:[?12l[?25hcb.append(">>> FunctionNew")


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf")')


[?25l:[?12l[?25hee('vim.Function("tr", args=427423)')


[?25l:[?12l[?25hee('vim.Function("tr", self="abcFuncSelf2", args="abcF


uncArgs2")')


[?25l:[?12l[?25hee('vim.Function(self="abcFuncSelf2", args="abcFuncArg


s2")')


[?25l:[?12l[?25hee('vim.Function("tr", "", self="abcFuncSelf2", args="


abcFuncArgs2")')


[?25l:[?12l[?25hee('vim.Function("tr", "")')


[?25l:[?12l[?25hcb.append(">> FunctionCall")


[?25l:[?12l[?25hconvertfrompyobject_test('f(%s)')


[?25l:[?12l[?25hconvertfrompymapping_test('fd(self=%s)')


[?25l:[?12l[?25hcb.append("> TabPage")


[?25l:[?12l[?25hcb.append(">> TabPageAttr")


[?25l:[?12l[?25hee('vim.current.tabpage.xxx')


[?25l:[?12l[?25hcb.append("> TabList")


[?25l:[?12l[?25hcb.append(">> TabListItem")


[?25l:[?12l[?25hee('vim.tabpages[1000]')


[?25l:[?12l[?25hcb.append("> Window")


[?25l:[?12l[?25hcb.append(">> WindowAttr")


[?25l:[?12l[?25hee('vim.current.window.xxx')


[?25l:[?12l[?25hcb.append(">> WindowSetattr")


[?25l:[?12l[?25hee('vim.current.window.buffer = 0')


[?25l:[?12l[?25hee('vim.current.window.cursor = (100000000, 100000000)


')

[?25l:[?12l[?25hee('vim.current.window.cursor = True')


[?25l:[?12l[?25hnumber_test('vim.current.window.height = %s', unsigned


=True)


[?25l:[?12l[?25hnumber_test('vim.current.window.width = %s', unsigned=


True)


[?25l:[?12l[?25hee('vim.current.window.xxxxxx = True')


[?25l:[?12l[?25hcb.append("> WinList")


[?25l:[?12l[?25hcb.append(">> WinListItem")


[?25l:[?12l[?25hee('vim.windows[1000]')


[?25l:[?12l[?25hcb.append("> Buffer")


[?25l:[?12l[?25hcb.append(">> StringToLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = "\\na"')


[?25l:[?12l[?25hee('vim.current.buffer[0] = b"\\na"')


[?25l:[?12l[?25hcb.append(">> SetBufferLine (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[0] = True')


[?25l:[?12l[?25hcb.append(">> SetBufferLineList (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer[:] = True')


[?25l:[?12l[?25hee('vim.current.buffer[:] = ["\\na", "bc"]')


[?25l:[?12l[?25hcb.append(">> InsertBufferLines (indirect)")


[?25l:[?12l[?25hee('vim.current.buffer.append(None)')


[?25l:[?12l[?25hee('vim.current.buffer.append(["\\na", "bc"])')


[?25l:[?12l[?25hee('vim.current.buffer.append("\\nbc")')


[?25l:[?12l[?25hcb.append(">> RBItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000]')


[?25l:[?12l[?25hcb.append(">> RBAsItem")


[?25l:[?12l[?25hee('vim.current.buffer[100000000] = ""')


[?25l:[?12l[?25hcb.append(">> BufferAttr")


[?25l:[?12l[?25hee('vim.current.buffer.xxx')


[?25l:[?12l[?25hcb.append(">> BufferSetattr")


[?25l:[?12l[?25hee('vim.current.buffer.name = True')


[?25l:[?12l[?25hee('vim.current.buffer.xxx = True')


[?25l:[?12l[?25hcb.append(">> BufferMark")


[?25l:[?12l[?25hee('vim.current.buffer.mark(0)')


[?25l:[?12l[?25hee('vim.current.buffer.mark("abcM")')


[?25l:[?12l[?25hee('vim.current.buffer.mark("!")')


[?25l:[?12l[?25hcb.append(">> BufferRange")


[?25l:[?12l[?25hee('vim.current.buffer.range(1, 2, 3)')


[?25l:[?12l[?25hcb.append("> BufMap")


[?25l:[?12l[?25hcb.append(">> BufMapItem")


[?25l:[?12l[?25hee('vim.buffers[100000000]')


[?25l:[?12l[?25hnumber_test('vim.buffers[%s]', natural=True)


[?25l:[?12l[?25hcb.append("> Current")


[?25l:[?12l[?25hcb.append(">> CurrentGetattr")


[?25l:[?12l[?25hee('vim.current.xxx')


[?25l:[?12l[?25hcb.append(">> CurrentSetattr")


[?25l:[?12l[?25hee('vim.current.line = True')


[?25l:[?12l[?25hee('vim.current.buffer = True')


[?25l:[?12l[?25hee('vim.current.window = True')


[?25l:[?12l[?25hee('vim.current.tabpage = True')


[?25l:[?12l[?25hee('vim.current.xxx = True')


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ned


[?25l:[?12l[?25hdel dl


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdel ll


[?25l:[?12l[?25hdel nel


[?25l:[?12l[?25hdel f


[?25l:[?12l[?25hdel fd


[?25l:[?12l[?25hdel fdel


[?25l:[?12l[?25hdel subexpr_test


[?25l:[?12l[?25hdel stringtochars_test


[?25l:[?12l[?25hdel Mapping


[?25l:[?12l[?25hdel convertfrompyobject_test


[?25l:[?12l[?25hdel convertfrompymapping_test


[?25l:[?12l[?25hdel iter_test


[?25l:[?12l[?25hdel number_test


[?25l:[?12l[?25hdel FailingTrue


[?25l:[?12l[?25hdel FailingIter


[?25l:[?12l[?25hdel FailingIterNext


[?25l:[?12l[?25hdel FailingIterNextN


[?25l:[?12l[?25hdel FailingMapping


[?25l:[?12l[?25hdel FailingMappingKey


[?25l:[?12l[?25hdel FailingList


[?25l:[?12l[?25hdel NoArgsCall


[?25l:[?12l[?25hdel FailingCall


[?25l:[?12l[?25hdel FailingNumber


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction F


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test import


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hsys.path.insert(0, os.path.join(os.getcwd(), 'python_b


efore'))


[?25l:[?12l[?25hsys.path.append(os.path.join(os.getcwd(), 'python_afte


r'))


[?25l:[?12l[?25hvim.options['rtp'] = os.getcwd().replace(',', '\\,').r


eplace('\\', '\\\\')


[?25l:[?12l[?25hl = []


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    l.append(os.path.relpath(path))


[?25l:[?12l[?25hvim.foreach_rtp(callback)


[?25l:[?12l[?25hcb.append(repr(l))


[?25l:[?12l[?25hdel l


[?25l:[?12l[?25hdef callback(path):


[?25l:[?12l[?25h    return os.path.relpath(path)


[?25l:[?12l[?25hcb.append(repr(vim.foreach_rtp(callback)))


[?25l:[?12l[?25hdel callback


[?25l:[?12l[?25hfrom module import dir as d


[?25l:[?12l[?25hfrom modulex import ddir


[?25l:[?12l[?25hcb.append(d + ',' + ddir)


[?25l:[?12l[?25himport before


[?25l:[?12l[?25hcb.append(before.dir)


[?25l:[?12l[?25himport after


[?25l:[?12l[?25hcb.append(after.dir)


[?25l:[?12l[?25himport topmodule as tm


[?25l:[?12l[?25himport topmodule.submodule as tms


[?25l:[?12l[?25himport topmodule.submodule.subsubmodule.subsubsubmodul


e as tmsss


[?25l:[?12l[?25hcb.append(tm.__file__.replace(os.path.sep, '/')[-len('


modulex/topmodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tms.__file__.replace(os.path.sep, '/')[-len(


'modulex/topmodule/submodule/__init__.py'):])


[?25l:[?12l[?25hcb.append(tmsss.__file__.replace(os.path.sep, '/')[-le


n('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):])


[?25l:[?12l[?25hdel before


[?25l:[?12l[?25hdel after


[?25l:[?12l[?25hdel d


[?25l:[?12l[?25hdel ddir


[?25l:[?12l[?25hdel tm


[?25l:[?12l[?25hdel tms


[?25l:[?12l[?25hdel tmsss


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Test exceptions


[?25l:[?12l[?25h:fun Exe(e)


[?25l:[?12l[?25h:   execute a:e


[?25l:[?12l[?25h:endfun


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hExe = vim.bindeval('function("Exe")')


[?25l:[?12l[?25hee('vim.command("throw \'abcN\'")')


[?25l:[?12l[?25hee('Exe("throw \'def\'")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')


[?25l:[?12l[?25hee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')"


)')


[?25l:[?12l[?25hee('vim.eval("xxx_unknown_function_xxx()")')


[?25l:[?12l[?25hee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx


\')")')


[?25l:[?12l[?25hdel Exe


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:delfunction Exe


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Regression: interrupting vim.command propagates t


o next vim.command


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdef test_keyboard_interrupt():


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('while 1 | endwhile')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('Caught KeyboardInterrupt')


[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('!!!!!!!! No exception')


[?25l:[?12l[?25h    try:


[?25l:[?12l[?25h        vim.command('$ put =\'Running :put\'')


[?25l:[?12l[?25h    except KeyboardInterrupt:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught KeyboardInterrupt


')

[?25l:[?12l[?25h    except Exception:


[?25l:[?12l[?25h        cb.append('!!!!!!!! Caught exception: ' + em


sg(sys.exc_info()))


[?25l:[?12l[?25h    else:


[?25l:[?12l[?25h        cb.append('No exception')


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:debuggreedy


[?25l:[?12l[?25h:call inputsave()


[?25l:[?12l[?25h:call feedkeys("s\ns\ns\ns\nq\n")


[?25l:[?12l[?25h:redir => output


[?25l:[?12l[?25h:debug silent! py3 test_keyboard_interrupt()


[?25l:[?12l[?25h:redir END


[?25l:[?12l[?25h:0 debuggreedy


[?25l:[?12l[?25h:call inputrestore()


[?25l:[?12l[?25h:silent $put =output


[?25l:[?12l[?25h:unlet output


[?25l:[?12l[?25h:py3 del test_keyboard_interrupt


[?25l:[?12l[?25h:"


[?25l:[?12l[?25h:" Cleanup


[?25l:[?12l[?25hpy3 << EOF


[?25l:[?12l[?25hdel cb


[?25l:[?12l[?25hdel ee


[?25l:[?12l[?25hdel emsg


[?25l:[?12l[?25hdel sys


[?25l:[?12l[?25hdel os


[?25l:[?12l[?25hdel vim


[?25l:[?12l[?25hEOF


[?25l:[?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out

:/^start:/,$w! test.out

:" vim: et ts=4 isk-=\:

:while getchar(0) isnot 0|endwhile

ENDTEST



start:[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hfun RunTest()
[?25l

:  [?12l[?25h:let checkrefs = !empty($PYTHONDUMPREFS)


[?25l:  [?12l[?25h:let start = getline(1, '$')


[?25l:  [?12l[?25h:for i in range(checkrefs ? 10 : 1)


[?25l:    [?12l[?25h:   if i != 0


[?25l:      [?12l[?25h:       %d _


[?25l:      [?12l[?25h:       call setline(1, start)


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:   call Test()


[?25l:    [?12l[?25h:   if i == 0


[?25l:      [?12l[?25h:       let result = getline(1, '$')


[?25l:      [?12l[?25h:   endif


[?25l:    [?12l[?25h:endfor


[?25l:  [?12l[?25h:if checkrefs


[?25l:    [?12l[?25h:   %d _


[?25l:    [?12l[?25h:   call setline(1, result)


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h:endfun
[?25l:   call Test()

:   if i == 0

:let result = getline(1, '$')

:   endif

:endfor

:if checkrefs

:   %d _

:   call setline(1, result)

:endif

:endfun

:"

:call RunTest()

:delfunction RunTest

:delfunction Test

:call garbagecollect(1)

:"

:/^start:/,$wq! test.out[?12l[?25h[?25l



:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall RunTest()
[?25l8 more lin

3 more lines[?12l[?25h


[?25l"a" [New File]


"b" [New File]


"c" [New File]


"0" [New File]


"1" [New File]


"a.1" [New File]


"2" [New File]


"a.2" [New File]


"b.2" [New File]


"c.2" [New File]


Already only one window


abc8def


Error detected while processing function RunTest[8]..Test:


line 1106:


abc9def


abcA


line 1108:


abcB


8 more lines


Entering Debug mode.  Type "cont" to continue.


function RunTest[8]..Test


line 1650: py3 test_keyboard_interrupt()


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>s


function RunTest[8]..Test


line 1650: while 1 | endwhile


>s


function RunTest[8]..Test


line 1650: endwhile


>q
['.']

'.'

3,xx

before

after

pythonx/topmodule/__init__.py

pythonx/topmodule/submodule/__init__.py

pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py

vim.command("throw 'abcN'"):(<class 'vim.error'>, error('abcN',))

Exe("throw 'def'"):(<class 'vim.error'>, error('def',))

vim.eval("Exe('throw ''ghi''')"):(<class 'vim.error'>, error('ghi',))

vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkll',))

vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vimm:E492: Not an editor command: xxx_non_existent_command_xxx',))

vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unnknown function: xxx_unknown_function_xxx',))

vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error(('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))

Caught KeyboardInterrupt

Running :put

No exception



"test87.in" [Modified][Not edited] line 3151 of 3151 --100%-- col 1[?12l[?25h[?25l:[?12l[?25hdelfunction RunTest
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunction Test
[?25l[?12l[?25h[?25l:[?12l[?25hcall garbagecollect(1)
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h/^start:/,$wq! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New File] 1445 lines, 77744 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test87 = test61; then \
#	  if diff test.out test87.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test87.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test87.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test12.failed test.ok test.out X* viminfo
cp test12.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test12.in" 52 lines, 1199 charactersTests for 'directory' option.

- ".", in same dir as file

- "./dir", in directory relative to file

- "dir", in directory relative to current dir



STARTTEST

:so small.vim

:set nocompatible viminfo+=nviminfo

:set dir=.,~

:/start of testfile/,/end of testfile/w! Xtest1

:" do an ls of the current dir to find the swap file (should not be there)

:if has("unix")

:  !ls .X*.swp >test.out

:else

:  r !ls X*.swp >test.out

:endif

:!echo first line >>test.out

:e Xtest1

:if has("unix")

:" Do an ls of the current dir to find the swap file, remove the leading dot

:" to make the result the same for all systems.

:  r!ls .X*.swp

:  s/\.*X/X/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for 'directory' option.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 40 lines, 965 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:!mkdir Xtest2

:set dir=./Xtest2,.,~

:e Xtest1

:!ls X*.swp >>test.out

:!echo under under >>test.out

:!ls Xtest2 >>test.out

:!echo under Xtest1.swp >>test.out

:!mkdir Xtest.je

:/start of testfile/,/end of testfile/w! Xtest2/Xtest3

:set dir=Xtest.je,~

:e Xtest2/Xtest3

:swap

:!ls Xtest2 >>test.out

:!echo under Xtest3 >>test.out

:!ls Xtest.je >>test.out

:!echo under Xtest3.swp >>test.out

:qa!

ENDTEST



start of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hset dir=.,~
[?25l[?12l[?25h[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:  !ls .X*.swp >test.out


[?25l:!ls .X*.swp >test.out[?1l>[?12l[?25h[?1049l

ls: cannot access '.X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25helse


[?25l:  [?12l[?25h:  r !ls X*.swp >test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25h!echo first line >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70Cstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:" Do an ls of the current dir to find the swap file, remove the leading dot


[?25l:  [?12l[?25h:" to make the result the same for all systems.


[?25l:  [?12l[?25h:  r!ls .X*.swp


[?25l:  [?12l[?25h:  s/\.*X/X/


[?25l:  [?12l[?25h:  .w >>test.out
[?25l"test.out" 1L, 11C appended


:  [?12l[?25h:  undo


[?25l1 line less; before #1  0 seconds ago


:  [?12l[?25h:else


[?25l:  [?12l[?25h:  !ls X*.swp >>test.out


[?25l:  [?12l[?25h:endif
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest2
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hset dir=./Xtest2,.,~
[?25lstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[?12l[?25h[?25l:[?12l[?25h!ls X*.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l

ls: cannot access 'X*.swp': No such file or directory


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under under >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir Xtest.je
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25lsearch hit BOTTOM, continuing at TOP"Xtest2/Xtest3" [New] 4L, 70C writtenstart of testfile

line 2 Abcdefghij

line 3 Abcdefghij

end of testfile

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtest2/Xtest3" [New] 4L, 70C written[?12l[?25h[?25l:[?12l[?25hset dir=Xtest.je,~
[?25l[?12l[?25h[?25l:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[?12l[?25h[?25l:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[?12l[?25h[?25l:[?12l[?25h!ls Xtest2 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ls Xtest.je >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test12 = test61; then \
#	  if diff test.out test12.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test12.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test12.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test25.failed test.ok test.out X* viminfo
cp test25.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test25.in" 31 lines, 840 charactersTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 540 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden
[?25l[?12l[?25h[?25l:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!ln -s . test25.dir
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.

This only works for Unix, because of the symbolic link.



STARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST

[?12l[?25h[?25l

/[?12l[?25htags line
[?25lhis only works for Unix, because of the symbolic link.STARTTEST

:so small.vim

:set hidden" Create a link from test25.dir to the current directory.

:!rm -f test25.dirln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line:r !pwdd$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.testG^] x:.w! test.out:!rm -f test25.dir tags.test

:qa!ENDTESTtags line:
[?12l[?25h[?25l:[?12l[?25hr !pwd
[?25l[?12l[?25h[?25lSTARTTEST

:so small.vim

:set hidden

:" Create a link from test25.dir to the current directory.

:!rm -f test25.dir

:!ln -s . test25.dir

:" Create tags.text, with the current directory name inserted.

/tags line

:r !pwd

d$/test

hP:.w! tags.test

:" Try jumping to a tag in the current file, but with a path that contains a

:" symbolic link.  When wrong, this will give the ATTENTION message.  The next

:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.

:set tags=tags.test

G^] x:.w! test.out

:!rm -f test25.dir tags.test

:qa!

ENDTEST



tags line:

/<<PKGBUILDDIR>>/src/vim-nox/testdir
[?12l[?25h[?25l[?12l[?25h[?25l

/[?12l[?25htest
[?25l

SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/test25.dir/te@                                                                               

SECTION_OFF     /<<PKGBUILDDIR>>/src/vim-nox/testdir/test25.dir/teest25.in /^#define  SECTION_OFF  3$/[?12l[?25h[?25l



:[?12l[?25h.w! tags.test
[?25l"tags.test" [New File] 1 line, 112 characters written[?12l[?25h[?25l:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[?12l[?25h[?25l:[?12l[?25h" symbolic link.  When wrong, this will give the ATTENTION message.  The next
[?25l[?12l[?25h[?25l:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[?12l[?25h[?25l:[?12l[?25hset tags=tags.test
[?25l[?12l[?25h[?25l/*tx.c*/

#define  SECTION_OFF  3

#define  NUM_SECTIONS 3



SECTION_OFF[?12l[?25h#[?25lefine  SECTION_OFF  3[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New File] 1 line, 23 characters written[?12l[?25h[?25l:[?12l[?25h!rm -f test25.dir tags.test
[?25l[?1l>[?12l[?25h[?1049l

[No write since last change]



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test25 = test61; then \
#	  if diff test.out test25.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test25.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test49.failed test.ok test.out X* viminfo
cp test49.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test49.in" 32 lines, 705 charactersThis is a test of the script language.



If after adding a new test, the test output doesn't appear properly in

test49.failed, try to add one or more "G"s at the line ending in "test.out"



STARTTEST

:so small.vim

:se nocp nomore viminfo+=nviminfo

:lang mess C

:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy

:redir => funclist

:silent func

:redir END

:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lThis is a test of the script language.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 23 lines, 475 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:endfor

:for v in keys(g:)

:  silent! exe "unlet " . v

:endfor

:unlet v

:qa!

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25hlang mess C
[?25l[?12l[?25h[?25l:[?12l[?25hso test49.vim
[?25lError detected while processing function F:


line    5:


E583: multiple :else:     else^I^I


Error detected while processing function G:


line    5:


E584: :elseif after :else:     elseif 1^I^I" aborts function


Error detected while processing function H:


line    7:


E583: multiple :else:     else^I^I


Error detected while processing function I:


line    7:


E584: :elseif after :else:     elseif 1^I^I" aborts function


*** Test  16: OK (8722)


Error detected while processing function F:


line   18:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   34:


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


E171: Missing :endif:     endwhile^I


line   47:


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


E580: :endif without :if: ^Iendif^I


Error detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/test49.vim:


line  784:


E171: Missing :endif: endwhile 


*** Test  17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"/tmp/vGyfQjO/0" [New] 53L, 1582C written14L, 358C appended26L, 824C appended34L, 986C appended


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/1[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/1" 16L, 304C appended17L, 326C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/2[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/2"' -c 'breakad


dfile 8 /tmp/vGyfQjO/1' -S /tmp/vGyfQjO/1[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/2" 3L, 6C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/3[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/3" 6L, 127C appended7L, 149C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/4[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/4"' -c 'breakad


dfile 4 /tmp/vGyfQjO/3' -S /tmp/vGyfQjO/3[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/4" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/5[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/5" 21L, 486C appended22L, 508C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/6[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/6"' -c 'breakad


dfunc 7 F' -S /tmp/vGyfQjO/5[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/6" 3L, 18C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/7[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/7" 13L, 364C appended14L, 386C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/8[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/8"' -c 'breakad


dfunc 3 G' -S /tmp/vGyfQjO/7[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/8" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/9[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/9" 12L, 201C appended13L, 223C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/10[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/10"' -S /tmp/vGyfQ


jO/9[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/11[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/11" 12L, 205C appended13L, 227C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/12[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/12"' -S /tmp/vGyfQ


jO/11[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/13[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/13" 6L, 122C appended7L, 144C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/14[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/14"' -S /tmp/vGyfQ


jO/13[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/15[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/15" 8L, 176C appended9L, 198C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/16[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/16"' -S /tmp/vGyfQ


jO/15[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/17[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/17" 10L, 215C appended11L, 237C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/18[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/18"' -S /tmp/vGyfQ


jO/17[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/19[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/19" 7L, 149C appended8L, 171C8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/20[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/20"' -S /tmp/vGyfQ


jO/19[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/21[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/21" 9L, 135C appended10L, 157C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/22[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/22"' -S /tmp/vGyfQ


jO/21[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/23[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/23" 10L, 155C appended11L, 177C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/24[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/24"' -S /tmp/vGyfQ


jO/23[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/25[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/25" 12L, 204C appended13L, 226C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/26[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/26"' -S /tmp/vGyfQ


jO/25[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/27[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/27" 12L, 214C appended13L, 236C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/28[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/28"' -S /tmp/vGyfQ


jO/27[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/29[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/29" 12L, 211C appended13L, 233C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/30[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/30"' -S /tmp/vGyfQ


jO/29[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/31[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/31" 14L, 263C appended15L, 285C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/32[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/32"' -S /tmp/vGyfQ


jO/31[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/33[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/33" 14L, 277C appended15L, 299C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/34[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/34"' -S /tmp/vGyfQ


jO/33[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/35" 58L, 1022C appended59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/36[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/36"' -S /tmp/vGyfQ


jO/35[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/37[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/37" 23L, 418C appended24L, 440C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/38[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/38"' -S /tmp/vGyfQ


jO/37[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/39[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/39" 23L, 437C appended24L, 459C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/40[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/40"' -c 'breaka


dd func 2 Interrupt' -S /tmp/vGyfQjO/39[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/40" 1L, 3C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/41[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/41" 21L, 386C appended22L, 408C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/42[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/42"' -S /tmp/vGyfQ


jO/41[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/43[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/43" 25L, 432C appended26L, 454C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/44[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/44"' -S /tmp/vGyfQ


jO/43[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/45" 16L, 392C appended17L, 414C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/46[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/46"' -S /tmp/vGyfQ


jO/45[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  24: OK (41)


*** Test  25: OK (260177811)


*** Test  26: OK (1681500476)


*** Test  27: OK (1996459)


   function F()


1      try


2Xpath 1" X: 1


3try


4Xpath 2" X: 2


5return


6Xpath 4" X: 0


7finally


8Xpath 8" X: 8


9endtry


10Xpath 16" X: 0


11     finally


12Xpath 32" X: 32


13     endtry


14     Xpath 64" X: 0


   endfunction"/tmp/vGyfQjO/47"[noeol] 17L, 552C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/vGyfQjO/47" 14L, 502C written
"test49.in" 32L, 705C

   function G()

1      try

2Xpath 128" X: 128

3return

4Xpath 256" X: 0

5      finally

6Xpath 512" X: 512

7call F()

8Xpath 1024" X: 1024

9      endtry

10     Xpath 2048" X: 0

   endfunction"/tmp/vGyfQjO/48"[noeol] 13L, 406C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vGyfQjO/48" 10L, 378C written
"test49.in" 32L, 705C

   function H()

1      try

2Xpath 4096" X: 4096

3call G()

4Xpath 8192" X: 8192

5      finally

6Xpath 16384" X: 16384

7return

8Xpath 32768" X: 0

9      endtry


10     Xpath 65536" X: 0


   endfunction"/tmp/vGyfQjO/49"[noeol] 13L, 409C

10 substitutions on 10 lines

Pattern not found: ^\s*$
"/tmp/vGyfQjO/49" 10L, 381C written
"test49.in" 32L, 705C

*** Test  28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/50[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/50" 39L, 721C appended40L, 743C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vGyfQjO/51[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/51"' -S /tmp/vGyfQjO/50[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880Ctest49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/52[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/52" 23L, 509C appended24L, 531C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/53[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/53"' -S /tmp/vGyfQ


jO/52[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/54[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/54" 60L, 1101C appended61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/55[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv


iminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/55"' -


c'breakadd func 3 F' -c 'breakadd file 19 /tmp/vGyfQjO/54' -c 'breakadd file 31


/tmp/vGyfQjO/54' -S /tmp/vGyfQjO/54[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/55" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/56[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/56" 60L, 1122C appended61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/57[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/57"' -S /tmp/vGyfQ


jO/56[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  31: OK (190905173)


*** Test  32: OK (354833067)


*** Test  33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/58" 63L, 1288C appended64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/59[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQ


jO/59"' -c 'breakadd func 16 C' -S /tmp/vGyfQjO/58[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/59" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/60" 63L, 1285C appended64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/61[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQ


jO/61"' -c 'breakadd func 16 B' -S /tmp/vGyfQjO/60[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/61" 17L, 127C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/62" 66L, 1430C appended67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/63[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/


63"' -c 'breakadd func 16 R' -S /tmp/vGyfQjO/62[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/63" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/64" 73L, 1488C appended74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/65[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/65"' -c 'breakadd


func 16 F' -S /tmp/vGyfQjO/64[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/65" 9L, 81C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/66[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/66" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/67[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQ


jO/67"' -c 'breakadd func 16 E' -S /tmp/vGyfQjO/66[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/67" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/68[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/68" 83L, 1538C appended84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/69[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -


c'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi


mResult = "/tmp/vGyfQjO/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S


/tmp/vGyfQjO/68[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/70[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/70" 82L, 1519C appended83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/71[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi


minfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQ


jO/71"' -c 'breakadd func 16 T' -S /tmp/vGyfQjO/70[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/71" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  40: OK (357908480)


*** Test  41: OK (3076095)


*** Test  42: OK (1505155949)


*** Test  43: OK (1157763329)


*** Test  44: OK (1031761407)


*** Test  45: OK (1157763329)


*** Test  46: OK (739407)


*** Test  47: OK (371213935)


*** Test  48: OK (756255461)


*** Test  49: OK (179000669)


   function C()


1      try


2Xpath 1" X: 1


3throw "arrgh"


4Xpath 2" X: 0


5      catch /arrgh/


6Xpath 4" X: 4


7      endtry


8      Xpath 8" X: 8


   endfunction"/tmp/vGyfQjO/72"[noeol] 11L, 334C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vGyfQjO/72" 8L, 295C written
"test49.in" 32L, 705C

   function T1()

1      XloopNEXT

2      try

3Xloop 1" X: 16 + 16*16

4throw "arrgh"

5Xloop 2" X: 0

6      finally


7Xloop 4" X: 64 + 64*16


8      endtry


9      Xloop 8" X: 0


   endfunction"/tmp/vGyfQjO/73"[noeol] 12L, 364C

9 substitutions on 9 lines

Pattern not found: ^\s*$
"/tmp/vGyfQjO/73" 9L, 323C written
"test49.in" 32L, 705C

   function T2()

1      try

2Xpath 4096" X: 4096

3call T1()

4Xpath 8192" X: 0

5      finally

6Xpath 16384" X: 16384

7      endtry


8      Xpath 32768" X: 0


   endfunction"/tmp/vGyfQjO/74"[noeol] 11L, 332C

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vGyfQjO/74" 8L, 305C written
"test49.in" 32L, 705C

*** Test  50: OK (363550045)

*** Test  51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/76[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/76" 2L, 41C appended3L, 63C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C

:!>/tmp/vGyfQjO/77[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/77"' -S /tmp/vGyfQjO/76[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/77" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/75" 8L, 182C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/78[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/78" 7L, 115C appended8L, 137C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/79[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/79"' -S /tmp/vGyfQjO/78[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/79" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/75" 8L, 181C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/80[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/80" 12L, 180C appended13L, 202C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/81[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/81"' -S /tmp/vGyfQjO/80[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/81" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/75" 10L, 209C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/82[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/82" 8L, 139C appended9L, 161C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/83[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/83"' -S /tmp/vGyfQjO/82[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/83" 2L, 11C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/75" 10L, 217C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/84[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/84" 5L, 87C appended6L, 109C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/85[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!


>/tmp/vGyfQjO/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =


1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/85"' -c 'breakadd file 4 /tmp/vGyfQjO


/84' -S /tmp/vGyfQjO/84[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/85" 1L, 7C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/75" [noeol] 9L, 202C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/86[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/86" 7L, 189C appended8L, 211C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/87[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/87"' -S /tmp/vGyfQjO/86[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/87" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/75" 9L, 252C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/88[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/88" 7L, 199C appended8L, 221C8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/89[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/89"' -S /tmp/vGyfQjO/88[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/89" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/75" 9L, 214C
"test49.in" 32L, 705C


*** Test  52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/91[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/91" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/92[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/92"' -S /tmp/vGyfQjO/91[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/92" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/93[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/93" 3L, 39C appended4L, 61C


3 substitutions on 3 lines
"/tmp/vGyfQjO/93" 4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/94[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/94"' -S /tmp/vGyfQjO/93[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/94" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/95[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/95" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vGyfQjO/95" 5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/96[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/96"' -S /tmp/vGyfQjO/95[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/96" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/97[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/97" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vGyfQjO/97" 4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/98[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/98"' -S /tmp/vGyfQjO/97[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/98" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/99[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/99" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vGyfQjO/99" 6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/100[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/100"' -S /tmp/vGyfQjO/99[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/100" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/101[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/101" 1L, 9C appended2L, 31C2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/102[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/102"' -S /tmp/vGyfQjO/101[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/102" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 153C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/103[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/103" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vGyfQjO/103"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/104[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/104"' -S /tmp/vGyfQjO/103[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/104" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/105[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/105" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vGyfQjO/105"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/106[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/106"' -S /tmp/vGyfQjO/105[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/106" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/107[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/107" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vGyfQjO/107"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/108[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/108"' -S /tmp/vGyfQjO/107[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/108" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/109[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/109" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vGyfQjO/109"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/110[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/110"' -S /tmp/vGyfQjO/109[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/110" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/111[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/111" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/112[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/112"' -S /tmp/vGyfQjO/111[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/112" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 157C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/113[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/113" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vGyfQjO/113"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/114[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/114"' -S /tmp/vGyfQjO/113[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/114" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/115[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/115" 4L, 46C appended5L, 68C


4 substitutions on 4 lines
"/tmp/vGyfQjO/115"5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/116[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/116"' -S /tmp/vGyfQjO/115[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/116" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/117[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/117" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vGyfQjO/117"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/118[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/118"' -S /tmp/vGyfQjO/117[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/118" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/119[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/119" 5L, 66C appended6L, 88C


5 substitutions on 5 lines
"/tmp/vGyfQjO/119"6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/120[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/120"' -S /tmp/vGyfQjO/119[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/120" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 161C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/121[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/121" 4L, 37C appended5L, 59C


4 substitutions on 4 lines
"/tmp/vGyfQjO/121"5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/122[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/122"' -S /tmp/vGyfQjO/121[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/122" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 150C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/123[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/123" 4L, 41C appended5L, 63C


4 substitutions on 4 lines
"/tmp/vGyfQjO/123"5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/124[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'


-c 'let ExtraVimResult = "/tmp/vGyfQjO/124"' -S /tmp/vGyfQjO/123[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/124" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/90" 6L, 159C
"test49.in" 32L, 705C


*** Test  53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/126[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/126" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/127[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/127"' -S /tmp/vGyfQjO/126[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/127" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 164C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/128[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/128" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vGyfQjO/128"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/129[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/129"' -S /tmp/vGyfQjO/128[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/129" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/130[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/130" 3L, 38C appended4L, 60C


3 substitutions on 3 lines
"/tmp/vGyfQjO/130"4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/131[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/131"' -S /tmp/vGyfQjO/130[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/131" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/132[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/132" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vGyfQjO/132"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/133[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/133"' -S /tmp/vGyfQjO/132[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/133" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/134[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/134" 4L, 53C appended5L, 75C


4 substitutions on 4 lines
"/tmp/vGyfQjO/134"5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/135[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/135"' -S /tmp/vGyfQjO/134[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/135" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/136[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/136" 5L, 62C appended6L, 84C


5 substitutions on 5 lines
"/tmp/vGyfQjO/136"6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/137[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/137"' -S /tmp/vGyfQjO/136[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/137" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/138[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/138" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vGyfQjO/138"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/139[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/139"' -S /tmp/vGyfQjO/138[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/139" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 154C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/140[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/140" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vGyfQjO/140"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/141[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/141"' -S /tmp/vGyfQjO/140[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/141" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/142[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/142" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vGyfQjO/142"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/143[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/143"' -S /tmp/vGyfQjO/142[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/143" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 167C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/144[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/144" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vGyfQjO/144"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/145[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/145"' -S /tmp/vGyfQjO/144[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/145" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 168C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/146[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/146" 7L, 95C appended8L, 117C


7 substitutions on 7 lines
"/tmp/vGyfQjO/146"8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/147[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/147"' -S /tmp/vGyfQjO/146[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/147" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/125" 6L, 167C
"test49.in" 32L, 705C


*** Test  54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/149[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/149" 1L, 13C appended2L, 35C2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/150[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/150"' -S /tmp/vGyfQjO/149[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/150" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 172C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/151[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/151" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vGyfQjO/151"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/152[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/152"' -S /tmp/vGyfQjO/151[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/152" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/153[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/153" 4L, 48C appended5L, 70C


4 substitutions on 4 lines
"/tmp/vGyfQjO/153"5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/154[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/154"' -S /tmp/vGyfQjO/153[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/154" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/155[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/155" 3L, 36C appended4L, 58C


3 substitutions on 3 lines
"/tmp/vGyfQjO/155"4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/156[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/156"' -S /tmp/vGyfQjO/155[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/156" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/157[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/157" 5L, 68C appended6L, 90C


5 substitutions on 5 lines
"/tmp/vGyfQjO/157"6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/158[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/158"' -S /tmp/vGyfQjO/157[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/158" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 176C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/159[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/159" 1L, 10C appended2L, 32C2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/160[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/160"' -S /tmp/vGyfQjO/159[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/160" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 166C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/161[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/161" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vGyfQjO/161"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/162[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/162"' -S /tmp/vGyfQjO/161[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/162" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/163[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/163" 4L, 45C appended5L, 67C


4 substitutions on 4 lines
"/tmp/vGyfQjO/163"5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/164[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/164"' -S /tmp/vGyfQjO/163[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/164" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/165[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/165" 3L, 33C appended4L, 55C


3 substitutions on 3 lines
"/tmp/vGyfQjO/165"4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/166[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/166"' -S /tmp/vGyfQjO/165[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/166" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 170C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/167[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/167" 5L, 65C appended6L, 87C


5 substitutions on 5 lines
"/tmp/vGyfQjO/167"6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/168[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/168"' -S /tmp/vGyfQjO/167[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/168" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/148" 6L, 170C
"test49.in" 32L, 705C


*** Test  55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/170[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/170" 1L, 11C appended2L, 33C2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/171[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/171"' -S /tmp/vGyfQjO/170[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/171" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 158C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/172[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/172" 3L, 34C appended4L, 56C


3 substitutions on 3 lines
"/tmp/vGyfQjO/172"4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/173[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/173"' -S /tmp/vGyfQjO/172[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/173" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/174[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/174" 3L, 40C appended4L, 62C


3 substitutions on 3 lines
"/tmp/vGyfQjO/174"4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/175[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/175"' -S /tmp/vGyfQjO/174[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/175" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 162C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/176[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/176" 3L, 32C appended4L, 54C


3 substitutions on 3 lines
"/tmp/vGyfQjO/176"4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/177[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/177"' -S /tmp/vGyfQjO/176[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/177" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/178[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/178" 3L, 35C appended4L, 57C


3 substitutions on 3 lines
"/tmp/vGyfQjO/178"4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/179[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/179"' -S /tmp/vGyfQjO/178[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/179" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/180[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/180" 4L, 44C appended5L, 66C


4 substitutions on 4 lines
"/tmp/vGyfQjO/180"5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/181[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/181"' -S /tmp/vGyfQjO/180[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/181" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/182[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/182" 4L, 47C appended5L, 69C


4 substitutions on 4 lines
"/tmp/vGyfQjO/182"5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/183[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/183"' -S /tmp/vGyfQjO/182[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/183" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 155C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/184[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/184" 5L, 64C appended6L, 86C


5 substitutions on 5 lines
"/tmp/vGyfQjO/184"6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/185[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/185"' -S /tmp/vGyfQjO/184[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/185" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 152C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/186[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/186" 5L, 67C appended6L, 89C


5 substitutions on 5 lines
"/tmp/vGyfQjO/186"6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/187[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t


mp/vGyfQjO/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1


'-c 'let ExtraVimResult = "/tmp/vGyfQjO/187"' -S /tmp/vGyfQjO/186[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/187" 0L, 0C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/tmp/vGyfQjO/169" 6L, 155C
"test49.in" 32L, 705C


*** Test  56: OK (511)


   function FuncException()


1      let g:exception = v:exception


   endfunction"/tmp/vGyfQjO/188" [noeol] 4L, 80C

Pattern not found: ^\s*$
"/tmp/vGyfQjO/188"1L, 36C written
"test49.in" 32L, 705C

   function FuncThrowpoint()


1      let g:throwpoint = v:throwpoint


   endfunction"/tmp/vGyfQjO/189" [noeol] 4L, 83C

Pattern not found: ^\s*$
"/tmp/vGyfQjO/189"1L, 38C written
"test49.in" 32L, 705C

   function T(arg, line)


1      if a:line == 2


2throw a:arg" in line 2


3      elseif a:line == 4


4throw a:arg" in line 4


5      elseif a:line == 6


6throw a:arg" in line 6


7      elseif a:line == 8


8throw a:arg" in line 8


9      endif


   endfunction"/tmp/vGyfQjO/190"[noeol] 12L, 341C

9 substitutions on 9 lines

8 substitutions on 8 lines

Pattern not found: ^\s*$
"/tmp/vGyfQjO/190"9L, 292C written
"test49.in" 32L, 705C

   function G(arg, line)

1      call T(a:arg, a:line)

   endfunction"/tmp/vGyfQjO/191"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vGyfQjO/191"1L, 30C written
"test49.in" 32L, 705C

   function F(arg, line)

1      call G(a:arg, a:line)

   endfunction"/tmp/vGyfQjO/192"[noeol] 4L, 69C

Pattern not found: ^\s*$
"/tmp/vGyfQjO/192"1L, 30C written
"test49.in" 32L, 705C

*** Test  57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C

:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/193" 87L, 1700C appended88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/194[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/194"' -c 'break


add func 4 T' -S /tmp/vGyfQjO/193[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/194" 8L, 36C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/195" 293L, 5789C appended294L, 5811C


3 substitutions on 3 lines
"/tmp/vGyfQjO/195"294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/196[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/196"' -c 'br


eakadd file 115 /tmp/vGyfQjO/195' -c 'breakadd file 225 /tmp/vGyfQjO/195' -S /tm


p/vGyfQjO/195[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  59: OK (2038431743)
"/n/o/n/w/r/i/t/a/b/l/e/_/f/i/l/e"
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/197" 33L, 765C appended34L, 787C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/198[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/198"' -c 'break


add file 7 /tmp/vGyfQjO/197' -S /tmp/vGyfQjO/197[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/198" 3L, 27C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/199" 115L, 2272C appended116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/200[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin


fo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/


200"' -c 'breakadd file 8 /tmp/vGyfQjO/199' -c 'breakadd file 36 /tmp/vGyfQjO/19


9' -c 'breakadd file 40 /tmp/vGyfQjO/199' -c 'breakadd file 69 /tmp/vGyfQjO/199'


-c 'breakadd file 95 /tmp/vGyfQjO/199' -c 'breakadd file 97 /tmp/vGyfQjO/199' -


S/tmp/vGyfQjO/199[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  61: OK (374889517)


   function F()


1      while 1


2      " Missing :endwhile


   endfunction"/tmp/vGyfQjO/201"[noeol] 5L, 73C

Pattern not found: ^\s*$
"/tmp/vGyfQjO/201"2L, 40C written
"test49.in" 32L, 705C

*** Test  62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" Error detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/test49.vim:


line 5500:


"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing


*** Test  63: OK (236978127)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/202" 149L, 2828C appended150L, 2850C


6 substitutions on 6 lines
"/tmp/vGyfQjO/202"150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/203[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/203"' -c 'break


add file 63 /tmp/vGyfQjO/202' -S /tmp/vGyfQjO/202[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/203" 16L, 97C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  64: OK (1499645335)


*** Test  65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/204[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/204" 78L, 1520C appended79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/205[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/205"' -c 'break


add func 8 F' -S /tmp/vGyfQjO/204[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/205" 6L, 22C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  66: OK (5464)


*** Test  67: OK (212514423)


*** Test  68: OK (212514423)


*** Test  69: OK (8995471)


*** Test  70: OK (69544277)


*** Test  71: OK (34886997)


*** Test  72: OK (1789569365)


   function F0()


   endfunction


   function F1()


   endfunction


*** Test  73: OK (9032615)
"/tmp/vGyfQjO/206" [New File]
"test49.in" 32L, 705C
"/tmp/vGyfQjO/207" [New File]
"test49.in" 32L, 705C


*** Test  74: OK (224907669)


*** Test  75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/208[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/208" 253L, 6369C appended254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/209[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|


set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp


/vGyfQjO/209"' -c 'breakadd func 2 INT' -S /tmp/vGyfQjO/208[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/209" 28L, 167C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  76: OK (1610087935)


Error detected while processing function ERR:


line    2:


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


E492: Not an editor command:     asdf


*** Test  77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/210[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/210" 161L, 4543C appended162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/211[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/211"' -S /tmp/vGyf


QjO/210[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  78: OK (134217728)


Error detected while processing function NEXT:


line    1:


E121: Undefined variable: novar


E15: Invalid expression: novar | Xloop 1


E121: Undefined variable: novar


E488: Trailing characters


E108: No such variable: "novar"


E488: Trailing characters


E121: Undefined variable: novar


E15: Invalid expression: novar


E475: Invalid argument: {novar} | Xloop 1


E121: Undefined variable: novar


E15: Invalid expression:  novar


E475: Invalid argument: { novar} | Xloop 1


*** Test  79: OK (70288929)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/test49.vim:


line 7985:


E584: :elseif after :else: elseif 1 ||| 2


line 7995:


E584: :elseif after :else: elseif 1 ||| 2


line 8003:


E582: :elseif without :if: elseif 1 ||| 2


line 8011:


E582: :elseif without :if:     elseif 1 ||| 2


*** Test  80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/212[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/212" 15L, 272C appended16L, 294C16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/213[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/213"' -S /tmp/vGyf


QjO/212[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/214[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/214" 12L, 227C appended13L, 249C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/215[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/215"' -c 'break


add file 8 /tmp/vGyfQjO/214' -S /tmp/vGyfQjO/214[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/215" 2L, 8C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/216[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/216" 20L, 417C appended21L, 439C21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/217[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/217"' -S /tmp/vGyf


QjO/216[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/218[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/218" 24L, 480C appended25L, 502C25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/219[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/219"' -S /tmp/vGyf


QjO/218[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/220[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/220" 17L, 390C appended18L, 412C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/221[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/221"' -c 'break


add file 7 /tmp/vGyfQjO/220' -S /tmp/vGyfQjO/220[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/221" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/222[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/222" 21L, 444C appended22L, 466C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/223[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/223"' -c 'break


add func 6 I' -S /tmp/vGyfQjO/222[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/223" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/224[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/224" 17L, 307C appended18L, 329C18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/225[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '


let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/225"' -S /tmp/vGyf


QjO/224[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/226[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/226" 14L, 266C appended15L, 288C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/227[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -


c'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/227"' -c 'break


add file 8 /tmp/vGyfQjO/226' -S /tmp/vGyfQjO/226[?1l>[?12l[?25h[?1049l



shell returned 1



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/227" 3L, 13C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/228" 154L, 3580C appended155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/229[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo


'-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/229"' -c 'br


eakadd func 1 INT' -S /tmp/vGyfQjO/228[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/229" 18L, 118C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"test49.in" 32L, 705C


*** Test  84: OK (934782101)


TMP
"/tmp/vGyfQjO/230" [noeol] 2L, 6C/  
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"


"/tmp/vGyfQjO/232" 1L, 1C
"test49.in" 32L, 705C


:!echo XYZ >/tmp/vGyfQjO/233[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/234" [New File]
"test49.in" 32L, 705C


*** Test  85: OK (198689)


Error detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/test49.vim:


line 8769:


E123: Undefined function: F


Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1


line 8772:


E926: Current location list was changed


line 8773:


E193: :endfunction not inside a function


Error detected while processing function ExecAsScript[2]..MakeScript:


line    3:


E123: Undefined function: F
"/tmp/vGyfQjO/235" c[noeol] 4L, 109C


search hit BOTTOM, continuing at TOP
line   10:

E486: Pattern not found: .*F(.*)


search hit BOTTOM, continuing at TOP
line   11:

E486: Pattern not found: ^\d*\s*endfunction\>


4 substitutions on 4 lines
"/tmp/vGyfQjO/235"3L, 109C written
"Make_all.mak" 207L, 3846C


Error detected while processing /tmp/vGyfQjO/235:


line    1:


E492: Not an editor command: Error detected while processing function ExecAsScr


ipt[2]..MakeScript:


line    2:


E492: Not an editor command: line    3:


line    3:


E492: Not an editor command: E123: Undefined function: F


Error detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/test49.vim:


line 8779:


E130: Unknown function: F


*** Test  86: OK (0)


5

*** Test  87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!echo 'source /tmp/vGyfQjO/0' >/tmp/vGyfQjO/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l/^\s*if\s\+ExtraVim(.*)/+
1
"/tmp/vGyfQjO/236" 151L, 3929C appended152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C


:!>/tmp/vGyfQjO/237[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:!echo 'q^Mq^Mq^Mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi


nfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vGyfQjO/237"' -c


'breakadd func 5 ThrowOnInterrupt' -S /tmp/vGyfQjO/236[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l"/tmp/vGyfQjO/237" 16L, 281C
"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test49.vim"
<-Y6ECvf/vim-8.0.0197/src/vim-nox/testdir/test49.vim" [readonly] 9009L, 206880C
"Make_all.mak" 207L, 3846C


*** Test  88: OK (50443995)


Press ENTER or type command to continue:[?12l[?25h" Go back to this file and append the results from register r.
[?25l#

# Common Makefile, defines the list of tests to run.

#



NO_PLUGIN = -U NONE --noplugin --not-a-term



# The first script creates small.vim.

SCRIPTS_FIRST = \test1.out



# Tests that run on all systems.

SCRIPTS_ALL = \test3.out \test4.out \test5.out \test7.out \test8.out \test9.out \test14.out \test15.out \test19.out \test20.out \test22.out \[?12l[?25h[?25l:[?12l[?25hbuf test49.in
[?25l"test49.in" 32L, 705C:so test49.vim

:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:":" make valgrind happy

:redir => funclis:silent func:redir END:for line in split(funclist, "\n")

:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')

:  if name != ''

:    exe "delfunc " . name

:  endif:endfor:for v in keys(g:):  silent! exe "unlet " . v

:endfor:unlet v:qa!ENDTESTResults of test49.vim:[?12l[?25h

[?25l

83 more lines

*** Test  16: OK (8722)83 more lines[?12l[?25h[?25l:[?12l[?25h/^Results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 84L, 2484C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" make valgrind happy
[?25l[?12l[?25h[?25l:[?12l[?25hredir => funclist
[?25l[?12l[?25h[?25l:[?12l[?25hsilent func
[?25l[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hfor line in split(funclist, "\n")
[?25l

:  [?12l[?25h:  let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')


[?25l:  [?12l[?25h:  if name != ''


[?25l:    [?12l[?25h:    exe "delfunc " . name


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in

G"rp:/^Results/,$w! test.out

:"

:" make valgrind happy[?12l[?25h[?25l

:[?12l[?25hfor v in keys(g:)
[?25l

:  [?12l[?25h:  silent! exe "unlet " . v


[?25l:  [?12l[?25h:endfor
[?25l:" Go back to this file and append the results from register r.

:buf test49.in[?12l[?25h[?25l

:[?12l[?25hunlet v
[?25l[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test49 = test61; then \
#	  if diff test.out test49.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test49.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test97.failed test.ok test.out X* viminfo
cp test97.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test97.in" 23 lines, 484 charactersTest whether glob()/globpath() return correct results with certain escaped

characters.



STARTTEST

:so small.vim

:" make sure glob() doesn't use the shell

:set shell=doesnotexist

:" consistent sorting of file names

:set nofileignorecase

:e! test.out

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:w! Xxx{

:w! Xxx\$

:$put =glob('Xxx\{')

:$put =glob('Xxx\$')

:"

:$put =string(globpath('sautest/autoload', '*.vim'))

:$put =string(globpath('sautest/autoload', '*.vim', 0, 1))

:w

:qa!

ENDTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest whether glob()/globpath() return correct results with certain escaped[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 17 lines, 377 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[?12l[?25h[?25l:[?12l[?25hset shell=doesnotexist
[?25l[?12l[?25h[?25l:[?12l[?25h" consistent sorting of file names
[?25l[?12l[?25h[?25l:[?12l[?25hset nofileignorecase
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25l[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25l[?12l[?25h[?25l:[?12l[?25hw! Xxx{
[?25l

Cannot execute shell doesnotexist




E79: Cannot expand wildcards


"Xxx{" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [New File] 3 lines, 3 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\{')
[?25lXxx{

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h$put =glob('Xxx\$')
[?25lXxx$[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l'sautest/autoload/Test104.vimsautest/autoload/footest.vim'[?12l[?25h[?25l:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test97 = test61; then \
#	  if diff test.out test97.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test97.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test97.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test_listlbr_utf8.failed test.ok test.out X* viminfo
cp test_listlbr_utf8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_listlbr_utf8.in" 134 lines, 4027 charactersTest for linebreak and list option in utf-8 mode



STARTTEST

:so small.vim

:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!  test.out | qa! | endif

:so mbyte.vim

:set encoding=utf8

:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif

:10new|:vsp|:vert resize 20

:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"

:norm! zt

:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap

:fu! ScreenChar(width, lines)

:let c=''

:for j in range(1,a:lines)

:for i in range(1,a:width)

:let c.=nr2char(screenchar(j, i))

:endfor

:let c.="\n"

:endfor

:return c

:endfu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for linebreak and list option in utf-8 mode[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 129 lines, 3948 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!


test.out | qa! | endif
[?25l:set list nolinebreak cc=3[?12l[?25h[?25l

:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset encoding=utf8
[?25l:set list nolinebreak cc=3

:sign define foo text=^Vuff0b

:sign place 1 name=foo line=50 buffer=2

:norm! 2kztj

:let line1=line('.')

0GGlGGlGGlGGl

:let line2=line('.')

:let attr2=attr

:let attr=[]

0GGlGGlGGlGGl

:redraw!

:let line=ScreenChar(winwidth(0),3)

:call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text
[?12l[?25h[?25l

:[?12l[?25hif &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
[?25l[?12l[?25h[?25l:[?12l[?25h10new|:vsp|:vert resize 20
[?25l                    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name]            ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name]                                                  call DoRecordScreen()" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")else   call append('$', "Screen attributes are the same!")

:endif%w! test.out

:qaENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [+][?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l        abcdef hijkl

mn  pqrstuvwxyz 1060

ABCDEFGHIJKLMNOP    

~                   

~                   

~                   

~                   

~                   

~                   

                    
~                   [?12l[?25h[?25l:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25labcdef          

+hijklmn            

+pqrstuvwxyz 1060ABC

+DEFGHIJKLMNOP      abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [?12l[?25h[?25l:[?12l[?25hfu! ScreenChar(width, lines)
[?25l

:  [?12l[?25h:^Ilet c=''


[?25l:  [?12l[?25h:^Ifor j in range(1,a:lines)


[?25l:    [?12l[?25h:^I    for i in range(1,a:width)


[?25l:      [?12l[?25h:^I    ^Ilet c.=nr2char(screenchar(j, i))


[?25l:      [?12l[?25h:^I    endfor


[?25l:    [?12l[?25h:           let c.="\n"


[?25l:    [?12l[?25h:^Iendfor


[?25l:  [?12l[?25h:^Ireturn c


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||||||~                   

~                   

~                   

~                   

~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25hfu! DoRecordScreen()
[?25l

:  [?12l[?25h:^Iwincmd l


[?25l:  [?12l[?25h:^I$put =printf(\"\n%s\", g:test)


[?25l:  [?12l[?25h:^I$put =g:line


[?25l:  [?12l[?25h:^Iwincmd p


[?25l:  [?12l[?25h:endfu
[?25labcdef|

+hijklmn|

+pqrstuvwxyz 1060ABC|

+DEFGHIJKLMNOP      ||
~                   abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[?12l[?25h[?25l:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo


l:\ub6"
[?25l▕———abcdef|▕———␣ˑ¶[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef|

+hijklmn▕———|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines¶                   

Test 1: set         

+linebreak + set    

+list + fancy       

+listchars¶         

▕———abcdefˑˑˑˑˑˑˑˑˑˑ
@                   Test 1: set linebreak + set list + fancy listchars▕———abcdef          +hijklmn▕———        +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶    [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[?12l[?25h[?25l:[?12l[?25hset list nolinebreak
[?25lhijklmn▕—pqrstuvwxyz␣1060ABCDEFGHIJKLMNOPˑ¶    

¶                

Test 1: set linebrea

+k + set list + fancy listchars¶   

▕———abcdefˑˑˑˑˑˑˑˑˑˑ¶          

+hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l▕———abcdef hijklmn▕—|

+pqrstuvwxyz␣1060ABC|

+DEFGHIJKLMNOPˑ¶|

¶|

Test 1: set linebrea|

+k + set list + fanc|

+y listchars¶|

▕———abcdefˑˑˑˑˑˑˑˑˑˑ|

+¶|

+hijklmn▕———ˑˑˑˑˑˑˑˑ|
@                   

[No Name] [+]        abcdef hijklmn  pqrstuvwxyz 1060ABCDEFGHIJKLMNOPTest 1: set linebreak + set list + fancy listchars▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶~                                                          ~                                                          [No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            +hijklmn▕———ˑˑˑˑˑˑˑˑ
@                   [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines▕———abcdef                                                 +hijklmn▕———                                               +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ~                                                          ~                                                                                                                                                                                                                                                                                                      Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l▕———▕—¶                  

+pqrstuvwxyz␣1060ABC

+¶+DEFGHIJKLMNOPˑ¶ˑˑˑˑ¶                 

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ

+¶                  

▕———*mask = nil;¶~ [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l▕———*mask = nil;¶   

~                   

                    

                    

                    

                    

                    

                    

                    

                    ~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   [?12l[?25h[?25l:[?12l[?25hset nolist linebreak
[?25l      
    [?12l[?25h[?25l:[?12l[?25hredraw!
[?25l*mask = nil;    ||||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        ▕———abcdef+hijklmn▕———+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶Test 2: set nolinebreak list▕———abcdef hijklmn▕—+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[No Name] [+]                                              :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines                    

Test 3: set         

+linebreak nolist   

    *mask = nil;    

~                   

~                   

~                   +pqrstuvwxyz␣1060ABC                                       +DEFGHIJKLMNOPˑ¶                                           ¶                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       *mask = nil;Test 3: set linebreak nolist*mask = nil;~~~4 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['#define ABCDE^I^I1','#define ABCDEF^I^I1','#define ABCDEFG^I^I


1','#define ABCDEFGH^I1', '#define MSG_MODE_FILE^I^I^I1','#define MSG_MODE_CONSO


LE^I^I2','#define MSG_MODE_FILE_AND_CONSOLE^I3','#define MSG_MODE_FILE_THEN_CONS


OLE^I4']
[?25l*mask = nil;    ||

Test 3: set|+pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l#define             

+ABCDE      1       [?12l[?25h[?25l:[?12l[?25hvert resize 40
[?25l                    |                    |linebreak nolist|

    *mask = nil;                        |

~                    |                    |                    |

#define ABCDE1 |ABCDEF      1 |

#define ABCDEFG     1 |                    +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+][?12l[?25h[?25l:[?12l[?25h$-7
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25l#define ABCDE       1                   

#define ABCDEF      1                   

#define ABCDEFG     1                   

                                        

                                        

                                        

                                        

                                        

                                        

                                        #define ABCDEFGH    1

#define MSG_MODE_FILE1

#define MSG_MODE_CONSOLE2

#define MSG_MODE_FILE_AND_CONSOLE   3

#define MSG_MODE_FILE_THEN_CONSOLE  4

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l>-->--->->--->>--->--->-->--->--->--->--->-->-[?12l[?25h[?25l:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25lAB>CDEF>->CDEFG>->CDEFGH>->_FILE>------->_CONSOLE>------->_FILE_AND_CONSOLE>------->_FILE_THEN_CONSOLE>-------AB[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l#define ABCDE>-->---1|

#define >CDEF>-->---1|

#define >CDEFG>->---1|

#define >CDEFGH>----1|

#define >_FILE>--------->--->---1|

#define >_CONSOLE>---------->---2|

#define >_FILE_AND_CONSOLE>---------3   |

#define >_FILE_THEN_CONSOLE>--------4   |||~                                       

~                                       

[No Name] [+]                            +pqrstuvwxyz␣1060ABC+DEFGHIJKLMNOPˑ¶¶*mask = nil;Test 3: set linebreak nolist*mask = nil;~~~[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l>CDE>-7 more lines                                        

Test 4: set linebreak list listchars    
@                                       #define >CDEFG>->---1+ #define >CDEFGH>----1+#define >_FILE>--------->--->---1+ #define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+ABCDE>
[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[?12l[?25h[?25l:[?12l[?25hlet c_defines=['bbeeeeee^I^I;^Isome text']
[?25l[?12l[?25h[?25l:[?12l[?25hcall append('$', c_defines)
[?25l[?12l[?25h[?25l:[?12l[?25h$
[?25l@                                       

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        Test 4: set linebreak list listchars    

+and concealing

#define >CDE>-->---1

#define >CDEF>-->---1

#define >CDEFG>->---1

#define >CDEFGH>----1

#define >_FILE>--------->--->---1

#define >_CONSOLE>---------->---2

#define >_FILE_AND_CONSOLE>---------3

bbeeeeee>--->---;>--some text[?12l[?25h[?25l:[?12l[?25hnorm! zt
[?25lbbeeeeee>--->---;>--some text           

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l>;>some text      [?12l[?25h[?25l:[?12l[?25hsyn clear
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match meaning    /;\s*\zs.*/
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match hasword    /^\x\{8}/    contains=word
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match word       /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[?12l[?25h[?25l:[?12l[?25hsyn match beginword  /\<\x\x/     contained conceal
[?25leeeeee>--[?12l[?25h[?25l:[?12l[?25hsyn match endword    /\x\{6}\>/   contained
[?25l[?12l[?25h[?25l:[?12l[?25hhi meaning   guibg=blue
[?25lsome text[?12l[?25h[?25l:[?12l[?25hhi beginword guibg=green
[?25l[?12l[?25h[?25l:[?12l[?25hhi endword   guibg=red
[?25leeeeee[?12l[?25h[?25l:[?12l[?25hredraw!
[?25leeeeee>--->-;>some text||||||||||~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

~                                       

[No Name] [+]                            #define >CDEFG>->---1+#define >CDEFGH>----1+#define >_FILE>--------->--->---1+#define >_CONSOLE>---------->---2+#define >_FILE_AND_CONSOLE>---------3+[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l                                        

Test 5: set linebreak list listchars and

eeeeee>--->-;>some text                 #define >_CONSOLE>---------->---2      +                                      #define >_FILE_AND_CONSOLE>---------3  +                                                                                                                                                                                                                                                                                bbeeeeee    ; some textTest 5: set linebreak list listchars an+d concealing part2eeeeee>--->-;>some text                + [?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 6: Screenattributes for comment    [?12l[?25h[?25l:[?12l[?25hcall append('$', ' /*^I^I and some more */')
[?25l /*>>- and some more */                 [?12l[?25h[?25l:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail


:\u02d1,eol:\ub6"
[?25leeeeee▕———————▕——————;▕—————some text¶|

¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ¶▕———▕—————— and some more */¶#define >_CONSOLE>---------->---2         ;      some text[?12l[?25h[?25l:[?12l[?25hsyntax on
[?25lbbeeeeee▕some text5>some text6for

 /* and some more */#define >_CONSOLE>---------->---2       #define >_FILE_AND_CONSOLE>---------3   bbeeeeeesome text5>some text                 [?12l[?25h[?25l:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l▕—————▕——————▕—————ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ▕———▕——————[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n


"[?25lbbeeeeee▕—————▕——————;▕—————some text¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$
[?25l[?12l[?25h[?25l:[?12l[?25hnorm! zt0
[?25l /*▕———▕—————— and some more */¶        

~                                       

~                                       

~                                       

~                                       

                                        

                                        

                                        

                                        

                                        ~                                       

~                                       

~                                       

~                                       

~                                       [?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['106']
[?12l[?25h[?25l:let attr += ['106']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:let attr += ['68']
[?12l[?25h[?25l:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25lScreenAttributes for test6:¶            [?12l[?25h[?25l:[?12l[?25hif attr[0] != attr[1] && attr[1] != attr[3] && attr[3] != attr[5]
[?25l

:  [?12l[?25h:   call append('$', "Attribut 0 and 1 and 3 and 5 are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Not all attributes are different")


[?25l:  [?12l[?25h:endif
[?25l/*▕———▕—————— and some more */¶|

ScreenAttributes for test6:¶|

Attribut 0 and 1 and 3 and 5 are differe||
~                                       #define >_CONSOLE>---------->---2      + #define >_FILE_AND_CONSOLE>---------3  + [?12l[?25h[?25l:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select


ion=exclusive and multibyte char"
[?25l/*▕———▕—————— and some more */¶|#define >_CONSOLE>---------->---2      [?12l[?25h[?25l:[?12l[?25h$put =g:test
[?25lTest 8: set linebreak with visual block [?12l[?25h[?25llong line:ˑ¶                            [?12l[?25h[?25l¶                                

¶                            

¶                                       

¶                                      

oobar foobar foobar foobar foobarˑ¶[?12l[?25h[?25l
foobar foobar TARGET¶               [?12l[?25h[?25lÃ' at end¶[?12l[?25h[?25l:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25lx' at end¶[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=[]
[?25l[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l /*▕———▕—————— and some more */¶ScreenAttributes for test6:¶Attribut 0 and 1 and 3 and 5 are differe

Test 8: set linebreak with visual block

long line: foobar foobar foobar foobar f

¶                                       [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25h$put ='a b c'
[?25la b c¶                                  [?12l[?25h[?25l:[?12l[?25hset list nolinebreak cc=3
[?25l*

Scr

Att

Tesn 

a b

a b[?12l[?25h[?25l:[?12l[?25hsign define foo text=^+
[?25l[?12l[?25h[?25l:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l   /*▕———▕—————— and some more */¶  ScreenAttributes for test6:¶  Attribut 0 and 1 and 3 and 5 are diff

  Test 8: set linebreak with visual bloc

  long line: foobar foobar foobar foobar

  ¶ 

+a b c¶  a b c¶  

  ~~  #define >_CONSOLE>-->---2  +     #define >_FILE_AND_CONSOLE>--3  +     bbeeeeee  ;      some text    Test 5: set linebreak list listchars   +and concealing part2  eeeeee>--->-;>some text  +[?12l[?25h[?25l:[?12l[?25hnorm! 2kztj
[?25l  ¶                                     

+a b c¶                                

  a b c¶                                

  ~                                     

  ~                                     

                                        

                                        

                                        

                                        

                                          

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     [?12l[?25h[?25l:[?12l[?25hlet line1=line('.')
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['91']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hlet line2=line('.')
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr2=attr
[?25l[?12l[?25h[?25l:[?12l[?25hlet attr=[]
[?25l[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:let attr += ['91']
[?12l[?25h[?25l:let attr += ['0']
[?12l[?25h[?25l:[?12l[?25hredraw!
[?25l  ¶ |

+a b c¶|

  a b c¶||||||||  

  

  

  

  

  

  ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     

[No Name] [+]                              #define >_CONSOLE>---------->---2      +     #define >_FILE_AND_CONSOLE>---------3  +     bbeeeeee;      some text    Test 5: set linebreak list listchars  +and concealing part2  eeeeee>--->-;>some text  +[No Name] [+]                          :call DoRecordScreen()

:" expected: attr[2] is different because of colorcolumn

:if attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]

:   call append('$', "Screen attributes are different!")

:else

:   call append('$', "Screen attributes are the same!")

:endif

:%w! test.out

:qa!

ENDTEST

dummy text

test_listlbr_utf8.in                                                            [?12l[?25h[?25l:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[?12l[?25h[?25l:[?12l[?25hcall DoRecordScreen()
[?25l3 more lines¶                                     Test 9: a multibyte sign and colorcolu  ¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ+a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ  a b c¶ˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑa b cTest 9: a multibyte sign and colorcolumn  ¶                     ++a b c¶                                 a b c¶               [?12l[?25h[?25l:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[?12l[?25h[?25l:[?12l[?25hif attr[0] != attr2[0] || attr[1] != attr2[1] || attr[2] != attr2[2]
[?25l

:  [?12l[?25h:   call append('$', "Screen attributes are different!")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:   call append('$', "Screen attributes are the same!")


[?25l:  [?12l[?25h:endif
[?25l  ¶ |

+a b c¶|

  a b c¶|

  ¶ |Screen attributes are the same!¶        a b c    Test 9: a multibyte sign and colorcol  +umn[?12l[?25h[?25l:[?12l[?25h%w! test.out
[?25l"test.out" [New File] 57 lines, 1882 characters writtentest.out]      test.out     [?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test_listlbr_utf8 = test61; then \
#	  if diff test.out test_listlbr_utf8.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test_listlbr_utf8.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_listlbr_utf8.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test54.failed test.ok test.out X* viminfo
cp test54.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test54.in" 22 lines, 658 charactersSome tests for buffer-local autocommands



STARTTEST

:so small.vim

:e xx

:if has("vms")

: !del test.out.*

: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.oout

:else

: !rm -f test.out

: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out

:endif

:e somefile" here, autocommand for xx shall write test.out

:" but autocommand shall not apply to buffer named <buffer>:bwipe xx" here, autocommand shall be auto-deleted

:e xx" nothing shall be written

:e somefile" nothing shall be written

:qa!

ENDTEST



start of test file xx

end of test file xx[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lSome tests for buffer-local autocommands[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 15 lines, 555 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25he xx
[?25l"xx" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !del test.out.*


[?25l:  [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te


st.out


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !rm -f test.out


[?25l:!rm -f test.out[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out


[?25l:  [?12l[?25h:endif
[?25l:[?12l[?25he somefile           " here, autocommand for xx shall write test.out 
[?25l:!echo buffer-local autommand in xx>> test.out


[?12l[?25h[?25l"somefile" [New File]


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h                     " but autocommand shall not apply to buffer named <buffer


>[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe xx             " here, autocommand shall be auto-deleted
[?25l[?12l[?25h[?25l:[?12l[?25he xx                 " nothing shall be written
[?25l"xx" [New File][?12l[?25h[?25l:[?12l[?25he somefile           " nothing shall be written
[?25l"somefile" [New File][?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test54 = test61; then \
#	  if diff test.out test54.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test54.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test54.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test17.failed test.ok test.out X* viminfo
cp test17.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test17.in" 135 lines, 2431 charactersTests for:

- "gf" on ${VAR},

- ":checkpath!" with various 'include' settings.



STARTTEST

:so small.vim

:if has("ebcdic")

: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}

:else

: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}

:endif

:"

:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 564 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out

:w! test.out

gf

:set ff=unix

:w! test.out

:brewind

ENDTEST[?12l[?25h[?25l

[?12l[?25h[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hif has("ebcdic")
[?25l

:  [?12l[?25h: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}


[?25l:  [?12l[?25h:endif
[?25l:"

:if has("unix")

:let $CDIR = "."

/CDIR[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hif has("unix")
[?25l

:  [?12l[?25h:let $CDIR = "."


[?25l:  [?12l[?25h/CDIR


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h:if has("amiga")


[?25l:    [?12l[?25h:let $TDIR = "/testdir"


[?25l:    [?12l[?25h:else


[?25l:    [?12l[?25h:let $TDIR = "."


[?25l:    [?12l[?25h:endif


[?25l:  [?12l[?25h/TDIR


[?25l:  [?12l[?25h:endif
[?25l:if has("unix")

:let $CDIR = "."

/CDIR

:else

:if has("amiga")

:let $TDIR = "/testdir"

:else

:let $TDIR = "."

:endif

/TDIR

:endif

:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat': > nmake -f Make_dos.mak test17.outw! test.outgf:set ff=unix

:w! test.out

:brewindENDTEST${CDIR}/test17a.in[?12l[?25h[?25l

:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[?12l[?25h[?25l:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[?12l[?25h[?25l:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[?12l[?25h[?25l:[?12l[?25h"  > nmake -f Make_dos.mak test17.out
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 135 lines, 2431 characters written[?12l[?25h[?25l

"/<<PKGBUILDDIR>>/src/vim-nox/testdir/./test17a.in" 3 lines, 88 c


haracters


Press ENTER or type command to continue[?12l[?25h[?25lThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset ff=unix
[?25l[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" 3 lines, 88 characters written[?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:" Dummy writing for making that sure gf doesn't fail even if the current

:" file is modified. It can be occurred when executing the following command

:" directly on Windows without fixing the 'fileformat':

:"  > nmake -f Make_dos.mak test17.out:w! test.outgf:set ff=unix:w! test.out:brewindENDTEST        ${CDIR}/test17a.in        $TDIR/test17a.inSTARTTEST:" check for 'include' without \zs or \ze:lang C:call delete("./Xbase.a"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":e! Xdir1/dir2/foo.ai#include   "bar.a"^[:[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 23 lines, 396 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.a

i#include"foo.a"^[:

:w

:e Xbase.a

:set path=Xdir1/dir2

i#include    <foo.a>^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and \ze

:call delete("./Xbase.b")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*/\zs[^/]\+\ze'

:function! DotsToSlashes()

:  return substitute(v:fname, '\.', '/', 'g') . '.b'

:endfunction[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[?12l[?25h[?25l:[?12l[?25hlang C
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.a")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l#include   "bar.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][?12l[?25h[?25l#include      "baz.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][?12l[?25h[?25l#include"foo.a"[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l#include    <foo.a>[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.a


Xdir1/dir2/foo.a -->


  Xdir1/dir2/bar.a


  Xdir1/dir2/bar.a -->


    Xdir1/dir2/baz.a


    Xdir1/dir2/baz.a -->


      "foo.a"  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l#include    <foo.a>

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi#include            "foo.a"^[:

:w:e Xbase.a:set path=Xdir1/dir2i#include    <foo.a>^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and \ze:call delete("./Xbase.b"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*/\zs[^/]\+\ze':function! DotsToSlashes():  return substitute(v:fname, '\.', '/', 'g') . '.b':endfunction:let &includeexpr='DotsToSlashes()'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 27 lines, 532 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.b")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:

:w

:e Xbase.b

:set path=Xdir1/dir2

i%inc    /foo/^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

ENDTEST



STARTTEST

:" check for 'include' with \zs and no \ze

:call delete("./Xbase.c")

:call delete("Xdir1", "rf")

:!mkdir Xdir1

:!mkdir "Xdir1/dir2"

:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'

:function! StripNewlineChar()

:  if v:fname =~ '\n$'

:    return v:fname[:-2][?12l[?25h[?25l:[?12l[?25hfunction! DotsToSlashes()
[?25l

:  [?12l[?25h:  return substitute(v:fname, '\.', '/', 'g') . '.b'


[?25l:  [?12l[?25h:endfunction
[?25l:e Xdir1/dir2/baz.b

i%inc/foo/^[:[?12l[?25h[?25l:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   /bar/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][?12l[?25h[?25l%inc      /baz/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][?12l[?25h[?25l%inc/foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    /foo/[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.b


Xdir1/dir2/foo.b -->


  Xdir1/dir2/bar.b


  Xdir1/dir2/bar.b -->


    Xdir1/dir2/baz.b


    Xdir1/dir2/baz.b -->


      foo  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    /foo/

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 charactersi%inc            /foo/^[:

:w:e Xbase.b:set path=Xdir1/dir2i%inc    /foo/^[::w:redir! >>test.out:checkpath!:redir END:brewindENDTESTSTARTTEST:" check for 'include' with \zs and no \ze:call delete("./Xbase.c"):call delete("Xdir1", "rf"):!mkdir Xdir1:!mkdir "Xdir1/dir2":let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze':function! StripNewlineChar():  if v:fname =~ '\n$':    return v:fname[:-2]:  endif[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" 39 lines, 745 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("./Xbase.c")
[?25l[?12l[?25h[?25l:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[?12l[?25h[?25l:[?12l[?25h!mkdir Xdir1
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=[?25l:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c

i%incfoo.c^[:

:w

:e Xbase.c

:set path=Xdir1/dir2

i%inc    FALSE.c foo.c^[:

:w

:redir! >>test.out

:checkpath!

:redir END

:brewind

:" change "\" to "/" for Windows and fix 'fileformat'

:e test.out

:%s#\\#/#g

:set ff&

:w

:q

ENDTEST

[?12l[?25h[?25l

:[?12l[?25hfunction! StripNewlineChar()
[?25l

:  [?12l[?25h:  if v:fname =~ '\n$'


[?25l:    [?12l[?25h:    return v:fname[:-2]


[?25l:    [?12l[?25h:  endif


[?25l:  [?12l[?25h:  return v:fname


[?25l:  [?12l[?25h:endfunction
[?25l:w

:e Xdir1/dir2/baz.c

i%incfoo.c^[:

:w

:e Xdir1/dir2/FALSE.c[?12l[?25h[?25l

:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[?12l[?25h[?25l:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l%inc   bar.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][?12l[?25h[?25l%inc      baz.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][?12l[?25h[?25l%incfoo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][?12l[?25h[?25l:[?12l[?25hset path=Xdir1/dir2
[?25l[?12l[?25h[?25l%inc    FALSE.c foo.c[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[?12l[?25h[?25l:[?12l[?25hredir! >>test.out
[?25l[?12l[?25h[?25l:[?12l[?25hcheckpath!
[?25l--- Included files in path ---


Xdir1/dir2/foo.c


Xdir1/dir2/foo.c -->


  Xdir1/dir2/bar.c


  Xdir1/dir2/bar.c -->


    Xdir1/dir2/baz.c


    Xdir1/dir2/baz.c -->


      foo.c  (Already listed)


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hredir END
[?25l%inc    FALSE.c foo.c

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters:w:e Xdir1/dir2/baz.ci%inc            foo.c^[::w:e Xdir1/dir2/FALSE.ci%inc            foo.c^[::w:e Xbase.c:set path=Xdir1/dir2i%inc    FALSE.c foo.c^[::w:redir! >>test.out:checkpath!:redir END:brewind:" change "\" to "/" for Windows and fix 'fileformat':e test.out:%s#\\#/#g:set ff&:w:qENDTEST[?12l[?25h[?25l:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[?12l[?25h[?25l:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 charactersThis file is just to test "gf" in test 17.

The contents is not important.

Just testing!--- Included files in path ---

Xdir1/dir2/foo.a

Xdir1/dir2/foo.a -->

  Xdir1/dir2/bar.a  Xdir1/dir2/bar.a -->    Xdir1/dir2/baz.a

    Xdir1/dir2/baz.a -->

      "foo.a"  (Already listed)--- Included files in path ---Xdir1/dir2/foo.b

Xdir1/dir2/foo.b -->

  Xdir1/dir2/bar.b

  Xdir1/dir2/bar.b -->

    Xdir1/dir2/baz.b

    Xdir1/dir2/baz.b -->foo  (Already listed)[?12l[?25h[?25l:[?12l[?25h%s#\\#/#g
[?25lE486: Pattern not found: \\[?12l[?25h[?25l:[?12l[?25hset ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[?12l[?25h[?25l:[?12l[?25hq
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test17 = test61; then \
#	  if diff test.out test17.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test17.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test30.failed test.ok test.out X* viminfo
cp test30.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available.



STARTTEST

:so small.vim

:" first write three test files, one in each format

:set fileformat=unix

:set fileformats=

:/^unix/;/eof/-1w! XXUnix

:/^dos/;/eof/-1w! XXDos

:set bin noeol

:$w! XXMac

Gonoeol^[

:$w! XXEol

:set nobin eol

:enew!

:bwipe XXUnix XXDos XXMac

:" create mixed format files

:if has("vms")

: !copy XXUnix,XXDos XXUxDs.

: !copy XXUnix,XXMac XXUxMac.

: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for a lot of variations of the 'fileformats' option[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 221 lines, 3592 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72

Go8^[:$r XXtt81

:$r XXtt82

Go9^[:$r XXtt91

:$r XXtt92

:$r XXtt93

Go10^[:$r XXUnix

:set nobinary ff&

:w

:qa!

ENDTEST



unix

unix

eof



dos^M

dos^M

eof



mac^Mmac^M[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h" first write three test files, one in each format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=
[?25l[?12l[?25h[?25l:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25hset bin noeol
[?25l[?12l[?25h[?25l:[?12l[?25h$w! XXMac
[?25l"XXMac" [New File][Incomplete last line] 1 line, 8 characters written[?12l[?25h[?25l

noeol[?12l[?25h[?25l

:[?12l[?25h$w! XXEol
[?25l"XXEol" [New File][Incomplete last line] 1 line, 5 characters written[?12l[?25h[?25l:[?12l[?25hset nobin eol
[?25l[?12l[?25h[?25l:[?12l[?25henew!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[?12l[?25h[?25l:[?12l[?25h" create mixed format files
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: !copy XXUnix,XXDos XXUxDs.


[?25l:  [?12l[?25h: !copy XXUnix,XXMac XXUxMac.


[?25l:  [?12l[?25h: !copy XXDos,XXMac  XXDosMac.


[?25l:  [?12l[?25h: !copy XXMac,XXEol  XXMacEol.


[?25l:  [?12l[?25h: !copy XXUnix,XXDos,XXMac XXUxDsMc.


[?25l:  [?12l[?25h:elseif has("win32")


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos XXUxDs


[?25l:  [?12l[?25h: !copy /b XXUnix+XXMac XXUxMac


[?25l:  [?12l[?25h: !copy /b XXDos+XXMac XXDosMac


[?25l:  [?12l[?25h: !copy /b XXMac+XXEol XXMacEol


[?25l:  [?12l[?25h: !copy /b XXUnix+XXDos+XXMac XXUxDsMc


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: !cat XXUnix XXDos >XXUxDs


[?25l:!cat XXUnix XXDos >XXUxDs[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXMac >XXUxMac


[?25l:!cat XXUnix XXMac >XXUxMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXDos XXMac >XXDosMac


[?25l:!cat XXDos XXMac >XXDosMac[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXMac XXEol >XXMacEol


[?25l:!cat XXMac XXEol >XXMacEol[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25h !cat XXUnix XXDos XXMac >XXUxDsMc


[?25l:!cat XXUnix XXDos XXMac >XXUxDsMc[?1l>[?12l[?25h[?1049l



Press ENTER or type command to continue[?1049h[?1h=

[?25l:  :[?12l[?25hendif
[?25l:[?12l[?25h"
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUnix
[?25l"XXUnix" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" 2 lines, 10 charactersdos^M

dos^M[?12l[?25h[?25l:[?12l[?25hw! XXtt01
[?25l"XXtt01" [New File] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line] 1 line, 8 charactersmacmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt02
[?25l"XXtt02" [New File] 1 line, 9 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=dos
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdos^Mdos^Meofmac^Mmac^M[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [CR missing][dos format] 2 lines, 10 charactersunixunix~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt11
[?25l"XXtt11" [New File][dos format] 2 lines, 12 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [dos format] 2 lines, 10 charactersdosdos[?12l[?25h[?25l:[?12l[?25hw! XXtt12
[?25l"XXtt12" [New File][dos format] 2 lines, 10 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [Incomplete last line][dos format] 1 line, 8 charactersmac^Mmac^M

~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt13
[?25l"XXtt13" [New File][dos format] 1 line, 10 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset fileformat=mac
[?25l:$r XXtt64

Go7^[:$r XXtt71

:$r XXtt72Go8^[:$r XXtt81:$r XXtt82Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTESTunixunixeofdosdoseofmac^Jmac[?12l[?25h[?25l

:[?12l[?25he! XXUnix
[?25l"XXUnix" [Incomplete last line][mac format] 1 line, 10 charactersunix^Junix^J

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt21
[?25l"XXtt21" [New File][mac format] 1 line, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXDos
[?25l"XXDos" [Incomplete last line][mac format] 3 lines, 10 charactersdos^Jdos^J[?12l[?25h[?25l:[?12l[?25hw! XXtt22
[?25l"XXtt22" [New File][mac format] 3 lines, 11 characters written[?12l[?25h[?25l:[?12l[?25he! XXMac
[?25l"XXMac" [mac format] 2 lines, 8 charactersmac

mac~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt23
[?25l"XXtt23" [New File][mac format] 2 lines, 8 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters


3 buffers wiped out


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l^Jdos

^Jeof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt31
[?25l"XXtt31" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt32
[?25l"XXtt32" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [mac format] 4 lines, 28 charactersunix^Junix^Jdos^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt33
[?25l"XXtt33" [New File][mac format] 4 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3762 characters^Jdoseof^J^Jmac

mac^J[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M

dos^M

mac^Mmac^M[?12l[?25h[?25l:[?12l[?25hw! XXtt41
[?25l"XXtt41" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt42
[?25l"XXtt42" [New File] 3 lines, 19 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [Incomplete last line][dos format] 3 lines, 18 charactersdodos

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt43
[?25l"XXtt43" [New File][dos format] 3 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" 4 lines, 20 charactersunixunix

dos^Mdos^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt51
[?25l"XXtt51" [New File] 4 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt52
[?25l"XXtt52" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [mac format] 4 lines, 18 charactersdo^Jdos

^Jmacmac

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt53
[?25l"XXtt53" [New File][mac format] 4 lines, 18 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt54
[?25l"XXtt54" [New File] 2 lines, 20 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [CR missing][dos format] 4 lines, 20 charactersunixunix

dosdos

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt61
[?25l"XXtt61" [New File][dos format] 4 lines, 22 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [Incomplete last line][CR missing][dos format] 3 lines, 18 charactersunixunix

mac^Mmac^M~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:dos[?12l[?25h[?25l:[?12l[?25hw! XXtt62
[?25l"XXtt62" [New File][dos format] 4 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 character


s

Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hw! XXtt63
[?25l"XXtt63" [New File][dos format] 5 lines, 32 characters written


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' option



Note: This test will fail if "cat" is not available."test30.in" [CR missing][dos format] 237 lines, 3762 characters[?12l[?25h[?25l:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [Incomplete last line][mac format] 3 lines, 13 charactersmacmac

noeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25ldos,mac:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt64
[?25l"XXtt64" [New File][mac format] 4 lines, 26 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [CR missing][dos format] 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=unix,dos,mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt71
[?25l"XXtt71" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lunix,dos,mac:unix[?12l[?25h[?25l:[?12l[?25hw! XXtt72
[?25l"XXtt72" [New File] 2 lines, 24 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,dos,unix
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt81
[?25l"XXtt81" [New File] 5 lines, 29 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25he! XXEol
[?25l"XXEol" [Incomplete last line][mac format] 1 line, 5 charactersnoeol~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l=[?12l[?25h&ffs
[?25l=[?12l[?25h&ff
[?25lmac,dos,unix:mac[?12l[?25h[?25l:[?12l[?25hw! XXtt82
[?25l"XXtt82" [New File][mac format] 2 lines, 23 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25h" try with 'binary' set
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformats=mac,unix,dos
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt91
[?25l"XXtt91" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=mac
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt92
[?25l"XXtt92" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" 237 lines, 3762 charactersTest for a lot of variations of the 'fileformats' optionNote: This test will fail if "cat" is not available.STARTTEST:so small.vim:" first write three test files, one in each format:set fileformat=unix:set fileformats=:/^unix/;/eof/-1w! XXUnix:/^dos/;/eof/-1w! XXDos:set bin noeol:$w! XXMacGonoeol^[:$w! XXEol:set nobin eol:enew!:bwipe XXUnix XXDos XXMac:" create mixed format files:if has("vms"): !copy XXUnix,XXDos XXUxDs.: !copy XXUnix,XXMac XXUxMac.: !copy XXDos,XXMac  XXDosMac.[?12l[?25h[?25l:[?12l[?25hset fileformats=dos
[?25l[?12l[?25h[?25l:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix

dos^Mdos^M

mac^Mmac^M

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hw! XXtt93
[?25l"XXtt93" [New File][Incomplete last line] 5 lines, 28 characters written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[?12l[?25h[?25l:[?12l[?25hset fileformat=unix nobin
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25lEND[?12l[?25h[?25l:[?12l[?25hw >>XXtt01
[?25l"XXtt01" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt02
[?25l"XXtt02" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt11
[?25l"XXtt11" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt12
[?25l"XXtt12" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt13
[?25l"XXtt13" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt21
[?25l"XXtt21" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt22
[?25l"XXtt22" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt23
[?25l"XXtt23" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt31
[?25l"XXtt31" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt32
[?25l"XXtt32" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt33
[?25l"XXtt33" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt41
[?25l"XXtt41" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt42
[?25l"XXtt42" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt43
[?25l"XXtt43" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt51
[?25l"XXtt51" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt52
[?25l"XXtt52" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt53
[?25l"XXtt53" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt54
[?25l"XXtt54" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt61
[?25l"XXtt61" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt62
[?25l"XXtt62" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt63
[?25l"XXtt63" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt64
[?25l"XXtt64" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt71
[?25l"XXtt71" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt72
[?25l"XXtt72" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt81
[?25l"XXtt81" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt82
[?25l"XXtt82" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt91
[?25l"XXtt91" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt92
[?25l"XXtt92" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25hw >>XXtt93
[?25l"XXtt93" 1 line, 4 characters appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Concatenate the results.
[?25l[?12l[?25h[?25l:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[?12l[?25h[?25l:[?12l[?25h" Add a newline at the end.
[?25l[?12l[?25h[?25l:[?12l[?25hset binary
[?25l[?12l[?25h[?25l:[?12l[?25he! test.out
[?25l"test.out" 2 lines, 10 charactersunix

unix[?12l[?25h[?25l:[?12l[?25h$r XXtt01
[?25l"XXtt01" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt02
[?25l"XXtt02" 2 lines, 13 charactersmac^Mmac^MEND[?12l[?25h

[?25l

1[?12l[?25h[?25l:[?12l[?25h$r XXtt11
[?25l"XXtt11" 3 lines, 16 charactersunix^Munix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt12
[?25l"XXtt12" 3 lines, 14 charactersdos^Mdos^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt13
[?25l"XXtt13" 2 lines, 14 charactersmac^Mmac^M^MEND[?12l[?25h

[?25l

2[?12l[?25h[?25l:[?12l[?25h$r XXtt21
[?25l"XXtt21" 3 lines, 15 charactersunixunix^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt22
[?25l"XXtt22" 3 lines, 15 charactersdos^Mdos^M^MEND[?12l[?25h[?25l:[?12l[?25h$r XXtt23
[?25l"XXtt23" 1 line, 12 characters

mac^Mmac^MEND[?12l[?25h[?25l

3[?12l[?25h[?25l

:[?12l[?25h$r XXtt31
[?25l"XXtt31" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt32
[?25l"XXtt32" 6 lines, 36 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt33
[?25l"XXtt33" 5 lines, 32 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

4[?12l[?25h[?25l

:[?12l[?25h$r XXtt41
[?25l"XXtt41" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt42
[?25l"XXtt42" 4 lines, 23 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt43
[?25l"XXtt43" 4 lines, 24 charactersunix

mac^Mmac^M

END

dos^M[?12l[?25h[?25ldos^M

mac^Mmac^M^M

END
[?12l[?25h[?25l

5[?12l[?25h[?25l

:[?12l[?25h$r XXtt51
[?25l"XXtt51" 5 lines, 24 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt52
[?25l"XXtt52" 6 lines, 33 charactersunix

dos^M

dos^M

END

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt53
[?25l"XXtt53" 3 lines, 22 charactersunix

dos^M

dos^M

mac^Mmac^M

END

dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt54
[?25l"XXtt54" 3 lines, 24 charactersdos^M

mac^Mmac^MEND

unix,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

6[?12l[?25h[?25l

:[?12l[?25h$r XXtt61
[?25l"XXtt61" 5 lines, 26 characters

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt62
[?25l"XXtt62" 5 lines, 39 charactersunix^M

dos^M

dos^M

END

dos,mac:dos^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt63
[?25l"XXtt63" 6 lines, 36 charactersunix^M

unix^M

mac^Mmac^M^M

END

unix^M[?12l[?25h[?25l

:[?12l[?25h$r XXtt64
[?25l"XXtt64" 1 line, 30 charactersunix^M

dos^M

dos^M

mac^Mmac^M^M

END

dos,mac:mac^Mmac^Mmac^Mnoeol^MEND[?12l[?25h[?25l

7[?12l[?25h[?25l

:[?12l[?25h$r XXtt71
[?25l"XXtt71" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt72
[?25l"XXtt72" 3 lines, 28 charactersunix

dos^M

dos^M

mac^Mmac^M

END

unix,dos,mac:unix[?12l[?25h[?25lnoeol

END
[?12l[?25h[?25l

8[?12l[?25h[?25l

:[?12l[?25h$r XXtt81
[?25l"XXtt81" 6 lines, 33 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt82
[?25l"XXtt82" 1 line, 27 charactersunix

dos^M

dos^M

mac^Mmac^M

END

mac,dos,unix:mac^Mnoeol^MEND[?12l[?25h[?25l

9[?12l[?25h[?25l

:[?12l[?25h$r XXtt91
[?25l"XXtt91" 5 lines, 32 characters

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt92
[?25l"XXtt92" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25l

:[?12l[?25h$r XXtt93
[?25l"XXtt93" 5 lines, 32 charactersunix

dos^M

dos^M

mac^Mmac^MEND

unix[?12l[?25h[?25lunix

dos^M

dos^M

mac^Mmac^MEND
[?12l[?25h[?25l

10[?12l[?25h[?25l

:[?12l[?25h$r XXUnix
[?25l"XXUnix" 2 lines, 10 characters

unix[?12l[?25h[?25l

:[?12l[?25hset nobinary ff&
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l

# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test30 = test61; then \
#	  if diff test.out test30.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test30.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test30.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test32.failed test.ok test.out X* viminfo
cp test32.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test32.in" 60 lines, 1391 charactersTest for insert expansion



:se cpt=.,w

* add-expands (word from next line) from other window

* add-expands (current buffer first)

* Local expansion, ends in an empty line (unless it becomes a global expansion)

* starts Local and switches to global add-expansion

:se cpt=.,w,i

* i-add-expands and switches to local

* add-expands lines (it would end in an empty line if it didn't ignored it self):se cpt=kXtestfile

* checks k-expansion, and file expansion (use Xtest11 instead of test11,

* because TEST11.OUT may match first on DOS)

:se cpt=w

* checks make_cyclic in other window

:se cpt=u nohid

* checks unloaded buffer expansion

* checks adding mode abortion

:se cpt=t,d

* tag expansion, define add-expansion interrupted

* t-expansion



STARTTEST[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTest for insert expansion[?12l[?25h[?25l/^STARTTEST
[?12l[?25h[?25l

:so small.vim[?12l[?25h[?25l

:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 27 lines, 533 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l

/ENDTESTO^N^[IX^[A^X^F^N^[

:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use

:" CTRL-X CTRL-F again to verify this doesn't cause trouble.

OX^X^F^H^H^H^H^H^H^H^H^X^F^[ddk

:se cpt=w

OST^N^P^P^P^P^[

:se cpt=u nohid

^WoOEN^N

unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[

:wq! test.out

ENDTEST



start of testfile

run1

run2

end of testfile



test11  36Gepeto/Tag/

asd     test11file      36G

Makefileto      run[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [New] 3L, 57C written[?12l[?25h[?25l:[?12l[?25hse cot=
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       unl^N^X^X^P^[

:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch

O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D

a^N^[:wq! test.out

ENDTESTstart of testfile

run1run2test32.in                                                                       [?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 4match in file test32.in^-- Keyword completion (^N^P) match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Adding Keyword completion (^N^P) Word from other line#include "Xtestfile"

run1 run2[+][?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h[?25l3[?12l[?25h

[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) match 1 of 115-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) Word from other line-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4 match 3 of 4 match 4 of 4 Back at original-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 4. match 2 of 4-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino-- Adding Keyword completion (^N^P) match 1 of 2match in file test32.ine-- Adding Keyword completion (^N^P) Word from other linerun3 run3



run1 run2[?12l[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?12l[?25h

[?25l:[?12l[?25hse cpt=.,w,i
[?25l[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Adding Keyword completion (^N^P) -- Searching...
Scanning: test32.ino included file: Xtestfile
match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword Local completion (^N^P) -- Searching...match 1 of 3.-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...
Scanning: test32.ine-- Whole line completion (^L^N^P) match 1 of 57INSERT --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 57Addinge Whole line completion (^L^N^P) -- Searching...
Scanning: test32.ine-- Adding Whole line completion (^L^N^P) The only match Back at original The only matchMakefileto      run3

Makefileto      run3

Makefileto      run3[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=kXtestfile
[?25l[?12l[?25h[?25l:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C writtenXtest11.one+   [?12l[?25h[?25l:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning dictionary: Xtestfile-match in file Xtestfile-- Keyword completion (^N^P) match 1 of 9test11[+]I[?12l[?25h [?25l-- Keyword completion (^N^P) match 1 of 9-- INSERT --[?12l[?25h[?25l-- INSERT --Xtest11
[?12l[?25h[?25l-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 2. match 2 of 2.two[?12l[?25h[?25l-- INSERT --[?12l[?25h[?25l:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[?12l[?25h[?25l:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 4.INSERTa -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...match 1 of 443.
Make_all.mak

run1 run2d[?12l[?25h [?25l-- INSERT --[?12l[?25h[?25l
run1 run2~                                                                               [?12l[?25h

[?25l:[?12l[?25hse cpt=w
[?25l[?12l[?25h[?25l-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in^-- Keyword completion (^N^P) The only match
STARTTEST

run1 run2[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=u nohid
[?25l[?12l[?25h[?25l



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only match-- INSERT --
-- Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) match 1 of 3-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^Keyword completion (^N^P) -- Searching...
Scanning: test32.inomatch in file test32.in
-- Keyword completion (^N^P) The only matchENDTEST

unless[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h[?25l:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[?12l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...match 1 of 3.INSERTm --e-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 3Definition completion (^D^N^P)^ U-- Searching...Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...
Scanning included file: Xtestfile match in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERTt --n-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT --f-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...
Scanning included file: Xtestfile^match in file Xtestfile-- Adding Definition completion (^D^N^P) Word from other lineINSERT --f-- Keyword completion (^N^P) -- Searching...
Scanning tags.pincluded file: Xtestfile
-- Keyword completion (^N^P) The only matchtest11file      36Gepeto/Tag/ asd

asd[?12l[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?12l[?25h

ru[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New] 15L, 175C written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test32 = test61; then \
#	  if diff test.out test32.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test32.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test32.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test58.failed test.ok test.out X* viminfo
cp test58.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 111 lines, 2591 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:"

:" NOSLITSUGS

:call TestOne('8', '8')

:" Numbers

:call TestOne('9', '9')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test58.in" 656 lines, 11024 charactersTests for spell checking.     vim: set ft=vim :STARTTESTso small.vim

:"Don't want to depend on the locale from the environment

:set enc=latin1e!"Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spelliasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[?12l[?25h[?25l:[?12l[?25hset maxmem=512 spell
[?25lvim



STARTTESTlatin1maxmem

iasdaff/.dic

:func TestOne(aff, dicspellfilea:affa:dicspldic and .aff

  exea:aff . 'affstarta:aff . 'affend/-1w! Xtest.aff

  exea:dic . 'dicstarta:dic . 'dicend/-1w! Xtest.dic

  mkspell! Xtest Xtest[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :[?12l[?25h[?25lChange "asdTests" to:


 1 "Acid tests"


 2 "Attests"


 3 "Ass Tests"


 4 "As Tests"


 5 "Sad Tests"


 6 "Ads Tests"


 7 "As tests"


 8 "As detests"


 9 "Add Tests"


10 "Aid Tests"


11 "Ash Tests"


12 "Ad Tests"


13 "And Tests"


14 "Ask Tests"


15 "Asp Tests"


16 "USD Tests"


17 "Astutest"


18 "Autotests"


19 "Sadists"


20 "Asst Tests"


21 "Assad Tests"


22 "SSD Tests"


Type number and <Enter> or click with mouse (empty cancels): [?12l[?25h[?25l:[?12l[?25h"
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.latin1.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 46 lines, 754 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']th['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 151 lines, 3412 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 127 nodes; 98 (77%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 490 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.latin1.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.latin1.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.latin1.add
[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment[?12l[?25h[?25l/[?12l[?25h^test2:
[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOP2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend

search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25l2good: puts


badend



addstart

/regions=usgbnz

elequint/2

elekwint/3

addend



test2:

elequint test elekwint test elekwent asdf



Test rules for compounding.



3affstart

SET ISO8859-1



COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']



end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 44 lines, 447 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 98 nodes; 88 (89%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 505 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"








2affend



2good: puts


badendaddstar

/regions=usgbnz

elequ/2/3

addendtest2:test elekwint test elekwent asdf[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 29 nodes; 23 (79%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 115 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 105 nodes; 86 (81%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 87 nodes; 68 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 22 lines, 223 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend




bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



Test NOSLITSUGS



8affstart

SET ISO8859-1



NOSPLITSUGS

8affend



8dicstart[?12l[?25h[?25l:[?12l[?25h" NOSLITSUGS
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" 3 lines, 27 characters written


"Xtest.dic" 4 lines, 20 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 8 of 26 nodes; 18 (69%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 90 bytes


4 lines yanked


4 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h" Numbers
[?25lNOSPLITSUGS

8affend



8dicstart

1234

foo

bar

faabar

8dicend



8good: foo bar faabar

bad: foobar barfooTest Numbers9affstart9affend9dicstart

1234

foo[?12l[?25h[?25l:[?12l[?25hcall TestOne('9', '9')
[?25lError detected while processing function TestOne:


line    5:


E493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff


"Xtest.dic" 3 lines, 13 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 2 of 15 nodes; 13 (86%) remaining


Writing spell file Xtest.latin1.spl ...


Done!


Estimated runtime memory use: 65 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1# ile: Xtest.latin1.spl

Comment


input[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25lTest Numbers



9affstart

9affend



9dicstart

1234

foo

bar

9dicend



9good: 0b1011 0777 1234 0x01ff

badend





test output:



test 1-1

# file: Xtest.latin1.spl

Comment

deol


input[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lasdTests for spell checking.     vim: set ft=vim :



STARTTEST

:so small.vim

:"

:" Don't want to depend on the locale from the environment

:set enc=latin1

:e!

:"

:" Check using z= in new buffer (crash fixed by patch 7.4a.028).

:set maxmem=512 spell

iasd^[z=:"

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 289 lines, 3844 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test58 = test61; then \
#	  if diff test.out test58.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test58.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test58.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test59.failed test.ok test.out X* viminfo
cp test59.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 106 lines, 2520 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1










[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Don't want to depend on the locale from the environment.  The .aff and .dic
[?25l[?12l[?25h[?25l:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=latin1
[?25l:call TestOne('3', '3')

:call TestOne('4', '4')

:call TestOne('5', '5')

:call TestOne('6', '6')

:call TestOne('7', '7')

:"

:" clean up for valgrind

:delfunc TestOne

:set spl= enc=latin1

:"

gg:/^test output:/,$wq! test.out

ENDTEST



1affstart

SET ISO8859-1









[?25l"test59.in" 626 lines, 10897 charactersTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :STARTTESTso small.vimso mbyte.vimDon't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.enc=latin1e!

:set enc=utf-8:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=$put =''

  $put ='test '. a:aff . '-' . a:dic  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest  " use that spell file[?12l[?25h[?25l:[?12l[?25hset enc=utf-8
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25hset fenc=
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[?12l[?25h[?25l:[?12l[?25hfunc TestOne(aff, dic)
[?25l

:  [?12l[?25h  set spellfile=


[?25l:  [?12l[?25h  $put =''


[?25l:  [?12l[?25h  $put ='test '. a:aff . '-' . a:dic


[?25l:  [?12l[?25h  " Generate a .spl file from a .dic and .aff file.


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'


[?25l:  [?12l[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'


[?25l:  [?12l[?25h  mkspell! Xtest Xtest


[?25l:  [?12l[?25h  " use that spell file


[?25l:  [?12l[?25h  set spl=Xtest.utf-8.spl spell


[?25l:  [?12l[?25h  " list all valid words


[?25l:  [?12l[?25h  spelldump


[?25l:  [?12l[?25h  %yank


[?25l:  [?12l[?25h  quit


[?25l:  [?12l[?25h  $put


[?25l:  [?12l[?25h  $put ='-------'


[?25l:  [?12l[?25h  " find all bad words and suggestions for them


[?25l:  [?12l[?25h  exe '1;/^' . a:aff . 'good:'


[?25l:  [?12l[?25h  normal 0f:]s


[?25l:  [?12l[?25h  let prevbad = ''


[?25l:  [?12l[?25h  while 1


[?25l:    [?12l[?25h    let [bad, a] = spellbadword()


[?25l:    [?12l[?25h    if bad == '' || bad == prevbad || bad == 'badend'


[?25l:      [?12l[?25h      break


[?25l:      [?12l[?25h    endif


[?25l:    [?12l[?25h    let prevbad = bad


[?25l:    [?12l[?25h    let lst = spellsuggest(bad, 3)


[?25l:    [?12l[?25h    normal mm


[?25l:    [?12l[?25h    $put =bad


[?25l:    [?12l[?25h    $put =string(lst)


[?25l:    [?12l[?25h    normal `m]s


[?25l:    [?12l[?25h  endwhile


[?25l:  [?12l[?25hendfunc
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [New File] 48 lines, 768 characters written


"Xtest.dic" [New File] 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Reading back spell file...


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 16


Compressing word tree...


Compressed 39 of 104 nodes; 65 (62%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 357 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25lthe end

uk

wrong

-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']the['put', 'uk', 'test']gebletegek[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kepereneven[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

everles gesvets etele[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" 153 lines, 3426 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 29 of 131 nodes; 102 (77%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 510 bytes


Performing soundfolding...


Total number of words: 16


Number of words after soundfolding: 15


Compressing word tree...


Compressed 33 of 75 nodes; 42 (56%) remaining


Writing suggestion file Xtest.utf-8.sug ...


Estimated runtime memory use: 241 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h$put =soundfold('goobledygoook')
[?25l-------

bad

['put', 'uk', 'OK']

inputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end['put', 'uk', 'test']

the['put', 'uk', 'test']gebletegekkepereneveneverles gesvet etelekbltykk[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('kóopërÿnôven')
[?25l

kprnfn[?12l[?25h[?25l

:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l

*fls kswts tl[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" also use an addition file
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [New File] 3 lines, 38 characters written[?12l[?25h[?25l:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...

Compressing word tree...


Compressed 0 of 29 nodes; 29 (100%) remaining


Writing spell file Xtest.utf-8.add.spl ...


Done!


Estimated runtime memory use: 145 bytes


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"[?12l[?25h[?25l/[?12l[?25h^test2:
[?25ltomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !![?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25linputs

['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['input', 'puts', 'outputs']

comment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lcomment

['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25lelequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['Comment', 'outtest', 'the end']

ok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lok

['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25lelequint

elekwint

elekwint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'uk', 'put']

Ok

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25lOk

['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent
[?12l[?25h[?25l

:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25lelequint

elekwint

elekwint



elequint

[?12l[?25h[?25l/[?12l[?25h^test2:
[?25lsearch hit BOTTOM, continuing at TOPtomato tomatotomato startend startword startwordword startwordendstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



search hit BOTTOM, continuing at TOP[?12l[?25h

[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25l['OK', 'Uk', 'Put']

test

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint
[?12l[?25h[?25lstartwordwordend startwordwordwordend prebork preborkborkpreborkborkborknouword

bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomatoendstart endend startstart wordend wordstartpreborkprebork  preborkpreborkborkstartwordwordwordwordend borkpreborkpreborkborkutilsbork  startnouword

badend



test2:

elequint test elekwint test elekwent asdf



Test affix flags with two characters



5affstart

SET ISO8859-1



FLAG long



NEEDAFFIX !!



COMPOUNDRULE ssmm*ee[?12l[?25h[?25l:[?12l[?25hlet [str, a] = spellbadword()
[?25l[?12l[?25h[?25l:[?12l[?25h$put =str
[?25ltest

['Test', 'testn', 'testen']

déôl

['deol', 'déôr', 'test']

end

['put', 'uk', 'test']

the

['put', 'uk', 'test']

gebletegek

kepereneven

everles gesvets etele

kbltykk

kprnfn

*fls kswts tl

elekwent

elequint

elekwint

elekwint

elekwent

elequint

elekwent

elequint

elekwint
[?12l[?25h[?25l

:[?12l[?25hunlet str a
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Postponed prefixes
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" 46 lines, 461 characters written


"Xtest.dic" 11 lines, 71 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - test
Compressing word tree...

Compressed 10 of 102 nodes; 92 (90%) remaining


Compressed 0 of 13 nodes; 13 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 525 bytes


17 lines yanked


17 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25laddstart

/regions=usgbnz

elequint/2

elekwint/3

addend



1good: wrong OK puts. Test the end

bad:  inputs comment ok Ok. test déôl end the

badend



2good: puts

bad: inputs comment ok Ok end the. test déôl

badendTest rules for compounding.3affstart

SET ISO8859-1COMPOUNDMIN 3

COMPOUNDRULE m*

NEEDCOMPOUND x

3affend[?12l[?25h[?25l:[?12l[?25h" Compound words
[?25l[?12l[?25h[?25l:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" 5 lines, 60 characters written


"Xtest.dic" 5 lines, 29 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 6 of 31 nodes; 25 (80%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 125 bytes


3 lines yanked


3 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" 45 lines, 559 characters written


"Xtest.dic" 8 lines, 59 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - word
Compressing word tree...

Compressed 2 of 91 nodes; 89 (97%) remaining


Compressed 0 of 15 nodes; 15 (100%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 520 bytes


12 lines yanked


12 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" 25 lines, 237 characters written


"Xtest.dic" 6 lines, 57 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - foo
Compressing word tree...

Compressed 19 of 107 nodes; 88 (82%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 440 bytes


10 lines yanked


10 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" 23 lines, 211 characters written


"Xtest.dic" 6 lines, 53 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 89 nodes; 70 (78%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 350 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" 26 lines, 338 characters written


"Xtest.dic" 6 lines, 67 characters written


Reading affix file Xtest.aff ...


Reading dictionary file Xtest.dic ...


line      2, word      0 - mee
Compressing word tree...

Compressed 19 of 91 nodes; 72 (79%) remaining


Writing spell file Xtest.utf-8.spl ...


Done!


Estimated runtime memory use: 360 bytes


9 lines yanked


9 more lines


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25h"
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaébar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h" clean up for valgrind
[?25l[?12l[?25h[?25l:[?12l[?25hdelfunc TestOne
[?25l[?12l[?25h[?25l:[?12l[?25hset spl= enc=latin1
[?25l1234

mee/391,111,9999

bar/17,61003,123

lead/2

tail/123

middle/77,1

7dicend



7good: meea1 meeaé bar prebar barmeat prebarmeat  leadprebarlead tail leadtail  leadmiddletail

bad: mee meea2 prabar probarmaat middle leadmiddle middletail tailleadleadprobar

badend



test output:



test 1-1

# file: Xtest.utf-8.spl

Comment

deol

déôr

input

OK[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25lTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :



STARTTEST

:so small.vim

:so mbyte.vim

:"

:" Don't want to depend on the locale from the environment.  The .aff and .dic

:" text is in latin1, the test text is utf-8.

:set enc=latin1

:e!

:set enc=utf-8

:set fenc=

:"

:" Function to test .aff/.dic with list of good and bad words.

:func TestOne(aff, dic)

  set spellfile=

  $put =''

  $put ='test '. a:aff . '-' . a:dic

  " Generate a .spl file from a .dic and .aff file.

  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'

  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'

  mkspell! Xtest Xtest

  " use that spell file[?12l[?25h[?25l:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [New File] 270 lines, 3685 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test59 = test61; then \
#	  if diff test.out test59.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test59.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test59.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test72.failed test.ok test.out X* viminfo
cp test72.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test72.in" 146 lines, 2110 charactersTests for undo file.

Since this script is sourced we need to explicitly break changes up in

undo-able pieces.  Do that by setting 'undolevels'.



STARTTEST

:so small.vim

:"

:" Test 'undofile': first a simple one-line change.

:set nocompatible viminfo+=nviminfo visualbell

:set ul=100 undofile nomore

:e! Xtestfile

ggdGithis is one line^[:set ul=100

:s/one/ONE/

:set ul=100

:w

:bwipe!

:e Xtestfile

u:.w! test.out

:"

:" Test 'undofile', change in original file fails check

:set noundofile

:e! Xtestfile

:s/line/Line/[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for undo file.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 135 lines, 1913 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar

:.w >>test.out

u:.w >>test.out

u:.w >>test.out

u:.w >>test.out

:"

:" Rename the undo file so that it gets cleaned up.

:if has("vms")

: call rename("_un_Xtestfile", "Xtestundo")

:else

: call rename(".Xtestfile.un~", "Xtestundo")

:endif

:qa!

ENDTEST



1111 -----

2222 -----



123456789[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[?12l[?25h[?25l:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[?12l[?25h[?25l:[?12l[?25hset ul=100 undofile nomore
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l-- INSERT --this is one line[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hs/one/ONE/
[?25lONE
[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 change; before #2  0 seconds agoone
[?12l[?25h[?25l:[?12l[?25h.w! test.out
[?25l"test.out" [New] 1L, 17C written[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 1L, 17CONE
[?12l[?25h[?25l:[?12l[?25hs/line/Line/
[?25lL
[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!:e Xtestfilefoo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17Cthis is ONE Line

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h" TODO: this beeps
[?25l[?12l[?25h[?5h[?5l[?25lAlready at oldest change[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 17C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[?12l[?25h[?25l:[?12l[?25hset undofile
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --one

twothreefourfivesixseveneightnineten[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17Conetwonineten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 7L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[?12l[?25h[?25l:[?12l[?25hset noundofile ul=0
[?25l[?12l[?25h[?25l-- INSERT --six
u[?12l[?25hs[?25l[?12l[?25h[?25l1 line less; before #8  0 seconds ago

~                                                                               [?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cnine

ten~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile ul=100
[?25l[?12l[?25h[?25l1 more line; before #7  0 seconds agoeight[?12l[?25h[?25l1 more line; before #6  0 seconds agoseven[?12l[?25h[?25l1 more line; before #5  0 seconds agosix[?12l[?25h[?25l1 more line; before #4  0 seconds agofive[?12l[?25h[?25l1 more line; before #3  0 seconds agofour[?12l[?25h[?25l1 more line; before #2  0 seconds agothree[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 10L, 49C appended[?12l[?25h[?25l:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" 4L, 17Cninten~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hset undofile cm=zip
[?25l[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l-- INSERT --monday

tuesdaywednesdaythursdayfriday[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25lmonday

friday

~                                                                               [?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2bar:set key=/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [crypted] 2L, 14Cmonday

friday

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [crypted] 2L, 14C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l1 more line; before #11  0 seconds agothursday[?12l[?25h[?25l1 more line; before #10  0 seconds agowednesday[?12l[?25h[?25l:[?12l[?25hw >>test.out
[?25l"test.out" 4L, 33C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][crypted] 1L, 14C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25lEnter same key again: [?12l[?25h******


[?25ljan

feb

bar apr[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h******


[?25l"Xtestfile" [blowfish] 4L, 20Cjan

feb

bar apr

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #15  0 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #14  0 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #13  0 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtestfile
[?25l"Xtestfile" Need encryption key for "Xtestfile"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: [?12l[?25h*******



~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [noeol][blowfish] 1L, 20C[?12l[?25h[?25l:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[?12l[?25h[?25l--No lines in buffer--[?12l[?25h[?25l-- INSERT --jan

febmaraprjun[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h
[?25l-- INSERT --foo mar[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l

~                                                                               [?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l-- INSERT --bar apr[?12l[?25h[?25l:[?12l[?25hset ul=100
[?25l[?12l[?25h[?25l:[?12l[?25hX
[?25lEnter encryption key: [?12l[?25h*******


[?25lEnter same key again: [?12l[?25h*******


[?25ljan

feb[?12l[?25h[?25l:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[?12l[?25h[?25l:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C:bwipe!

:e Xtestfile

foo2ba

:set key=

/bar:.w >>test.outu:.w >>test.outu:.w >>test.outu:.w >>test.out:":" Rename the undo file so that it gets cleaned up.:if has("vms"): call rename("_un_Xtestfile", "Xtestundo"):else: call rename(".Xtestfile.un~", "Xtestundo"):endif:qa!ENDTEST1111 -----2222 -----123456789[?12l[?25h[?25l:[?12l[?25he Xtestfile
[?25l"Xtestfile" 
Need encryption key for "Xtestfile"


Enter encryption key: [?12l[?25h*******


[?25l"Xtestfile" [blowfish2] 4L, 20Cjan

feb

bar ap

jun~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               "Xtestfile" [blowfish2] 4L, 20C[?12l[?25h[?25l:[?12l[?25hset key=
[?25l[?12l[?25h[?25l/[?12l[?25hbar
[?25l[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #19  0 seconds agoap[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l1 more line; before #18  0 seconds agofoo mar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 8C appended[?12l[?25h[?25l1 change; before #17  0 seconds agomar[?12l[?25h[?25l:[?12l[?25h.w >>test.out
[?25l"test.out" 1L, 4C appended[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[?12l[?25h[?25l:[?12l[?25hif has("vms")
[?25l

:  [?12l[?25h: call rename("_un_Xtestfile", "Xtestundo")


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: call rename(".Xtestfile.un~", "Xtestundo")


[?25l:  [?12l[?25h:endif
[?25ljan

feb

mar

apr[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test72 = test61; then \
#	  if diff test.out test72.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test72.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test72.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test78.failed test.ok test.out X* viminfo
cp test78.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test78.in" 46 lines, 1464 charactersInserts 10000 lines with text to fill the swap file with two levels of pointer

blocks.  Then recovers from the swap file and checks all text is restored.



We need about 10000 lines of 100 characters to get two levels of pointer

blocks.



STARTTEST

:so small.vim

:set nocp fileformat=unix undolevels=-1 viminfo+=nviminfo

:e! Xtest

ggdG

:let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01223456789abcdefghijklmnoparstuvwxyz0123456789"

:let i = 1

:let linecount = 10000

:while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile

:preserve

:" get the name of the swap file

:redir => swapname

:swapname

:redir END

:let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][::cntrl:]]*$', '\1', '')[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lInserts 10000 lines with text to fill the swap file with two levels of pointer[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 37 lines, 1208 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:set nobin

:new

:only!

:bwipe! Xtest

:call rename('Xswap', swapname)

:recover Xtest

:call delete(swapname)

:new

:call append(0, 'recovery start')

:wincmd w

:let linedollar = line('$')

:if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected "" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linnecount = linedollar | endif

:let i = 1

:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile

:q!

:call append(line('$'), 'recovery end')

:w! test.out

:qa!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[?12l[?25h[?25l:[?12l[?25he! Xtest
[?25l"Xtest" [New File]~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01


23456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hlet linecount = 10000
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899991    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899992    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899993    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899994    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899995    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899996    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899997    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899998    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789[?12l[?25h[?25l:[?12l[?25hpreserve
[?25lFile preserved[?12l[?25h[?25l:[?12l[?25h" get the name of the swap file
[?25l[?12l[?25h[?25l:[?12l[?25hredir => swapname
[?25l[?12l[?25h[?25l:[?12l[?25hswapname
[?25l.Xtest.swp[?12l[?25h[?25l:[?12l[?25hredir END
[?25l[?12l[?25h[?25l:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][


:cntrl:]]*$', '\1', '')
[?25l9990    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899a[?12l[?25h[?25l

:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[?12l[?25h[?25l:[?12l[?25hset bin
[?25l[?12l[?25h[?25l:[?12l[?25hexe 'sp ' . swapname
[?25l".Xtest.swp"[noeol] 611L, 1224704Cb0VIM 8.0^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@0^T^@^@buildd^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@mb-lxc-01^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@/<<PKGBUILDDIR>>/src/vim-nox/testdiir/Xtest^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^.Xtest.swp                                                                      799a

999899a

999999a

1000099a~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hw! Xswap
[?25l"Xswap" [New][noeol] 611L, 1224704C written[?12l[?25h[?25l:[?12l[?25hecho swapname
[?25l.Xtest.sw[?12l[?25h[?25l:[?12l[?25hset nobin
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       b0VIM 8.0^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@0^T^@^@buildd^@^@^@^@^@^@^@^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@mb-lxc-01^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@/<<PKGBUILDDIR>>/src/vim-nox/testdiir/Xtest^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^.Xtest.swp                                                                      9999    abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

10000   abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789



~                                                                               Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25honly!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hbwipe! Xtest
[?25l[?12l[?25h[?25l:[?12l[?25hcall rename('Xswap', swapname)
[?25l[?12l[?25h[?25l:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"


Original file "/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtest"


"/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtest" [New File]Recovery completed. You should check if everything is OK.


(You might want to write out this file under another name


and run diff with the original file to check for changes)


You may want to delete the .swp file now.






Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25hcall delete(swapname)
[?25l1abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

2abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

3abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

4abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz0123456789

5       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567896       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567897       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567898       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz01234567899       abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678910      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678911      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899abcdefghijklmnoparstuvwxyz012345678912      abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@                                                                               [?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       199a

299a

399a

4 99a

5 99a

Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hcall append(0, 'recovery start')
[?25lrecovery start[+][?12l[?25h[?25l:[?12l[?25hwincmd w
[?25l[No Name] [+]                                                                    Xtest [+]                                                                       [?12l[?25h[?25l:[?12l[?25hlet linedollar = line('$')
[?25l[?12l[?25h[?25l:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected 


" . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li


necount = linedollar | endif
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hlet i = 1
[?25l[?12l[?25h[?25l:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen


d(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25lrecovery start[?12l[?25h[?25l:[?12l[?25hq!
[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hcall append(line('$'), 'recovery end')
[?25lrecovery end[?12l[?25h[?25l:[?12l[?25hw! test.out
[?25l"test.out" [New] 3L, 29C written[?12l[?25h[?25l:[?12l[?25hqa!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test78 = test61; then \
#	  if diff test.out test78.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test78.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test78.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test83.failed test.ok test.out X* viminfo
cp test83.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test83.in" 76 lines, 1273 charactersTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25lTests for tag search with !_TAG_FILE_ENCODING.[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 58 lines, 1021 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h

[?25l:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso mbyte.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset enc=utf8
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'

:else

: close

: put ='case3: ok'

:endif

:close

:

:wq! test.out

ENDTEST



text for tags1

abcdefghijklmnopqrs



text for tags2

ABC



text for tags3

ABC



tags1[?12l[?25h[?25l:[?12l[?25hif !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
[?25l

:  [?12l[?25h: e! test.ok


[?25l:  [?12l[?25h: w! test.out


[?25l:  [?12l[?25h: qa!


[?25l:  [?12l[?25h:endif
[?25l:tag abc50

:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'

: close

: put ='case3: failed'[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [New File] 2 lines, 35 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [New File] 2 lines, 25 characters written[?12l[?25h[?25l:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [New File] 2 lines, 81 characters written[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25lTests for tag search with !_TAG_FILE_ENCODING.



STARTTEST

:so mbyte.vim

:set enc=utf8

:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"

: e! test.ok

: w! test.out

: qa!

:endif

:

:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt

:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt

:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt

:/^tags1$/+1,/^tags1-end$/-1w! Xtags1

:

ggdG:

:

:call setline('.', 'Results of test83')

:

:" case1:

:new

:set tags=Xtags1[?12l[?25h[?25l~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               --No lines in buffer--[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hcall setline('.', 'Results of test83')
[?25lResults of test83
[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case1:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l[No Name]                                                                       Results of test83test83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=Xtags1
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" 2 lines, 35 characterstext for tags1

abcdefghijklmnopqrsXtags1.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case1: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case2:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               [No Name]                                                                       Results of test83case1: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags2
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characterstext for tags2

ABCXtags2.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case2: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25h" case3:
[?25l[?12l[?25h[?25l:[?12l[?25hnew
[?25l~                                                                               ~                                                                               [No Name]                                                                       case1: okcase2: oktest83.in [+]                                                                   [?12l[?25h[?25l:[?12l[?25hset tags=test83-tags3
[?25l[?12l[?25h[?25l:[?12l[?25hlet v:errmsg = ''
[?25l[?12l[?25h[?25l:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characterstext for tags3

ABCXtags3.txt[?12l[?25h[?25l:[?12l[?25hif v:errmsg =~ 'E426:' || getline('.') != 'ABC'
[?25l

:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: failed'


[?25l:  [?12l[?25h:else


[?25l:  [?12l[?25h: close


[?25l:  [?12l[?25h: put ='case3: ok'


[?25l:  [?12l[?25h:endif
[?25lResults of test83

case1: ok

case2: ok

case3: ok

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hclose
[?25lE37: No write since last change (add ! to override)[?12l[?25h[?25l:[?12l[?25h[?25l[?12l[?25h[?25l:[?12l[?25hwq! test.out
[?25l"test.out" [New File] 4 lines, 48 characters written


[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test83 = test61; then \
#	  if diff test.out test83.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test83.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test83.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
rm -rf test89.failed test.ok test.out X* viminfo
cp test89.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test89.in" 71 lines, 1514 characters- Some tests for setting 'number' and 'relativenumber'

  This is not all that useful now that the options are no longer reset when

  setting the other.

- Some tests for findfile() function



STARTTEST

:so small.vim

:set hidden nocp nu rnu viminfo+=nviminfo

:redir @a | set nu? rnu? | redir END

:e! xx

:redir @b | set nu? rnu? | redir END

:e! #

:$put ='results:'

:$put a

:$put b

:"

:set nonu nornu

:setglobal nu

:setlocal rnu

:redir @c | setglobal nu? | redir END

:set nonu nornu

:setglobal rnu

:setlocal nu[?12l[?25h[?25l:[?12l[?25hset cp
[?25l[?12l[?25h[?25l:[?12l[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set f


f& cpo+=A^^Mnj0:so! Xdotest^^Mdotest
[?25l- Some tests for setting 'number' and 'relativenumber'[?12l[?25h[?25l/^STARTTEST
[?12l[?25h

[?25l:set ff=unix cpo-=A
[?12l[?25h[?25l:.,/ENDTEST/-1w! Xdotest
"Xdotest" [New File] 63 lines, 1305 characters written[?12l[?25h[?25l:set ff& cpo+=A
[?12l[?25h[?25l/ENDTEST:$put =':set MUST reset the other global value'

:$put g

:$put h

:"

:let cwd=getcwd()

:cd ..

:" Tests may be run from a shadow directory, so an extra cd needs to be done to

:" get above src/

:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

:$put =''

:$put ='Testing findfile'

:$put =''

:set ssl

:$put =findfile('test19.in','src/test*')

:exe "cd" cwd

:cd ..

:$put =findfile('test19.in','test*')

:$put =findfile('test19.in','testdir')

:exe "cd" cwd

:/^results/,$w! test.out

:q!

ENDTEST
[?12l[?25h

[?25l

:so! Xdotest
[?12l[?25h[?25l:[?12l[?25hso small.vim
[?25l[?12l[?25h[?25l:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l 21 :$put g 20 :$put h

 19 :" 18 :let cwd=getcwd()

 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/

 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 13 :$put =''

 12 :$put ='Testing findfile'

 11 :$put =''

 10 :set ssl

  9 :$put =findfile('test19.in','src/test*')

  8 :exe "cd" cwd

  7 :cd ..

  6 :$put =findfile('test19.in','test*')

  5 :$put =findfile('test19.in','testdir')

  4 :exe "cd" cwd

  3 :/^results/,$w! test.out

  2 :q!

  1 ENDTEST

71  [?12l[?25h[?25l:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! xx
[?25l"xx" [New File]1   

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [?12l[?25h[?25l:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l  number


  relativenumber


Press ENTER or type command to continue[?12l[?25h[?25l:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1 21 :$put g

 20 :$put h

 19 :" 18 :let cwd=getcwd() 17 :cd .. 16 :" Tests may be run from a shadow directory, so an extra cd needs to be donee     to 15 :" get above src/ 14 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif 13 :$put ='' 12 :$put ='Testing findfile' 11 :$put ='' 10 :set ssl  9 :$put =findfile('test19.in','src/test*')  8 :exe "cd" cwd  7 :cd ..  6 :$put =findfile('test19.in','test*')  5 :$put =findfile('test19.in','testdir')  4 :exe "cd" cwd  3 :/^results/,$w! test.out  2 :q!  1 ENDTEST71  "test89.in" line 71 of 71 --100%-- col 1[?12l[?25h[?25l:[?12l[?25h$put ='results:'
[?25l

1

 20

 19

 18

 17ee 

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

72  results:[?12l[?25h[?25l

:[?12l[?25h$put a
[?25l3 more lines21

 20ee 

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

75    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h$put b
[?25l3 more lines22

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2 

  1   number

78    relativenumber3 more lines[?12l[?25h[?25l:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal rnu
[?25l 22 :" get above src/

 21 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 20 :$put =''

 19 :$put ='Testing findfile'

 18 :$put =''

 17 :set ssl

 16 :$put =findfile('test19.in','src/test*')

 15 :exe "cd" cwd

 14 :cd ..

 13 :$put =findfile('test19.in','test*')

 12 :$put =findfile('test19.in','testdir')

 11 :exe "cd" cwd

 10 :/^results/,$w! test.out

  9 :q!

  8 ENDTEST

  7 

  6 results:

  5 

  4   number

  3   relativenumber

  2 

  1   number

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:" get above src/:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif:$put ='':$put ='Testing findfile':$put ='':set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetlocal nu
[?25l 56 :" get above src/

 57 :if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif

 58 :$put =''

 59 :$put ='Testing findfile'

 60 :$put =''

 61 :set ssl

 62 :$put =findfile('test19.in','src/test*')

 63 :exe "cd" cwd

 64 :cd ..

 65 :$put =findfile('test19.in','test*')

 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber[?12l[?25h[?25l:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l

 79 :setlocal must NOT reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put c
[?25l 80 

 81   number[?12l[?25h[?25l

:[?12l[?25h$put d
[?25l 82 

 83   relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:set ssl:$put =findfile('test19.in','src/test*'):exe "cd" cwd:cd ..:$put =findfile('test19.in','test*'):$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal rnu
[?25l[?12l[?25h[?25l:[?12l[?25hsetglobal nu
[?25l[?12l[?25h[?25l:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l

:setglobal MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put e
[?25lnumber[?12l[?25h[?25l

:[?12l[?25h$put f
[?25lrelativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l[?12l[?25h[?25l:[?12l[?25hset nu
[?25l 66 :$put =findfile('test19.in','testdir')

 67 :exe "cd" cwd

 68 :/^results/,$w! test.out

 69 :q!

 70 ENDTEST

 71 

 72 results:

 73 

 74   number

 75   relativenumber

 76 

 77   number

 78   relativenumber

 79 :setlocal must NOT reset the other global value

 80 

 81   number

 82 

 83   relativenumber

 84 :setglobal MUST reset the other global value

 85 

 86   number

 87 

 88   relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l22

 21

 20

 1

 18

 17

 16

 15

 1

 13

 12

 11

 10

  

  8

  7

  6

  5

  

  3

  2

  1

88    [?12l[?25h[?25l:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l  number[?12l[?25h[?25l:[?12l[?25hset nonu nornu
[?25l:$put =findfile('test19.in','testdir'):exe "cd" cwd:/^results/,$w! test.ou:q!ENDTESTresults:  number  relativenumber  number  relativenumber:setlocal must NOT reset the other global value  number  relativenumber:setglobal MUST reset the other global value  number  relativenumber[?12l[?25h[?25l:[?12l[?25hset rnu
[?25l 22 :$put =findfile('test19.in','testdir')

 21 :exe "cd" cwd

 20 :/^results/,$w! test.out

 19 :q!

 18 ENDTEST

 17 

 16 results:

 15 

 14   number

 13   relativenumber

 12 

 11   number

 10   relativenumber

  9 :setlocal must NOT reset the other global value

  8 

  7   number

  6 

  5   relativenumber

  4 :setglobal MUST reset the other global value

  3 

  2   number

  1 

  0   relativenumber[?12l[?25h[?25l:[?12l[?25hset nu
[?25l88    [?12l[?25h[?25l:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l  relativenumber[?12l[?25h[?25l:[?12l[?25h$put =':set MUST reset the other global value'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

89  :set MUST reset the other global value[?12l[?25h[?25l

:[?12l[?25h$put g
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

91    number[?12l[?25h[?25l

:[?12l[?25h$put h
[?25l2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1 

93    relativenumber[?12l[?25h[?25l

:[?12l[?25h"
[?25l[?12l[?25h[?25l:[?12l[?25hlet cwd=getcwd()
[?25l[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox[?12l[?25h[?25l:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[?12l[?25h[?25l:[?12l[?25h" get above src/
[?25l[?12l[?25h[?25l:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[?12l[?25h[?25l:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

94  [?12l[?25h[?25l

:[?12l[?25h$put ='Testing findfile'
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

95  Testing findfile[?12l[?25h[?25l

:[?12l[?25h$put =''
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

96  [?12l[?25h[?25l

:[?12l[?25hset ssl
[?25l[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

97  src/testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir[?12l[?25h[?25l:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox[?12l[?25h[?25l:[?12l[?25h$put =findfile('test19.in','test*')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

98  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l

2

 21

 20

 19

 18

 17

 16

 15

 14

 13

 12

 11

 10

  9

  8

  7

  6

  5

  4

  3

  2

  1

99  testdir/test19.in[?12l[?25h[?25l

:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir[?12l[?25h[?25l:[?12l[?25h/^results/,$w! test.out
[?25lsearch hit BOTTOM, continuing at TOP
"test.out" [New] 28L, 356C written[?12l[?25h[?25l:[?12l[?25hq!
[?25l[?1l>[?12l[?25h[?1049l# For flaky tests retry one time.  No tests at the moment.
#@/bin/sh -c "if test -f test.out -a test89 = test61; then \
#	  if diff test.out test89.ok; \
#	  then echo flaky test ok first time; \
#	  else rm -rf test89.failed test.out X* viminfo; \
#		VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test89.in; \
#	  fi \
#	fi"
# Check if the test.out file matches test.ok.
rm -rf X* test.ok viminfo
VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_arglist.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_arglist.vim" 318 lines, 6653 characters


Executing Test_argadd()
"a" [New File]bababababd


Executing Test_argc()
"a" [New File]

Executing Test_argdelete()
"a" [New File]a" [New File]
"bb


Executing Test_argedit()
"a" [New File]ba


"c" [New File]
"x


"y" [New File]


Executing Test_argidx()
"a" [New File]cabc


Executing Test_arglist_autocmd()
"Xxx1" 1L, 15C
"Xxx21L, 15C1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx21 of 2)

3 buffers wiped out


Executing Test_arglistid()
"a" [New File]

Executing Test_argpos()
"a" [New File]d


"c" [New File]
"ba


"d" [New File]
"a


Executing Test_argument()
"d" [New File]cbafile] --No lines in buffer-- (1 of 4)
"c3


a b [c] d
"c" [New File]


"x" [New File]
"z


Executing Test_argv()
"a" [New file] --No lines in buffer--


Executing Test_zero_argadd()
"b" [New file] --No lines in buffer-- (2 of 4)
"aFbedited" [New File]
"a" [New File]test_arglist.res" [New File][New] 0L, 0C written


Executed 11 tests
"messages" [New File][New] 15L, 326C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_assert.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_assert.vim" 127 lines, 2933 characters


Executing Test_assert_equal()


Executing Test_assert_exception()


Executing Test_assert_fail_fails()


Executing Test_assert_false()


Executing Test_assert_inrange()


Executing Test_assert_notequal()


Executing Test_assert_true()


Executing Test_compare_fail()


Executing Test_match()


Executing Test_notmatch()


Executing Test_user_is_happy()




oooo$$$$$$$$$$$$oooo


oo$$$$$$$$$$$$$$$$$$$$$$$$o


oo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$oo$   $$ o$


     o $ ooo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o$$ $$ $$o$


  oo $ $ "$      o$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$o$$$o$$o$


  "$$$$$$o$     o$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$o    $$$$$$$$


    $$$$$$$    $$$$$$$$$$$      $$$$$$$$$$$      $$$$$$$$$$$$$$$$$$$$$$$


    $$$$$$$$$$$$$$$$$$$$$$$    $$$$$$$$$$$$$    $$$$$$$$$$$$$$  """$$$


     "$$$""""$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$


      $$$   o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     "$$$o


     o$$"   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o


     $$$    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" "$$$$$$ooooo$$$$o


    o$$$oooo$$$$$  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$   o$$$$$$$$$$$$$$$$$


    $$$$$$$$"$$$$   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     $$$$""""""""


   """"$$$$    "$$$$$$$$$$$$$$$$$$$$$$$$$$$$"      o$$$


"$$$o     """$$$$$$$$$$$$$$$$$$"$$"$$$


$$$o"$$""$$$$$$""""o$$$


$$$$oo$$$"


"$$$$o      o$$$$$$o"$$$$oo$$$$


"$$$$$oo     ""$$$$o$$$$$o   o$$$$""


""$$$$$oooo  "$$$o$$$$$$$$$"""


""$$$$$$$oo $$$$$$$$$$


""""$$$$$$$$$$$


$$$$$$$$$$$$


$$$$$$$$$$"


"$$$""""


[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][New] 0L, 0C written


Executed 12 tests
"messages" 15L, 326C30L, 734C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_autochdir.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_autochdir.vim" 17 lines, 332 characters


Executing Test_set_filename()
"samples/Xtest" [New] 0L, 0C written
"test_autochdir.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"30L, 734C34L, 806C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_backspace_opt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_backspace_opt.vim" 59 lines, 1673 characters


Executing Test_backspace_option()
"test_backspace_opt.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"34L, 806C38L, 886C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_breakindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_breakindent.vim" 241 lines, 7365 characters


Executing Test_breakindent01()|

    abcdefghijklmnop|

    qrstuvwxyzABCDEF|

    GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent02()|

    abcdefghijklmnop|

    >>qrstuvwxyzABCD|

    >>EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent03()|

    abcdefghijklmnop|

++  qrstuvwxyzABCDEF|

++  GHIJKLMNOP      |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent04()|

    abcdefghijklmnop|

  qrstuvwxyzABCDEFGH|

  IJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent05()|

    abcdefghijklmnop|qrstuvwxyzABCD|EFGHIJKLMNOP  |||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent06()|

    abcdefghijklmnop|

   qrstuvwxyzABCDEFG|

   HIJKLMNOP|||||||~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07()  1 |

  2     abcdefghijkl|

?mnopqrstuvw|

?xyzABCDEFGH|

?IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent07a()  1 |

  2     abcdefghijkl|

    ?    mnopqrstuvw|

    ?    xyzABCDEFGH|

    ?    IJKLMNOP   ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08()  1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 $|

  2 ^Iabcdefghijklmn|

#      opqrstuvwxyzA|

#      BCDEFGHIJKLMN|

#      OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent08a()  1 $|

  2 ^Iabcdefghijklmn|

    #  opqrstuvwxyzA|

    #  BCDEFGHIJKLMN|

    #  OP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent09()  1 $|

  2 ^Iabcdefghijklmn|

       #opqrstuvwxyz|

       #ABCDEFGHIJKL|

       #MNOP$||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent10()  1 |

  2 abcdefgh|

~ijklmnop|

~qrstuvwx|

~yzABCDEF|

~GHIJKLMN|

~OP      ||||~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                              1 |

  2     abcdefghijkl|

~mnopqrstuvwx|

~yzABCDEFGHIJ|

~KLMNOP      ||||||~                   

~                   

~                   

~                   

~                   

[No Name] [+]        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent11()


Executing Test_breakindent12() 1 |

 2 >--->--->--->--->|

   ---{      ||||||||~                   

~                   

~                   

~                   

~                   

~                   

~                   

[No Name] [+]        {~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent13()


Executing Test_breakindent14()|

e|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  e~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent15()|1234567890|||||||||~                             

~                             

~                             

~                             

~                             

~                             

~                             

~                             

[No Name] [+]                  1234567890~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                ~                                                [No Name] [+]                                    " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"

test_breakindent.vim                                                            Executing Test_breakindent16()1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            1234567890123456|

    7890123456789012|

    3456789012345678|

    9012345678901234|

    5678901234567890|

    1234567890123456|

[No Name] [+]        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890~                                                          ~                                                          ~                                                          [No Name] [+]                                              " Test for breakindent

"

" Note: if you get strange failures when adding new tests, it might be that

" while the test is run, the breakindent cacheing gets in its way.

" It helps to change the tabastop setting and force a redraw (e.g. see

" Test_breakindent08())

if !exists('+breakindent')

  finish

endif



let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"



function s:screenline(lnum, width) abort

  " always get 4 screen lines

  redraw!

test_breakindent.vim                                                            "test_breakindent.res" [New File][New] 0L, 0C written


Executed 18 tests
"messages" 38L, 886C59L, 1492C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_bufwintabinfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_bufwintabinfo.vim" 116 lines, 3459 characters


Executing Test_get_buf_options()


Executing Test_get_win_options()


Executing Test_getbufwintabinfo()
"Xtestfile1" [New File]212


Already only one window
"test_bufwintabinfo.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"59L, 1492C65L, 1639C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cdo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cdo.vim" 205 lines, 5116 characters


Executing Test_cdo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2


Executing Test_ldo()
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile1" 3L, 18C


(2 of 6): Line1
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2


(4 of 6): Line2
"Xtestfile3" 3L, 18C


(6 of 6): Line3
"Xtestfile2" 3L, 18C


(4 of 6): Line2
"Xtestfile1" 3L, 18C33L, 18C


(1 of 1): Line3
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile1" 3L, 18C


(2 of 8): Line1
"Xtestfile2" 3L, 18C


(5 of 8): Line2
"Xtestfile3" 3L, 18C


(7 of 8): Line2
"Xtestfile2" 3L, 18C


(5 of 8): Line2


(5 of 8): Line2


(1 of 1): Line2
"test_cdo.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"65L, 1639C70L, 1718C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"70L, 1718C73L, 1758C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_charsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_charsearch.vim" 62 lines, 1475 characters


Executing Test_charsearch()


Executing Test_search_cmds()
"test_charsearch.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"73L, 1758C78L, 1859C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cmdline.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cmdline.vim" 243 lines, 7346 characters


Executing Test_complete_list():e test


test1.intest85.out


test1.oktest86.in


test1.outtest86.ok


test103.intest86.out


test103.oktest87.in


test103.outtest87.ok


test104.intest87.out


test104.oktest88.in


test104.outtest88.ok


test107.intest88.out


test107.oktest89.in


test107.outtest89.ok


test108.intest89.out


test108.oktest9.in


test108.outtest9.ok


test11.intest9.out


test11.oktest90.in


test11.outtest90.ok


test12.intest90.out


test12.oktest91.in


test12.outtest91.ok


test14.intest91.out


test14.oktest94.in


test14.outtest94.ok


test15.intest94.out


test15.oktest95.in


test15.outtest95.ok


test17.intest95.out


test17.oktest97.in


test17.outtest97.ok


test17a.intest97.out


test19.intest98.in


test19.oktest98.ok


test19.outtest98.out


test20.intest99.in


test20.oktest99.ok


test20.outtest99.out


test22.intest_alot.vim


test22.oktest_alot_latin.vim


test22.outtest_alot_utf8.vim


test23.intest_arglist.res


test23.oktest_arglist.vim


test23.outtest_assert.res


test24.intest_assert.vim


test24.oktest_assign.vim


test24.outtest_autochdir.res


test25.intest_autochdir.vim


test25.oktest_autocmd.vim


test25.outtest_autocmd_option.in


test26.intest_autocmd_option.ok


test26.oktest_autocmd_option.out


test26.outtest_autoformat_join.in


test28.intest_autoformat_join.ok


test28.oktest_autoformat_join.out


test28.outtest_backspace_opt.res


test29.intest_backspace_opt.vim


test29.oktest_breakindent.res


test29.outtest_breakindent.vim


test3.intest_bufwintabinfo.res


test3.oktest_bufwintabinfo.vim


test3.outtest_cdo.res


test30.intest_cdo.vim


test30.oktest_changelist.in


test30.outtest_changelist.ok


test31.intest_changelist.out


test31.oktest_channel.py


test31.outtest_channel.res


test32.intest_channel.vim


test32.oktest_channel_pipe.py


test32.outtest_charsearch.res


test33.intest_charsearch.vim


test33.oktest_close_count.in


test33.outtest_close_count.ok


test34.intest_close_count.out


test34.oktest_cmdline.vim


test34.outtest_command_count.vim


test36.intest_comparators.in


test36.oktest_comparators.ok


test36.outtest_comparators.out


test37.intest_crypt.vim


test37.oktest_cscope.vim


test37.outtest_cursor_func.vim


test38.intest_delete.vim


test38.oktest_diffmode.vim


test38.outtest_digraph.vim


test39.intest_display.vim


test39.oktest_erasebackword.in


test39.outtest_erasebackword.ok


test4.intest_erasebackword.out


test4.oktest_eval.in


test4.outtest_eval.ok


test40.intest_eval.out


test40.oktest_eval_func.vim


test40.outtest_ex_undo.vim


test41.intest_execute_func.vim


test41.oktest_expand.vim


test41.outtest_expand_dllpath.vim


test42.intest_expr.vim


test42.oktest_expr_utf8.vim


test42.outtest_farsi.vim


test43.intest_feedkeys.vim


test43.oktest_file_perm.vim


test43.outtest_fileformat.vim


test44.intest_filter_cmd.vim


test44.oktest_filter_map.vim


test44.outtest_fixeol.in


test45.intest_fixeol.ok


test45.oktest_fixeol.out


test45.outtest_float_func.vim


test48.intest_fnameescape.vim


test48.oktest_fnamemodify.vim


test48.outtest_fold.vim


test49.intest_functions.vim


test49.oktest_getcwd.in


test49.outtest_getcwd.ok


test49.vimtest_getcwd.out


test5.intest_gf.vim


test5.oktest_glob2regpat.vim


test5.outtest_gn.vim


test50.intest_goto.vim


test50.oktest_gui.vim


test51.intest_hardcopy.vim


test51.oktest_help_tagjump.vim


test51.outtest_hide.vim


test52.intest_history.vim


test52.oktest_hlsearch.vim


test52.outtest_increment.vim


test53.intest_increment_dbcs.vim


test53.oktest_insertcount.in


test53.outtest_insertcount.ok


test54.intest_insertcount.out


test54.oktest_job_fails.vim


test54.outtest_join.vim


test55.intest_json.vim


test55.oktest_jumps.vim


test55.outtest_lambda.vim


test56.intest_langmap.vim


test56.oktest_largefile.vim


test56.outtest_lispwords.vim


test57.intest_listchars.in


test57.oktest_listchars.ok


test57.outtest_listchars.out


test58.intest_listlbr.in


test58.oktest_listlbr.ok


test58.outtest_listlbr.out


test59.intest_listlbr_utf8.in


test59.oktest_listlbr_utf8.ok


test59.outtest_listlbr_utf8.out


test60.intest_man.vim


test60.oktest_mapping.vim


test60.outtest_marks.vim


test60.vimtest_match.vim


test64.intest_matchadd_conceal.vim


test64.oktest_matchadd_conceal_utf8.vim


test64.outtest_menu.vim


test65.intest_messages.vim


test65.oktest_mksession.vim


test65.outtest_mksession_utf8.vim


test66.intest_nested_function.vim


test66.oktest_netbeans.py


test66.outtest_netbeans.vim


test67.intest_normal.vim


test67.oktest_options.vim


test67.outtest_packadd.vim


test68.intest_partial.vim


test68.oktest_perl.vim


test68.outtest_popup.vim


test69.intest_profile.vim


test69.oktest_quickfix.vim


test69.outtest_regexp_latin.vim


test7.intest_regexp_utf8.vim


test7.oktest_reltime.vim


test7.outtest_ruby.vim


test70.intest_search.vim


test70.oktest_search_mbyte.in


test70.outtest_search_mbyte.ok


test72.intest_search_mbyte.out


test72.oktest_searchpos.vim


test72.outtest_set.vim


test73.intest_signs.vim


test73.oktest_smartindent.vim


test73.outtest_sort.vim


test75.intest_source_utf8.vim


test75.oktest_startup.vim


test75.outtest_startup_utf8.vim


test77.intest_stat.vim


test77.oktest_statusline.vim


test77.outtest_substitute.vim


test77a.intest_syn_attr.vim


test77a.oktest_syntax.vim


test78.intest_system.vim


test78.oktest_tabline.vim


test78.outtest_tabpage.vim


test79.intest_tagcase.vim


test79.oktest_tagjump.vim


test79.outtest_taglist.vim


test8.intest_textobjects.vim


test8.oktest_timers.vim


test8.outtest_true_false.vim


test80.intest_undo.vim


test80.oktest_unlet.vim


test80.outtest_usercommands.vim


test82.intest_utf8.in


test82.oktest_utf8.ok


test82.outtest_utf8.out


test83-tags2test_viminfo.vim


test83-tags3test_viml.vim


test83.intest_visual.vim


test83.oktest_window_cmd.vim


test83.outtest_window_id.vim


test84.intest_wordcount.in


test84.oktest_wordcount.ok


test84.outtest_wordcount.out


test85.intest_writefile.vim


test85.ok


:e test
"test" [New File]


Executing Test_complete_tab():e Xtest...file
"Xtestfile" 1L, 9C


Executing Test_complete_wildmenu():e Xtest...file1...


Xtestfile1  Xtestfile2  
Xtestfile1                                                         :e Xtest...Xtestfile1
Xtestfile1 file1...Xtestfile1Xtestfile2 2:te Xtestfile2"Xtestfile2" 1L, 10C

Executing Test_expand_star_star():find **/fileXname...a/b/fileXname
"a/b/fileXname" 1L, 9C
"Xtestfile2" [New File]


Executing Test_getcompletion():cscope find 


a  c  d  e  f  g  i  s  t


:cscope find :sign list 


Testing


:sign list Executing Test_illegal_address()


Executing Test_paste_in_cmdline():abc "def ghi
:"abc def ghi
:"
:aaa "asdf bbb
:"aaa asdf bbb
:"
:aaa "/tmp/some bbb
:"aaa /tmp/some bbb
:"
:aaa veryl"ongword bbb
:"aaa verylongword bbb
:"
:aaa "a;b-c*d bbb
:"aaa a;b-c*d bbb
:"
:=toupper(getline(1))
:ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D 
:"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D
:"


Executing Test_remove_char_in_cmdline():abc defef
:"abc ef
:"
:abc defdef
:"abcdef
:"
:abc def ghighi
:"abc ghi
:"
:abc def
:def"def
"test_cmdline.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"78L, 1859C89L, 2168C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_command_count.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_command_count.vim" 191 lines, 4742 characters


Executing Test_command_count_0()
"DoesNotExistEver" [New File]

Executing Test_command_count_1()


"a" [New File]


loading buffers


"b" [New File]


loading buffers


"c" [New File]


loading buffers


"d" [New File]


loading buffers


"e" [New File]


loading buffers
"c" [New File]beb


Executing Test_command_count_2()


"d" [New File]
"a


Already only one window
"x" [New File]

Already only one window


Executing Test_command_count_3()
"aaa" [New File]bbb
"ccc
"test_command_count.vim" 191L, 4742C


2 buffers deleted


Executing Test_command_count_4()
"cc" [New File]

"dd" [New File]


"ee" [New File]
"aa


"bb" [New File]


"cc" [New File]


"dd" [New File]


"ee" [New File]
"cc


"ee" [New File]


"ff" [New File]
"test_command_count.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"89L, 2168C97L, 2380C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_crypt.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_crypt.vim" 83 lines, 2590 characters


Executing Test_crypt_blowfish()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][blowfish] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 3L, 98C


Executing Test_crypt_blowfish2()
"Xtest.txt" [New File]:X
Enter encryption key: ******
Enter same key again: ******


"Xtest.txt" [New][blowfish2] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [blowfish2] 3L, 98C


Executing Test_crypt_zip()
"Xtest.txt" [New File]:X


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


Enter same key again: ******


"Xtest.txt" [New][crypted] 3L, 98C written

:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [crypted] 3L, 98C


Executing Test_head_only_2()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_head_only_3()
"Xtest.txt" [New File][New] 1L, 16C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: ******


"Xtest.txt" [readonly] 1L, 16C


Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][converted][New][noeol] 1L, 80C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [blowfish] 2L, 27C


Executing Test_uncrypt_blowfish2()
"Xtest.txt" [New File][converted][New][noeol] 1L, 103C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Enter encryption key: *******


"Xtest.txt" [blowfish2] 2L, 44C


Executing Test_uncrypt_zip()
"Xtest.txt" [New File][converted][New][noeol] 1L, 45C written:split Xtest.txt
"Xtest.txt" Need encryption key for "Xtest.txt"


Warning: Using a weak encryption method; see :help 'cm'


Enter encryption key: ******


"Xtest.txt" [converted][crypted] 2L, 26C"test_crypt.res" [New File][converted][New] 0L, 0C written

Executed 8 tests
"messages"97L, 2380C108L, 2667C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_cscope.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"108L, 2667C111L, 2706C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_diffmode.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_diffmode.vim" 237 lines, 4954 characters


Executing Test_diff_fold_sync()


Executing Test_diffget_diffput()


Executing Test_diffoff()  -------------------------------------|

  -------------------------------------|

  Two|

  Three|||||||||||||||||||  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    ~                                    

[No Name] [+]                             One                                                                             Two  Three                                    ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     ~                                     [No Name] [+]                           Two                                    

Three                                  

~                                      

~                                      

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   

~   OneTwoThree~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   ~   



Executing Test_filler_lines()


7 more lines


10 more lines


Executing Test_setting_cursor()
"Xtest1" [New File]

90 more lines
"Xtest1" [New] 91L, 262C written2" [New File]

100 more lines
"Xtest2"[New] 101L, 293C written101L, 293C191L, 262C


Executing Test_vert_split()
"Xtest" [New] 5L, 25C written"Xtest2" [New] 6L, 29C written


"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3"Xtest" 5L, 25C2" 6L, 29C
"test_diffmode.vim" 237L, 4954Cres" [New File][New] 0L, 0C written


Executed 6 tests
"messages"111L, 2706C120L, 2928C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_digraph.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_digraph.vim" 461 lines, 14928 characters


Executing Test_digraph_cmndline()
Executing T


Executing Test_digraphs()

Executing Test_digraphs_option()

Executing Test_digraphs_output()


Executing Test_loadkeymap()"test_digraph.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"120L, 2928C128L, 3123C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_display.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049lExecuting Test_display_foldcolumn()e more noise blah blah<82|

> more stuff here||||||||||~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

~                        

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                  e more noise blah blah<|

  82> more stuff here    ||||||||||  

  

  

  

  

  

  

  

  ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      ~                      

[No Name] [+]             ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     ~                                                     [No Name]                                             " Test for displaying stuff

if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum, nr) abort

  let line = []

  for j in range(a:nr)

    for c in range(1, winwidth(0))call add(line, nr2char(screenchar(a:lnum+j, c)))

test_display.vim                                                                "test_display.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"128L, 3123C132L, 3199C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_farsi.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_farsi.vim" 84 lines, 2881 characters




Executed 2 tests
"messages"[converted] 132L, 3199C[converted] 137L, 3295C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fnameescape.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fnameescape.vim" 21 lines, 467 characters


Executing Test_fnameescape()
"Xspa ce"[New] 21L, 467C written
"Xemark![New] 21L, 467C written
"test_fnameescape.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"137L, 3295C141L, 3368C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_fold.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_fold.vim" 97 lines, 3328 characters


Executing Test_address_fold()


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


7 lines yanked


8 lines yanked


10 lines yanked


4 lines yanked


Executing Test_indent_fold()


Executing Test_indent_fold2()
"test_fold.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"141L, 3368C147L, 3495C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gf.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gf.vim" 33 lines, 1138 characters


Executing Test_gf_url()
"test_gf.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"147L, 3495C151L, 3554C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gn.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gn.vim" 93 lines, 2821 characters


Executing Test_gn_command()/[u]niquepattern/s
/a:0\@!\zs\d\+
"test_gn.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"151L, 3554C155L, 3617C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_gui.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"155L, 3617C158L, 3653C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hardcopy.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hardcopy.vim" 62 lines, 2001 characters


Executing Test_printheader_parsing()


Executing Test_printmbfont_parsing()


Executing Test_printoptions_parsing()


Executing Test_with_syntax()Printing page 1 (0%)Printed: test_hardcopy.vim
"test_hardcopy.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"158L, 3653C165L, 3836C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hide.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hide.vim" 97 lines, 2443 characters


Executing Test_hide()
"Xf1" [New File]

"Xf1" [New File]
"Xf212121


one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"165L, 3836C169L, 3895C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_history.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_history.vim" 106 lines, 3567 characters


Executing Test_History()


Executing Test_Search_history_window()/a
/b
/a

b

a

b

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Tests for the history functions



test_history.vim                                                                /a

/b

/

/

/

/

/~                                                                              ~                                                                              ~                                                                              ~                                                                              [Command Line]                                                                  [?12l[?25h[?25l/a
"test_history.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"169L, 3895C174L, 4000C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_hlsearch.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_hlsearch.vim" 34 lines, 1013 characters


Executing Test_hlsearch()/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

~                                                                               [No Name] [+]                                                                   " Test for v:hlsearch



function! Test_hlsearch()

  new

  call setline(1, repeat(['aaa'], 10))

  set hlsearch nolazyredraw

  let r=[]

  " redraw is needed to make hlsearch highlight the matches

  exe "normal! /aaa\<CR>" | redraw

  let r1 = screenattr(1, 1)

test_hlsearch.vim                                                               aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





/aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaaaaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa//aaa
aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaa

aaaaaaaaa





"test_hlsearch.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"174L, 4000C178L, 4067C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment.vim" 760 lines, 19011 characters


Executing Test_normal_increment_01()
"dummy" [New File]

Executing Test_normal_increment_02()
"dummy" [New File]

Executing Test_normal_increment_03()
"dummy" [New File]

Executing Test_visual_increment_01()
"dummy" [New File]

Executing Test_visual_increment_02()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_03()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_04()
"dummy" [New File]

Executing Test_visual_increment_05()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_06()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_07()
"dummy" [New File]5 lines changed

Executing Test_visual_increment_08()
"dummy" [New File]

Executing Test_visual_increment_09()
"dummy" [New File]

Executing Test_visual_increment_10()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_11()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_12()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_13()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_14()
"dummy" [New File]

Executing Test_visual_increment_15()
"dummy" [New File]

Executing Test_visual_increment_16()
"dummy" [New File]3 lines changed

Executing Test_visual_increment_17()
"dummy" [New File]

Executing Test_visual_increment_18()
"dummy" [New File]4 lines changed

Executing Test_visual_increment_19()
"dummy" [New File]

Executing Test_visual_increment_20()
"dummy" [New File]

Executing Test_visual_increment_21()
"dummy" [New File]

Executing Test_visual_increment_22()
"dummy" [New File]

Executing Test_visual_increment_23()
"dummy" [New File]

Executing Test_visual_increment_24()
"dummy" [New File]

Executing Test_visual_increment_25()
"dummy" [New File]

Executing Test_visual_increment_26()
"dummy" [New File]

Executing Test_visual_increment_27()
"dummy" [New File]

Executing Test_visual_increment_28()
"dummy" [New File]

Executing Test_visual_increment_29()
"dummy" [New File]

Executing Test_visual_increment_30()
"dummy" [New File]

Executing Test_visual_increment_31()
"dummy" [New File]

Executing Test_visual_increment_32()
"dummy" [New File]_31" [New File]


Executing Test_visual_increment_33()
"dummy" [New File]

Executing Test_visual_increment_34()
"dummy" [New File]

Executing Test_visual_increment_35()
"dummy" [New File]

Executing Test_visual_increment_36()
"dummy" [New File]

Executing Test_visual_increment_37()
"dummy" [New File]

Executing Test_visual_increment_38()
"dummy" [New File]"test_increment.res" [New File][New] 0L, 0C written


Executed 41 tests
"messages" 178L, 4067C222L, 5628C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_increment_dbcs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_increment_dbcs.vim" 30 lines, 604 characters


Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 222L, 5628C[converted] 226L, 5709C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_job_fails.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_job_fails.vim" 19 lines, 598 characters


Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"226L, 5709C230L, 5784C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_json.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_json.vim" 287 lines, 10700 characters


Executing Test_js_decode()


Executing Test_js_encode()


Executing Test_json_decode()


Executing Test_json_encode()


"test_json.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"230L, 5784C237L, 5934C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_langmap.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_langmap.vim" 28 lines, 628 characters


Executing Test_langmap()
"test_langmap.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"237L, 5934C241L, 5999C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_man.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_man.vim" 60 lines, 1358 characters


Executing Test_g_ft_man_open_mode()




Cannot find a 'vim'.


Executing Test_nomodifiable()




Cannot find a 'vim'.
"test_man.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"241L, 5999C246L, 6102C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_marks.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_marks.vim" 26 lines, 775 characters


Executing Test_Incr_Marks()


Executing Test_Restore_DelMark()1 more line; before #2  0 seconds ago
1 line less; after #2  0 seconds agomore line; before #2  0 seconds ago
"test_marks.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"246L, 6102C251L, 6202C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_matchadd_conceal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049lExecuting Test_clearmatches()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_default_conceal_char()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #+This+is+a+Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_conceallevel_3()#ThisisaTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #Thisisa Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_and_syn_conceal()Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Inductive - : Type := | true : - | false : -.



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_matchadd_repeat_conceal_with_syntax_off()TARGET_TARGETTARGET
t_ttsimple_matchadd()# This is a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_simple_matchadd_and_conceal()#XThisXisXaXTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_syn_and_match_conceal()#ZThisZisZaZTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       #*This*is*a*Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       Executing Test_using_matchaddpos()#Pis a Test

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for matchadd() and conceal feature

if !has('conceal')

  finish

endif



if !has('gui_running') && has('unix')

  set term=ansi

endif



function! s:screenline(lnum) abort

test_matchadd_conceal.vim                                                       "test_matchadd_conceal.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"251L, 6202C263L, 6616C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession.vim" 104 lines, 2315 characters


Executing Test_mksession()
"/tmp/vfbIUUv/0" [New] 9L, 203C written


search hit BOTTOM, continuing at TOP
"test_mksession.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"[converted] 263L, 6616C[converted] 267L, 6685C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_mksession_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_mksession_utf8.vim" 104 lines, 2328 characters


Executing Test_mksession_utf8()
"/tmp/vJ26F5H/0" [New] 9L, 215C written


search hit BOTTOM, continuing at TOP
"test_mksession_utf8.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"267L, 6685C271L, 6764C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_nested_function.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_nested_function.vim" 67 lines, 1305 characters


Executing Test_max_nesting()


Executing Test_nested_argument()


[]


Executing Test_nested_functions()
"test_nested_function.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"271L, 6764C277L, 6909C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_netbeans.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][New] 0L, 0C written


Executed 0 test
"messages"277L, 6909C280L, 6950C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_normal.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_normal.vim" 2280 lines, 58740 characters


Executing Test_normal00_optrans()

Executing Test_normal01_keymodel()
4 lines yankedExecuting Test_normal02_selectmode()10 fewer lines

Executing Test_normal02_selectmode2():set im
[?12l[?25h[?25l:set noim


Executing Test_normal03_join()


Executing Test_normal04_filter():.!sed -e 's/^/|    /'
[?12l[?25h[?1l>[?1049lone
[?1049h[?1h=[?25l:.!sed -e 's/^/|    /'
[?12l[?25h[?25l:.!
:!echo one
[?1l>[?12l[?25h[?1049l

[No write since last change]

one


Press ENTER or type command to continue[?1049h[?1h=[?25l:.!!
[?12l[?25h

[?25lExecuting Test_normal05_formatexpr()


Executing Test_normal05_formatexpr_newbuf()
"another" [New File]

Executing Test_normal05_formatexpr_setopt()


Executing Test_normal06_formatprg():.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered

Executing Test_normal07_internalfmt()
7 fewer lin

Executing Test_normal08_fold()


Executing Test_normal09_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal09a_operatorfunc()


11 substitutions on 11 lines


Executing Test_normal10_expand()


Executing Test_normal11_showcmd()

Executing Test_normal12_nv_error()


Executing Test_normal13_help()
"help.txt" [readonly] 225L, 8437C


Executing Test_normal14_page()


Executing Test_normal14_page_eol()

Executing Test_normal15_z_scroll_vert()


Executing Test_normal16_z_scroll_hor()


Executing Test_normal17_z_scroll_hor2()


Executing Test_normal18_z_fold()


Executing Test_normal19_z_spell()
Word 'goood' added to ./Xspellfile.add
search hit BOTTOM, continuing at TOPWord 'goood' added to ./Xspellfile.add2 goood' added to ./Xspellfile.add/tmp/veUKWp9/11removed from /tmp/veUKWp9/11goood' added to /tmp/veUKWp9/11removed from /tmp/veUKWp9/11added to ./Xspellfile.addremoved from ./Xspellfile.add2 goood' added to ./Xspellfile.addremoved from ./Xspellfile.addgoood' added to ./Xspellfile2.add

Executing Test_normal20_exmode()


Executing Test_normal21_nv_hat()
"Xfoobar" [New File]ile2" [New File]

Executing Test_normal22_zet()


Executing Test_normal23_K()
"version8.txt" [readonly] 14932L, 562906Cline 1 of 14932 --0%-- col 1
"man" [New File]aa%bb" [New File]
"cc|dd
:! man --pager=cat 'man'[?1l>[?12l[?25h[?1049l

[No write since last change]

stdin not open for reading!


shell returned 2



Press ENTER or type command to continue[?1049h[?1h=

[?25lExecuting Test_normal24_rot13()


Executing Test_normal25_tag()
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"change.txt" [readonly] 1830L, 74768C
"help.txt" [readonly] 225L, 8437C
"insert.txt" [readonly] 2003L, 82815Cline 49 of 2003 --2%-- col 7-49


Executing Test_normal26_put()


Executing Test_normal27_bracket()


21 substitutions on 21 lines


Executing Test_normal28_parenthesis()


Executing Test_normal29_brace()
17 fewer lines4 fewer lines3

Executing Test_normal30_changecase()


Executing Test_normal31_r_cmd()

Executing Test_normal32_g_cmd1()
/x_foo?abc

Executing Test_normal33_g_cmd2()/[1-8]
search hit BOTTOM, continuing at TOP
9 substitutions on 9 linesblock of 3 lines yanked5

Executing Test_normal34_g_cmd3()


Executing Test_normal35_g_cmd4()


Executing Test_normal36_g_cmd5()


Executing Test_normal37_g_cmd6()
"1.txt" [New File]23


Executing Test_normal38_nvhome()


Executing Test_normal39_cw()

Executing Test_normal40_ctrl_bsl()

Executing Test_normal41_insert_reg()=a
=a
=a


Executing Test_normal42_halfpage()


Executing Test_normal43_textobject1()


Executing Test_normal44_textobjects2()


Executing Test_normal45_drop()


Executing Test_normal46_ignore()


Executing Test_normal47_autocmd()


Executing Test_normal47_visual_buf_wipe()


Executing Test_normal48_wincmd()


Executing Test_normal49_counts()


Executing Test_normal50_commandline()q:  :xxx

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       :set im

:set noim

:.!sed -e 's/^/|    /'

:.!

:!echo one

:.!!

:

[Command Line]                                                                  [?12l[?25h[?25l[?12l[?25h[?25l:^M   



Executing Test_normal51_FileChangedRO()
"Xreadonly.log" 1L, 4C
Error detected while processing ...13]..Test_normal51_FileChangedRO:
line    8:W10: Warning: Changing a readonly file

Executing Test_normal52_rl()3_digraph()


Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][New] 0L, 0C written


Executed 61 tests
"messages" 280L, 6950C348L, 9314C written
[?1l>[?12l[?25h[?1049l

VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_packadd.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_packadd.vim" 238 lines, 8288 characters


Executing Test_colorscheme()


Executing Test_colorscheme_completion():colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')acolorscheme one')dcolorscheme one')dcolorscheme one')(colorscheme one')lcolorscheme one')icolorscheme one'),colorscheme one') colorscheme one')'colorscheme one')
:colorscheme ...one...three')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')acolorscheme three')dcolorscheme three')dcolorscheme three')(colorscheme three')lcolorscheme three')icolorscheme three'),colorscheme three') colorscheme three')'colorscheme three')
:colorscheme ...one...three...wo')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')acolorscheme two')dcolorscheme two')dcolorscheme two')(colorscheme two')lcolorscheme two')icolorscheme two'),colorscheme two') colorscheme two')'colorscheme two')
:colorscheme ...one...three...wo...')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')acolorscheme ')dcolorscheme ')dcolorscheme ')(colorscheme ')lcolorscheme ')icolorscheme '),colorscheme ') colorscheme ')'colorscheme ')


Executing Test_helptags()


Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C writtenalso/loaded.vim" [New File][New] 1L, 29C writtenftdetect/test.vim" [New File[New] 1L, 26C written


Executing Test_packadd_completion():packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')apackadd pluginA')dpackadd pluginA')dpackadd pluginA')(packadd pluginA')lpackadd pluginA')ipackadd pluginA'),packadd pluginA') packadd pluginA')'packadd pluginA')
:packadd ...pluginA...B')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')apackadd pluginB')dpackadd pluginB')dpackadd pluginB')(packadd pluginB')lpackadd pluginB')ipackadd pluginB'),packadd pluginB') packadd pluginB')'packadd pluginB')
:packadd ...pluginA...B...C')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')apackadd pluginC')dpackadd pluginC')dpackadd pluginC')(packadd pluginC')lpackadd pluginC')ipackadd pluginC'),packadd pluginC') packadd pluginC')'packadd pluginC')
:packadd ...pluginA...B...C...')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')apackadd ')dpackadd ')dpackadd ')(packadd ')lpackadd ')ipackadd '),packadd ') packadd ')'packadd ')


Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][New] 1L, 24C written


Executing Test_packloadall()


Executing Test_runtime()
"test_packadd.res" [New File][New] 0L, 0C written


Executed 8 tests
"messages"348L, 9314C359L, 9597C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_perl.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_perl.vim" 123 lines, 3037 characters


Executing Test_SvREFCNT()
"t" [New File]

Executing Test_VIM_package()


Executing Test_change_buffer()/^1


Executing Test_evaluate_list()/^2
search hit BOTTOM, continuing at TOP


Executing Test_perldo()
"__TEST__" [New File]test_perl.vim"123L, 3037C


Executing Test_perleval()


Executing Test_stdio()


&VIM::Msg


STDOUT


STDERR
"test_perl.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"359L, 9597C369L, 9825C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_profile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_profile.vim" 146 lines, 6247 characters


Executing Test_profile_completion():profile ...continue file func pause start
:"profile continue file func pause start
:"
:profile start test_prof...ile.vim
:"profile start test_profile.vim
:"


Executing Test_profile_errors()


Executing Test_profile_file()


Executing Test_profile_func()
"test_profile.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"369L, 9825C376L, 9994C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_quickfix.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_quickfix.vim" 1693 lines, 46351 characters


Executing Test_Autocmd()
"F1" [New File]

(1 of 1): Line 10
"F2" [New File]

(1 of 2): Line 10


Executing Test_Autocmd_Exception()


Executing Test_adjust_lnum()


Already only one window
"Xqftestfilec" 20L, 131C


9 fewer lines


Already only one window
"Xqftestfilel" 20L, 131C


9 fewer lines


Executing Test_browse()
"Xqftestfile1" 20L, 131C


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


(1 of 4): Line5


"Xqftestfile2" 20L, 131C


(3 of 4): Line10
"Xqftestfile1" 20L, 131C


(2 of 4): Line6
"Xqftestfile2" 20L, 131C


(4 of 4): Line11


"Xqftestfile1" 20L, 131C


(1 of 4): Line5


Executing Test_caddbuffer_to_empty()
"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


(2 of 1486):


Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File]

Executing Test_caddexpr_wrong()


(1 of 1):


(1 of 1):


Executing Test_cage()


error list 9 of 10; 1 errors      :cgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :cgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :cgetexpr ['Xtestfile3:3:1:Line3']


error list 9 of 10; 1 errors      :lgetexpr ['Xtestfile2:2:2:Line2']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


error list 8 of 10; 1 errors      :lgetexpr ['Xtestfile1:1:3:Line1']


error list 10 of 10; 1 errors     :lgetexpr ['Xtestfile3:3:1:Line3']


Executing Test_cbottom()


Executing Test_cbuffer()
"Xtestfile7" [New File]

(1 of 2): Line 700
"Xtestfile7" [New File]


(1 of 2): Line 700


Executing Test_cexpr()


Executing Test_cfile()
"Xtestfile1" [New File]


(1 of 2): Line 700


"Xtestfile1" [New File]


(1 of 2): Line 700


Executing Test_cgetexpr_works()


Executing Test_clist()


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 1: non-error 1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 5: non-error 3


 6 Xtestfile3:3 col 1: Line3


 4 Xtestfile2:2 col 2: Line2


 6 Xtestfile3:3 col 1: Line3


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


 2 Xtestfile1:1 col 3: Line1


 2 Xtestfile1:1 col 3: Line1


 3: non-error 2


 4 Xtestfile2:2 col 2: Line2


Executing Test_cwindow()~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Quickfix List]                                                                 ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       Xtestfile1|1 col 3| Line1                                                       Xtestfile2|2 col 2| Line2

Xtestfile3|3 col 1| Line3

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [Location List]                                                                 Executing Test_dirstack_cleanup()


(1 of 1): 0


Executing Test_duplicate_buf()
"DoesNotExist" [New File]2" [New File]


Xgrepthis
"Xgrepthis" line 1 of 2 --50%-- col 1


(1 of 2): this one


Xgrepthis
(1 of 2): this one


Executing Test_efm()


Executing Test_efm1()
"Xtestfile" 21L, 903C


(1 of 20): 1506-045 (S) Undeclared identifier fd_set.


(20 of 20): What is the title of the quickfix window?


Executing Test_efm2()
"Xtestfile" [New File]


Executing Test_efm_dirstack()


Executing Test_efm_ignore_continuations()


Executing Test_errortitle()


Executing Test_grep()


Already only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lAlready only one window[?1l>[?12l[?25h[?1049ltest_quickfix.vim:1418:  " Grep_Test_Text: Match 1
test_quickfix.vim:1419:  " Grep_Test_Text: Match 2
test_quickfix.vim:1424:  silent Xgrep Grep_Test_Text: test_quickfix.vim
[?1049h[?1h=[?1l>[?1049ltest_quickfix.vim:1420:  " GrepAdd_Test_Text: Match 1
test_quickfix.vim:1421:  " GrepAdd_Test_Text: Match 2
test_quickfix.vim:1431:  silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
[?1049h[?1h=[?25lExecuting Test_helpgrep()

"autocmd.txt" [readonly] 1486L, 61530C


(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1

(1 of 483): |QuickFixCmdPre|^Ibefore a quickfix command is run


Executing Test_history()


error list 1 of 10; 1 errors      :  cexpr 'Xtestfile:Line search text'


error list 1 of 2; 1 errors:  cexpr 'Xtestfile:Line search text'


error list 1 of 3; 13 errors      :lexpr ""


error list 1 of 2; 13 errors      :lexpr ""


Executing Test_invalid_efm()


Executing Test_locationlist()


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


No matching autocommands


(1 of 7): file foo.txt
No matching autocommands


W19: Deleting augroup that is still in use
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" 1L, 11Cbar1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=

[?25lAlready only one window


Executing Test_locationlist_curwin_was_closed()


W19: Deleting augroup that is still in use
Executing Test_long_lines()"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" 4L, 22089C


(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-nox/alloc.h" 21L, 485C


Error detected while processing function RunTheTest[13]..Test_nomem:


line    2:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-nox/alloc.h" 21L, 485C


line    5:


E342: Out of memory!  (allocating 4096 bytes)
"/<<PKGBUILDDIR>>/src/vim-nox/alloc.h" 21L, 485C


line    8:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-nox/alloc.h" 21L, 485C


line   11:


E342: Out of memory!  (allocating 1025 bytes)
"/<<PKGBUILDDIR>>/src/vim-nox/alloc.h" 21L, 485C


line   14:


E342: Out of memory!  (allocating 1025 bytes)


Executing Test_qf_property()


Executing Test_qf_title()


Executing Test_quickfix_set_list_with_act()


Executing Test_quickfix_was_changed_by_autocmd()


error list 9 of 10; 1 errors      :setqflist()


W19: Deleting augroup that is still in use
error list 9 of 10; 1 errors      :setloclist()


error list 9 of 10; 1 errors      :setloclist()


W19: Deleting augroup that is still in use
Executing Test_setqflist()"Xtestfile" [New File]

(2 of 2):


(3 of 3):


(2 of 2):


(3 of 3):


Executing Test_setqflist_empty_middle()


test_quickfix.vim
"test_quickfix.vim" 1693L, 46351C


(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :vimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :vimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setqflist()


error list 10 of 10; 2 errors     :vimgrep matches test_quickfix.vim


test_quickfix.vim
(1 of 49): func Test_clist()


test_quickfix.vim
(1 of 13): " With an empty list, command should return error


test_quickfix.vim
(1 of 2): " number of matches is unknown


error list 9 of 10; 13 errors     :lvimgrep empty test_quickfix.vim


error list 8 of 10; 49 errors     :lvimgrep Test_ test_quickfix.vim


error list 9 of 10; 0 errors      :setloclist()


error list 10 of 10; 2 errors     :lvimgrep matches test_quickfix.vim


Executing Test_setqflist_empty_older()


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :vimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :vimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :vimgrep three test_quickfix.vim


test_quickfix.vim
(1 of 24): \ 'Does anyone know what is the problem and how to correction it?',


test_quickfix.vim
(1 of 21): " Go back two lists


test_quickfix.vim
(1 of 7): " Add three quickfix/location lists


error list 8 of 10; 24 errors     :lvimgrep one test_quickfix.vim


error list 9 of 10; 21 errors     :lvimgrep two test_quickfix.vim


error list 10 of 10; 7 errors     :lvimgrep three test_quickfix.vim


Executing Test_switchbuf()
"Xqftestfile1" 20L, 131C220L, 131C1" line 1 of 20 --5%-- col 1


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" line 1 of 20 --5%-- col 1


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C220L, 131C


(1 of 6): Line5


(2 of 6): Line6


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16
"Xqftestfile1" 20L, 131C


(1 of 6): Line5


(2 of 6): Line6
"Xqftestfile2" 20L, 131C


(3 of 6): Line10


(4 of 6): Line11
"Xqftestfile3" 20L, 131C


(5 of 6): Line15


(6 of 6): Line16


Already only one window
"Xqftestfile1" 20L, 131C220L, 131C320L, 131C


Executing Test_two_windows()
"one" [New File]two


Executing Test_vimgreptitle()


file
"file" [New File]


Cannot open file "file"
"test_quickfix.res" [New File][New] 0L, 0C written


Executed 42 tests
"messages" 376L, 9994C421L, 11297C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_ruby.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_ruby.vim" 34 lines, 820 characters


Executing Test_ruby_change_buffer()/^1


Executing Test_ruby_evaluate_dict()


{"a"=>"foo", "b"=>123}


Executing Test_ruby_evaluate_list()/^2
search hit BOTTOM, continuing at TOP
"test_ruby.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"421L, 11297C427L, 11443C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_search.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_search.vim" 296 lines, 8731 characters


Executing Test_search_cmdline()/foobar
/the
search hit BOTTOM, continuing at TOP/thes
/foobar
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
/the
?the
?the
?the
?the
?the
?the
?the
?the
?the
?the
search hit TOP, continuing at BOTTOM/thes
/thes
/thes
/thes
/thei
/theis
/theiss
/themthe\>
Executing Test_search_cmdline2()/the
/the
/the
/the
/the
/the
/the
/foo
6 their

  7 the

  8 them

  9 these

 10 foobar

[No Name] [+]                                                                   " Test for the search command



func Test_search_cmdline()

  if !exists('+incsearch')

    return

  endif

  " need to disable char_avail,

  " so that expansion of commandline works

  call test_disable_char_avail(1)

  new

  call setline(1, ['  1', '  2 these', '  3 the', '  4 their', '  5 there', '  66 their', '  7 the', '  8 them', '  9 these', ' 10 foobar'])

  " Test 1

  " CTRL-N / CTRL-P skips through the previous search history

  set noincsearch

  :1

test_search.vim                                                                 Executing Test_searchpair()


Executing Test_use_sub_pat()
"test_search.res" [New File][New] 0L, 0C written


Executed 4 tests
"messages"427L, 11443C434L, 11605C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_signs.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_signs.vim" 199 lines, 6383 characters


Executing Test_sign()
"foo" [New File]a  b  c xd                                                                                 ~

[No Name] [+]                                                                   " Test for signs



if !has('signs')

  finish

endif

test_signs.vim                                                                  ~                                                                               ~                                                                               ~                                                                               ~                                                                               foo                                                                               a

  b

x c

  d

[No Name] [+]                                                                     a  bx c  d  ~   "foo" [New file] --No lines in buffer--
"barF

Executing Test_sign_completion():sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
:sign jump 1 ...buffer= file=
:"sign jump 1 buffer= file=
:"


Executing Test_sign_delete_buffer()


Executing Test_sign_invalid_commands()


Executing Test_sign_undefine_still_placed()
"foobar" [New File]test_signs.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"434L, 11605C442L, 11818C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_smartindent.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_smartindent.vim" 14 lines, 376 characters


Executing Test_nosmartindent()/some
search hit BOTTOM, continuing at TOP"test_smartindent.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"442L, 11818C446L, 11893C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup.vim" 185 lines, 4581 characters


Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l1: /<<PKGBUILDDIR>>/src/vim-nox/testdir/Xbefore.vim


  2: /<<PKGBUILDDIR>>/src/vim-nox/testdir/Xhere/plugin/here.vim


  3: /<<PKGBUILDDIR>>/src/vim-nox/testdir/Xhere/pack/foo/start/fo


obar/plugin/foo.vim


  4: /<<PKGBUILDDIR>>/src/vim-nox/testdir/Xafter/plugin/later.vim


  5: /<<PKGBUILDDIR>>/src/vim-nox/testdir/Xafter.vim


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25lError detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/Xafter.vim:


line    2:


E528: Must specify a ' value: viminfo+=nviminfo


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=

[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=

[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 1 line, 10 characters[?12;25h[?12l[?25h"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=

[?25lExecuting Test_startup_script()[?1000h


Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"one" [New File]


[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l"test_startup.res" [New File][New] 0L, 0C written


Executed 7 tests
"messages"446L, 11893C456L, 12144C written
[?1000l

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_startup_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_startup_utf8.vim" 64 lines, 1366 characters


Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?12;25h[?12l[?25h[?25l"/dev/fd/63" [readonly] 2 lines, 24 characters


"Xtestout" [New File] 2 lines, 24 characters written


[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?25l"-stdin-" 2 lines, 24 characters[?12;25h[?12l[?25h"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l

Vim: Reading from stdin...
[?1049h[?1h=[?25l"test_startup_utf8.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"456L, 12144C461L, 12255C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_stat.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_stat.vim" 64 lines, 1598 characters


Executing Test_checktime()
"Xtest.tmp" 1L, 13C[?12l[?25h[?25l1L, 25C


Executing Test_existent_directory()


Executing Test_existent_file()[?12l[?25h


[?25lExecuting Test_nonexistent_file()


Executing Test_win32_symlink_dir()
"test_stat.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"461L, 12255C469L, 12456C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_substitute.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_substitute.vim" 41 lines, 1151 characters


Executing Test_multiline_subst()


search hit BOTTOM, continuing at TOP
3 substitutions on 3 lines

3 substitutions on 2 lines
"test_substitute.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"469L, 12456C473L, 12532C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_syntax.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_syntax.vim" 164 lines, 4101 characters


Executing Test_syn_iskeyword()CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


syntax iskeyword @,48-57,_,192-255CREATE TABLE FOOBAR(

    DLTD_BY VARCHAR2(100)

);



~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " Test for syntax and syntax iskeyword option



if !has("syntax")

  finish

endif



func GetSyntaxItem(pat)

  let c = ''

  let a = ['a', getreg('a'), getregtype('a')]

  0

test_syntax.vim                                                                 

syntax iskeyword not set


Executing Test_syntax_after_reload()
"Xsomefile" [New File][New] 2L, 12C written
"other" [New File]Xsomefile" 2L, 12C


Executing Test_syntax_completion():syn ...case clear cluster conceal enable include iskeyword keyword list manual ma


tch off on region reset spell sync"syn case clear cluster conceal enable include iskeyword keyword list manual match off on region reset spell sync
:syn case ...ignore match
:"syn case ignore match
:"
:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=


minlines= region"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= minlines= region
:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu


rsorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange Dif


fDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn


Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro


MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu PmenuSbar P


menuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn


Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal Spel


lRare Statement StatusLine StatusLineNC StorageClass String Structure TabLine Ta


bLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual Vis


ualNOS WarningMsg WildMenu luaBlock luaBraceError luaComment luaCond luaConstant


luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFunctionBlock luaI


fThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOperator luaParen


luaParenError luaRepeat luaSpecial luaStatement luaString luaString2 luaTable l


uaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArrow perlAutoload


perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBracketsSQ perlCharacte


rperlComment perlConditional perlControl perlDATA perlElseIfError perlFakeGroup"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange Di

fDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu PmenuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal Spe

lRare Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNOS WarningMsg WildMenu luaBlock luaBraceError luaComment luaCond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFunctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOperator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaString2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArrow perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBracketsSQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfError perlFakeGrou
:syn match ...Boolean Character ColorColumn Comment Conceal Conditional Constant C
:"syn match Boolean Character ColorColumn Comment Conceal Conditional Constant 
:"


Executing Test_syntax_list()
"../memfile_test.c" [readonly] 143L, 3142C


--- Syntax items ---




--- Syntax items ---


"Xsomefile" [New File]


Executing Test_syntime()
"../memfile_test.c" [readonly] 143L, 3142C/* vi:set ts=8 sts=4 sw=4 noet:

 *

 * VIM - Vi IMproved    by Bram Moolenaar

 *

 * Do ":help uganda"  in Vim to read copying and usage conditions.

 * Do ":help credits" in Vim to see a list of people who contributed.

 * See README.txt for an overview of the Vim source code.

 */



/*

 * memfile_test.c: Unittests for memfile.c

 * Mostly by Ivan Krasilnikov.

 */



#undef NDEBUG

#include <assert.h>



/* Must include main.c because it contains much more than just main() */

#define NO_VIM_MAIN

#include "main.c"



/* This file has to be included because the tested functions are static */

#include "memfile.c"

"Xsomefile" [New File]
"test_syntax.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"473L, 12532C481L, 12729C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_system.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_system.vim" 92 lines, 2910 characters


Executing Test_System()
"Xdummy" [New File]

Executing Test_system_exmode()
"test_system.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"481L, 12729C486L, 12824C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_textobjects.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_textobjects.vim" 43 lines, 946 characters


Executing Test_inner_block_with_cpo_M_left_backslash()


Executing Test_inner_block_with_cpo_M_right_backslash()


Executing Test_inner_block_without_cpo_M()
"test_textobjects.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"486L, 12824C492L, 13023C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_undo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_undo.vim" 265 lines, 6936 characters


Executing Test_U_command()Executing Test_global_local_undolevels()
"one" [New File]

6 fewer lines; before #8  0 seconds ago
"two" [New File]

3 fewer lines; before #11  0 seconds ago
"three" [New File]

Executing Test_insert_expr()=setline('.','1234')
1 line less; before #4  0 seconds ago3=setline('.','1234')
1 line less; before #7  0 seconds ago=string(123)
1 line less; before #9  0 seconds ago


Executing Test_undo_del_chars()
1 change; before #3  0 seconds ago21


1 change; before #6  1 seconds ago5
4s; after #3
1; before #21


3 changes; after #6  1 seconds ago3 changes; before #7  0 seconds ago


3 changes; before #1  3 seconds ago


3 changes; after #6  3 seconds ago


3 changes; after #9  0 seconds ago


Executing Test_undo_write()
"Xtest" [New File]"Xtest" [New] 1L, 12C written"Xtest" 3L, 20C written1 line less; before #4  0 seconds ago


2 fewer lines; before #2  0 seconds ago


1 line less; before #1  0 seconds ago


1 more line; after #1  0 seconds ago


2 more lines; after #3  0 seconds ago


1 more line; after #4  0 seconds ago


Executing Test_undofile_earlier()
"Xfile" [New File]"Xfile" [New] 3L, 14C written3L, 14C


Finished reading undo file Xundofile


3 fewer lines; before #1  2017/07/13 19:12:10


Executing Test_undojoin()1 line less; before #2  0 seconds ago2 fewer lines; before #3  0 seconds ago


Executing Test_undolist()1 change; before #2  0 seconds agoExecuting Test_undotree()

1 change; before #2  0 seconds ago
"Xtest" [New] 1L, 4C written
"test_undo.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"492L, 13023C504L, 13330C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_usercommands.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_usercommands.vim" 104 lines, 2527 characters


Executing Test_Ambiguous()


Executing Test_CmdUndefined()


Executing Test_cmdmods()
"test_usercommands.res" [New File][New] 0L, 0C written


Executed 3 tests
"messages"504L, 13330C510L, 13458C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viminfo.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viminfo.vim" 515 lines, 13496 characters


Executing Test_cmdline_history()


Executing Test_cmdline_history_order()


Executing Test_global_vars()


Executing Test_viminfo_bad_syntax()


Executing Test_viminfo_encoding()
"Xviminfo" [converted] 73L, 3414C


Executing Test_viminfo_file_mark_tabclose()
"Xtestfileintab" [New File]viminfo" 83L, 3589C


Executing Test_viminfo_file_mark_zero_time()


Executing Test_viminfo_file_marks()
"ten" [New File]again" [New File]
"thirty" [New File]
"twen
"again" [New File]fourty" [New File]
"Xviminfo" 90L, 3387C


Executing Test_viminfo_jumplist()
"testbuf" [New File]/20
/30
/last pos
/15
/last pos
?30
/15
/last pos
?30
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here
/here


Executing Test_viminfo_marks()
"bufa" [New File]b


Executing Test_viminfo_oldfiles()


Executing Test_viminfo_read_and_write()


Executing Test_viminfo_registers()
"test_viminfo.res" [New File][New] 0L, 0C written


Executed 13 tests
"messages" 510L, 13458C526L, 13970C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_viml.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_viml.vim" 1316 lines, 31904 characters


Error detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/test_viml.vim:


line  432:


E492: Not an editor command: ^Iasdf


line  444:


E492: Not an editor command: ^Iasdf


line  452:


E492: Not an editor command: asdf


line  455:


E492: Not an editor command: asdf | Xpath 'p'


Error detected while processing function T8_F:


line    5:


E492: Not an editor command: ^I    asdf


line    7:


E492: Not an editor command: ^I    asdf | Xpath 'd'


line   19:


E492: Not an editor command: ^I    asdf


line   21:


E492: Not an editor command: ^I    asdf | Xpath 'l'


line   29:


E121: Undefined variable: novar


E15: Invalid expression: novar^I^I" returns (default return value 0)


Error detected while processing function T8_G:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function T8_H:


line    5:


E492: Not an editor command: ^I    asdf^I^I" returns -1


Error detected while processing function F[2]..G[2]..H[2]..I:


line    2:


E492: Not an editor command:     asdf^I^I" error


Error detected while processing /<<PKGBUILDDIR>>/src/vim-nox/test


dir/test_viml.vim:


line  663:


E15: Invalid expression: | strlen("\"") | Xpath 'j'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'


line  673:


E15: Invalid expression: | strlen("\"") | Xpath 'n'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'


line  682:


E15: Invalid expression: | strlen("\"") | Xpath 'r'


E15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'


line  717:


E492: Not an editor command:     asdf^I^I" error


1

line  787:


E492: Not an editor command:     asdf^I^I" error


line  794:


E492: Not an editor command:     asdf^I^I" error


line  817:


E121: Undefined variable: asdf


E15: Invalid expression: asdf


line  828:


E121: Undefined variable: asdf


E15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'


Error detected while processing function F:


line    8:


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar^I" possibly undefined


E121: Undefined variable: g:boolvar


E15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif


Executing Test_arg_abort()


Executing Test_braces_skipped()


Executing Test_curlies()


Executing Test_defining_functions()


Executing Test_echo_and_string()


foo bar


'foo bar'


-1.2


-1.2


string


function('string')


{'a': {...}}


{'a': {...}}


[[...]]


[[...]]


[{}, {}, {}]


[{}, {}, {}]


{'a': {}, 'b': {}}


{'a': {}, 'b': {}}


[[], [], []]


[[], [], []]


{'a': [], 'b': []}


{'a': [], 'b': []}


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {...}, {...}]


[{'one': 'yes', 'two': 'yes', 'three': 'yes'}, {'one': 'yes', 'two': 'yes', 'th


ree': 'yes'}, {'one': 'yes', 'two': 'yes', 'three': 'yes'}]


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {...}}


{'a': {'one': 'yes', 'two': 'yes', 'three': 'yes'}, 'b': {'one': 'yes', 'two':


'yes', 'three': 'yes'}}


[[1, 2, 3], [...], [...]]


[[1, 2, 3], [1, 2, 3], [1, 2, 3]]


{'a': [1, 2, 3], 'b': [...]}


{'a': [1, 2, 3], 'b': [1, 2, 3]}


Executing Test_endwhile_function()


Executing Test_endwhile_script()


   function T1_F()


1      Xpath 'a'


2      let first = 1


3      while 1


4Xpath 'b'


5if first


6Xpath 'c'


7let first = 0


8break


9else


10Xpath 'd'


11return


12endif


13     endwhile


   endfunction"/tmp/voIITlV/0" [noeol] 16L, 299C

13 substitutions on 13 lines

Pattern not found: ^\s*$
"/tmp/voIITlV/0" 13L, 248C written
"test_viml.vim" 1316L, 31904C

   function T1_G()

1      Xpath 'h'

2      let first = 1

3      while 1

4Xpath 'i'

5if first

6Xpath 'j'

7let first = 0

8break

9else

10Xpath 'k'

11return


12endif


13if 1    " unmatched :if


14     endwhile


   endfunction"/tmp/voIITlV/1" [noeol] 17L, 334C

14 substitutions on 14 lines

Pattern not found: ^\s*$
"/tmp/voIITlV/1" 14L, 281C written
"test_viml.vim" 1316L, 31904C

Executing Test_error_in_function()

Executing Test_error_in_script()

Executing Test_expr_parsing()

Executing Test_finish()

   function T4_F()

1      if 1

2Xpath 'a'

3let loops = 3

4while loops > 0"    3:  2:     1:

5Xpath 'b' . loops

6if (loops == 2)

7Xpath 'c' . loops

8return


9Xpath 'd' . loops


10endif


11Xpath 'e' . loops


12let loops = loops - 1


13endwhile


14Xpath 'f'


15     else


16Xpath 'g'


17     endif


   endfunction"/tmp/voIITlV/2" [noeol] 20L, 504C

17 substitutions on 17 lines

Pattern not found: ^\s*$
"/tmp/voIITlV/2" 17L, 445C written
"test_viml.vim" 1316L, 31904C

Executing Test_func_abort()

Executing Test_if_bar_fail()

Executing Test_if_fail()

Executing Test_if_while()

Executing Test_num64()

Executing Test_return()

Executing Test_script_lines()

Executing Test_skip()

Executing Test_type()

Executing Test_while_fail()
"test_viml.res" [New File][New] 0L, 0C written

Executed 21 tests
"messages" 526L, 13970C550L, 14609C written

[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_visual.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_visual.vim" 25 lines, 506 characters


Executing Test_block_shift_multibyte()


Executing Test_dotregister_paste()"test_visual.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"550L, 14609C555L, 14723C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_window_id.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_window_id.vim" 103 lines, 2714 characters


Executing Test_win_getid()
"one" [New File]twohree" [New File]
"four" [New File]ive


Executing Test_win_getid_curtab()
"X" [New File]test_window_id.res" [New File][New] 0L, 0C written


Executed 2 tests
"messages"555L, 14723C560L, 14827C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_writefile.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_writefile.vim" 16 lines, 490 characters


Executing Test_WriteFile()
"test_writefile.res" [New File][New] 0L, 0C written


Executed 1 test
"messages"560L, 14827C564L, 14896C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_latin.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_latin.vim" 7 lines, 280 characters


Executing Test_eow_with_optional()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_nested_backrefs()


Executing Test_recursive_substitute()
"test_alot_latin.res" [New File][New] 0L, 0C written


Executed 5 tests
"messages"[converted] 564L, 14896C[converted] 572L, 15112C written


[?1l>[?12l[?25h[?1049lVIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot_utf8.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049lExecuting Test_classes_re1()


Executing Test_classes_re2()


Executing Test_equivalence_re1()


Executing Test_equivalence_re2()


Executing Test_match_using_multibyte_conceal_char()#ˑThisˑisˑaˑTest

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   " A series of tests that can run in one Vim invocation.

" This makes testing go faster, since Vim doesn't need to restart.



" These tests use utf8 'encoding'.  Setting 'encoding' is already done in

" runtest.vim.  Checking for the multi_byte feature is in the individual

" files, so that they can be run by themselves.



source test_expr_utf8.vim

source test_matchadd_conceal_utf8.vim

source test_regexp_utf8.vim

test_alot_utf8.vim                                                              Executing Test_source_latin()
"Xscript"[New] 2L, 44C written
Executing Test_source_utf8()"Xscript"[New] 2L, 42C written:%s/àx/--à1234--/g
:%s/Àx/--À1234--/g


Executing Test_strcharpart()


Executing Test_strgetchar()
"test_alot_utf8.res" [New File][New] 0L, 0C written


Executed 9 tests
"messages"572L, 15112C584L, 15447C written


VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -U NONE -S runtest.vim test_alot.vim
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"test_alot.vim" 48 lines, 1233 characters


Executing Test_BufEnter()
"NewFile" [New File]Xdir" is a directory


Executing Test_abbreviation()Executing Test_abs()


Executing Test_acos()


Executing Test_asin()


Executing Test_atan()


Executing Test_atan2()


Executing Test_augroup_deleted()


W19: Deleting augroup that is still in use
Executing Test_augroup_warning()

W19: Deleting augroup that is still in useentering


Executing Test_auto_partial_rebind()


Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File]

"bb.txt" [New File]


Executing Test_autocmd_bufunload_avoiding_SEGV_02()

"a.txt" [New File]
"test_alot.vim" 48L, 1233C


Executing Test_autocmd_bufunload_with_tabnext()


Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File]

Executing Test_bind_in_python()


Executing Test_break_undo()Executing Test_bufunload()


Executing Test_cancel_ptjump()


Already only one window:ptjump word
  # pri kind tagfile


  1 Fwordfile1


cmd1


  2 Fwordfile2


cmd2


Type number and <Enter> (empty cancels): 
"help.txt" [readonly] 225L, 8437C


Executing Test_caught_error_in_statusline()source test_messages.vim

source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



                                                                                Executing Test_caught_error_in_tabline()                                                                                source test_partial.vim

source test_popup.vim

source test_reltime.vim

source test_searchpos.vim

source test_set.vim

source test_sort.vim

source test_statusline.vim

source test_syn_attr.vim

source test_tabline.vim

source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis here

new line here



test_alot.vim                                                                   Executing Test_ceil()


Executing Test_closure_counter()


Executing Test_closure_refcount()


Executing Test_closure_unlet()


Executing Test_color_names()


Executing Test_compare_null_dict()


Executing Test_compare_partials()


Executing Test_compl_vim_cmds_after_register_expr()=s:test_func()
 AAAAA_Group             BufAdd                  BufCreate               BufDelete               BufEnter                BufFilePost             BufFilePre              BufHidden               BufLeave                BufNew                  BufNewFile              BufRead                 BufReadCmd              BufReadPost             tBufReadPre              BufUnload               BufWinEnter             BufWinLeave             BufWipeout              BufWrite                BufWriteCmd             BufWritePost           Executing Test_complete_no_undo()=UndoComplete()
xxx

aaa

yyy

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   test_tabpage.vimtest_tagcase.vimtest_tagjump.vimtest_timers.vimtest_true_false.vimtest_unlet.vimsource test_window_cmd.vimsource test_options.vime hereTest3: text with a (parenthesis here

test_alot.vim                                                                   January        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       1 change; before #2  0 seconds ago=UndoComplete()

bbb

yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December       -- INSERT --January        1 change; before #4  0 seconds ago=UndoComplete()


yyy~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

source test_tab

source test_tagJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

Octobere        

November       

December           
January



~              

~              

~              

~              

~              

~              

~              

~              February       

March          

April          

May            

June           

July           

August         

September      -- INSERT --January        1 change; before #5  0 seconds ago


Executing Test_completefunc_opens_new_window_one()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_opens_new_window_two()


search hit BOTTOM, continuing at TOPExecuting Test_completefunc_with_scratch_buffer()January        

February

March     

April   

May      January        

February       info2-1

2-2

2-3



February

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               source test_tabpage.vim

source test_tagcase.vim

source test_tagjump.vim

source test_timers.vim

source test_true_false.vim

source test_unlet.vim

source test_window_cmd.vim

source test_options.vim

new line here

Test3: text with a (parenthesis hereJanuary        

February       

March          

April          

May            



[Scratch]                                                                       test_alot.vim                                                                   [Scratch] [Preview]                                                             [Scratch]                                                                       
March~              

~              

~              

~              

~              January        

February       

March          

April          

May            3

3

3[Scratch]                                                                        [Scratch]                                                                       February       

March          
April

~              

~              

~              

~              

~              January        

February       

March          

April          

May            4

4

4[Scratch]                                                                        [Scratch]                                                                       March          

April          Executing Test_completefunc_works()


search hit BOTTOM, continuing at TOPthreedef       

threeDEF       threedef       

threeDEF       
threeDEF

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~              

~              

~              

~              

~              threedef       

threeDEF       Executing Test_completion_ctrl_e_without_autowrap()Executing Test_cos()


Executing Test_cosh()


Executing Test_cursorhold_insert()[?12l[?25h[?25lExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25lExecuting Test_cursorline_keep_col()


Executing Test_curswant_with_autocommand()

Executing Test_cycle_partial_job()


Executing Test_cyclic_dict_arg()


Executing Test_cyclic_list_arg()


Executing Test_delete_myself()[?12l[?25h


[?25lExecuting Test_dict()


Executing Test_dictionary()


Executing Test_dir_delete()


Executing Test_early_bar()


Executing Test_empty_buffer()


Executing Test_empty_doau()


No matching autocommands


Executing Test_equal()


Executing Test_ex_undo()
"ex-undo" [New File]

1 line less; before #3  0 seconds ago


1 line less; after #1  0 seconds ago


2 fewer lines; before #1  0 seconds ago


Executing Test_execute_list()


Executing Test_execute_string()


this


theend


something


Executing Test_existing()


Executing Test_exp()


Executing Test_expand()


Executing Test_feedkeys_x_with_empty_string()Executing Test_file_delete()
"Xfile" [New File][New] 2L, 4C written


Executing Test_file_perm()


Executing Test_fileformat_after_bw()
"a.txt" [New File]ex-undo" [New File]


Executing Test_filetype_valid()


Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File]ex-undo" [New File]

Executing Test_filter_cmd_completion():filter ^I"=execute('let cmdline = getcmdline()')
:filter ^I:filter pat^I"=execute('let cmdline = getcmdline()')
:filter pat^I:filter /pat^I"=execute('let cmdline = getcmdline()')
:filter /pat^I:filter /pat/^I"=execute('let cmdline = getcmdline()')
:filter /pat/^I:filter pat pri...nt"=execute('let cmdline = getcmdline()')
:filter pat print:filter /pat/ pri...nt"=execute('let cmdline = getcmdline()')
:filter /pat/ print:filter #pat# pri...nt"=execute('let cmdline = getcmdline()')
:filter #pat# printExecuting Test_filter_fails()


Executing Test_filter_map_dict_expr_funcref()


Executing Test_filter_map_dict_expr_string()


Executing Test_filter_map_list_expr_funcref()


Executing Test_filter_map_list_expr_string()


Executing Test_floor()


Executing Test_fmod()


Executing Test_fnamemodify()
"test_alot.vim" 48L, 1233C


Executing Test_func_unref()


Executing Test_funcref()


0

Executing Test_function_in_dict()


Executing Test_function_with_funcref()


Executing Test_gD()


Executing Test_gD_char()


Executing Test_gD_comment()


Executing Test_gD_inline_comment()


Executing Test_gD_string()


Executing Test_gD_string_same_line()


Executing Test_gD_too()


Executing Test_gd()


Executing Test_gd_comment()


Executing Test_gd_comment_in_string()


Executing Test_gd_inline_comment()


Executing Test_gd_inline_comment_body()


Executing Test_gd_inline_comment_only()


Executing Test_gd_kr_style()


Executing Test_gd_missing_braces()


Executing Test_gd_not_local()


Executing Test_gd_string()


Executing Test_gd_string_in_comment()


Executing Test_gd_string_only()


Executing Test_gd_trailing_comment()


Executing Test_gd_trailing_multiline_comment()


Executing Test_get_partial_items()


Executing Test_getreg_empty_list()


Executing Test_global_local_lispwords()


Executing Test_help_complete()


Executing Test_help_respect_current_file_lang()
"testdoc.abx" [readonly] 2L, 25Cja[readonly] 2L, 25Cline 1 of 2 --50%-- col 2-9txt[readonly] 2L, 25C
Executing Test_help_tagjump()"help.txt" [readonly] 225L, 8437C
"options.txt" [readonly] 8739L, 370255Cline 7652 of 8739 --87%-- col 7-49
"eval.txt" [readonly][converted] 10613L, 408230C line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1320 of 8739 --15%-- col 4-25
"cmdline[readonly] 1147L, 46822C


Executing Test_if()


Executing Test_info()


Executing Test_invalid()


Executing Test_invalid_submatch()


Executing Test_isnan()


Executing Test_join_with_count()


Executing Test_keymap_valid()


Executing Test_keyword_jump()
"Xtestfile" 9L, 141C


Executing Test_lambda_call_lambda_from_lambda()


Executing Test_lambda_capture_by_reference()


Executing Test_lambda_circular_reference()


Executing Test_lambda_closure_counter()


Executing Test_lambda_combination()


Executing Test_lambda_delfunc()


Executing Test_lambda_do_not_share_local_variable()


Executing Test_lambda_fails()


Executing Test_lambda_feature()


Executing Test_lambda_refer_local_variable_from_other_scope()


Executing Test_lambda_scope()


Executing Test_lambda_share_scope()


Executing Test_lambda_side_effect()


Executing Test_lambda_with_a_var()


Executing Test_lambda_with_filter()


Executing Test_lambda_with_map()


Executing Test_lambda_with_partial()


Executing Test_lambda_with_sort()


Executing Test_lambda_with_timer()[?12l[?25h


[?25l1[?12l[?25h

[?25l2[?12l[?25h

[?25l3[?12l[?25h

[?25l4[?12l[?25h

[?25l5[?12l[?25h

[?25l6[?12l[?25h

[?25l7[?12l[?25h

[?25l8[?12l[?25h

[?25lExecuting Test_load_menu()


Executing Test_log()


Executing Test_log10()


Executing Test_loop_over_null_list()


Executing Test_map_ctrl_c_insert()Executing Test_map_ctrl_c_visual():'<,'>$put ='vmap works'


Executing Test_map_cursor()1 line less; before #8  0 seconds ago


Executing Test_map_feedkeys():call feedkeys(".", "in")
:call feedkeys(".", "in")
Executing Test_map_langmap():call append(line('$'), '+')


Executing Test_map_meta_quotes()Executing Test_match()


abcdefghijklmnopq

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   abcdΣabcdef

TEST2: CTRL-C |<ctrl-c>A|

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos()12345

NP

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   12345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   012345 

NP 

vmap works 

 

Test1: text with a (here some more text) 

Test1: text with a (here some more text) 

 

 

Test2: text wit a (here some more text [und undo]) 

fooc d 

fooc d 

+ 

+ 

bbbb 

bbbb 

cccc 

bbbb 

+ 

-foo- 

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   1234567890

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchaddpos_using_negative_priority()x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

NH

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                               [No Name] [+]                                                                   Executing Test_matchstrpos()


Executing Test_max_min_errors()


Executing Test_messages()


hello0x

-1 match priority

vmap works    hello1234567898


hello9xhello9
Executing Test_missing_attr()


Executing Test_move_cursor()


Executing Test_named_function_closure()


Executing Test_no_type_checking()


Executing Test_noinsert_complete()=s:complTest1()
~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               [No Name]                                                                       x

-1 match priority

vmap worksTest1: text with a (here some more text)

Test1: text with a (here some more text)Test2: text wit a (here some more text [und undo])fooc d[No Name]                                                                        source         

soundfold      ndfold=s:complTest2()


~              

~              source         

soundfold      Executing Test_non_zero_arg()


Executing Test_not_existing()


Executing Test_not_lamda()


Executing Test_omnifunc_with_check()


search hit BOTTOM, continuing at TOPfour1

~                                                                               ~                                                                               ~                                                                               [+]four1          

four2          2

~              

~              four1          

four2          four1          

four2          

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          search hit BOTTOM, continuing at TOP1

~              

~              

~              

~              

~              

~              four1          

four2          2

~              

~              four1          

four2          four1          

four2          3

~              

~              four1          

four2          

four3          

four4          four3          

four4          

four5          

four6          4

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          5

~              

~              

~              

~              

~              

~              four1          

four2          

four3          

four4          

four5          

four6          four4          

four5          Executing Test_oneshot()[?12l[?25h


[?25lExecuting Test_option_value()


Executing Test_options()
"option-window" [New File]


Executing Test_partial_args()


Executing Test_partial_dict()


Executing Test_partial_exists()


Executing Test_partial_implicit()


Executing Test_partial_string()


Executing Test_path_keep_commas()


Executing Test_paused()[?12l[?25h


[?25lExecuting Test_popup_complete()=ListMonths()

June

~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               ~                                                                               June           

July           -- INSERT --June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       



February       

March          





March          

April          April          

May            May            

June           June           

July           July           

August         =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           =ListMonths()


~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()

June~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJune           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()
ne

~              

~              June           

July           ~              

~              June           

July           -- INSERT --June           

Julyly

~              

~              July           
July           =ListMonths()
ne

~              
June           

July           ~              

~              June           

July           -- INSERT --June           

July=ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December        
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July           =ListMonths()

January

~              

~              

~              January        

June           

July           
June~              

~              

~              January        

June           

July           -- INSERT --January        

June           ly

~              

~              

~              January        

June           

July           June           

July           
J~              

~              

~              January        

June           

July           
July                 
January

~              

~              

~              January        

June           

July           January        =ListMonths()


~              

~              

~              January        

June           

July           =ListMonths()

June~              

~              

~              June           

July           =ListMonths()

January

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       



February       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        November       November       

December       December       October        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       
Nov

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November         
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October        =ListMonths()

January~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        December       November       

December       October        

November       September      

October        =ListMonths()
=ListMonths()
December2015

December~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xDecember       =ListMonths()

March~                                                                               ~              March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()
March~              
March          

May            y~              

~              March          

May            -- INSERT --March          

May              rch

~              

~              March          

May            March          

May            =ListMonths()

March

~                                                                               ~              

~              March          

May            =ListMonths()
M~              
March          

May            =ListMonths()
M~              
March          

May            Executing Test_popup_complete2()=ListMonths()
Executing Test_popup_completion_insertmode()=ListMonths()
~                                                                               ~                                                                               ~              

~                  January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        

February       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       
February

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        -- INSERT --January        

February       
March~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        February       

March          
April

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        March          

April          
May~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        April          

May             
June

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        May            

June           ly

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        June           

July             
August

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        July           

August            
September

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        August         

September      
October~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        September      

October         
November

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        
October        

November       
Dec

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November       

December       
~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        =ListMonths()


~              

~              

~              

~              

~              

~              

~              

~              

~              

~              

[No Name] [+]  

xJanuary        

February       

March          

April          

May            

June           

July           

August         

September      

October        

November]       

December       -- INSERT --January        
December

~              

~              

~              

~              

~              

~              

~              

~              

~              

~              January        

February       

March          

April          

May            

June           

July           

August         

September      

October        



December       Executing Test_pow()


Executing Test_printf_64bit()


Executing Test_printf_errors()


0

0

1

0

0

Executing Test_printf_float()


0.000000


Executing Test_printf_misc()


Executing Test_printf_spec_b()


Executing Test_printf_spec_s()


Executing Test_ptag_with_notagstack()


Executing Test_read_only()


Executing Test_recursive_delete()
"Xdir1/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written


Executing Test_redefine_dict_func()


Executing Test_ref_job_partial_dict()


Executing Test_reltime()[?12l[?25h


[?25lExecuting Test_repeat_many()[?12l[?25h


[?25lExecuting Test_repeat_three()[?12l[?25h


[?25lExecuting Test_retain_partial()[?12l[?25h


[?25lExecuting Test_round()


Executing Test_script_function_in_dict()


Executing Test_script_function_in_dict_arg()


Executing Test_searchpos()
"one" [New File]

Executing Test_set_add()


Executing Test_set_backslash()


Executing Test_set_reg_null_list()


Executing Test_set_tagcase()


Executing Test_setmatches()


Executing Test_signcolumn()


Executing Test_sin()


Executing Test_sinh()


Executing Test_sort_default()


Executing Test_sort_float()


Executing Test_sort_nested()


Executing Test_sort_numbers()


Executing Test_sort_numeric()


Executing Test_sort_strings()


Executing Test_special_char()


Executing Test_sqrt()


Executing Test_static_tagjump()
"Xfile1" [New File][New] 3L, 18C written


Executing Test_statusline_will_be_disabled_with_error()x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               ~                                                                                                                                                               Executing Test_stop_all_in_callback()[?12l[?25h


[?25lExecuting Test_stop_in_callback()[?12l[?25h


[?25lExecuting Test_stopall()


Executing Test_str2float()


Executing Test_str2nr()


Executing Test_strcharpart()


Executing Test_strgetchar()


Executing Test_substitute_expr()


Executing Test_substitute_expr_arg()


Executing Test_symlink_delete()
"Xfile" [New File][New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][New] 2L, 4C writtensubdir/Xfile" [New] 2L, 4C written
"Xdir4/Xfile" [New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=

[?25lExecuting Test_syntax_valid()


Executing Test_tabline_will_be_disabled_with_error()                                                                                x

-1 match priority

vmap works



Test1: text with a (here some more text)

Test1: text with a (here some more text)





Test2: text wit a (here some more text [und undo])

fooc d

fooc d

+

+

bbbb

bbbb

cccc

bbbb

+

-foo-

~                                                                               ~                                                                               [No Name]                                                                       Executing Test_tabnext_on_buf_unload1()


Executing Test_tabnext_on_buf_unload2()


"x" [Not edited] --No lines in buffer--
"y" [New File]

Executing Test_tabpage()
"Xtestfile" [New File]

2 fewer lines; before #1  0 seconds ago


Executing Test_tabpage_with_autocmd()


Executing Test_tabpage_with_tab_modifier()
"help.txt" [readonly] line 1 of 225 --0%-- col 1


"ex-undo" [New File]


Executing Test_tagcase()
"Xtext" [New File]

Executing Test_tan()


Executing Test_tanh()


Executing Test_thesaurus()


Executing Test_three_windows()
"Xtestje1" [New File][New] 1L, 8C written2" [New File][New] 1L, 8C written3" [New File][New] 1L, 8C written11L, 8C


"Xtestje3" 1L, 8C21L, 8C11L, 8C


"Xanother" [New File]
"Xtestje11L, 8C
"Xanother" [New File]


Already only one window
"help.txt" [readonly] 225L, 8437C


Executing Test_tostring()


Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=[?1l>[?1049l[?1049h[?1h=

[?25l"colored" [New File]


Executing Test_trunc()


Executing Test_valid()


Executing Test_version()


Executing Test_vim_did_enter()


Executing Test_whichwrap()


Executing Test_win_tab_autocmd()


"somefile" [New File]


Executing Test_window_cmd_cmdwin_with_vsp()


Executing Test_window_cmd_ls0_with_split()


Executing Test_window_cmd_wincmd_gf()
"test_gf.txt" 0L, 0C
W19: Deleting augroup that is still in use
Executing Test_with_directories()"Xdir1/file" [New File]

"Xdir1/file" [New] 2L, 4C written


"Xdir3/Xdir4/file" [New] 2L, 4C written2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File]Executing Test_with_partial_callback()[?12l[?25h[?25ltilde()rong_arguments()
"test_alot.res" [New File]

"test_alot.res" [New] 0L, 0C written
Executed 245 tests"messages" 584L, 15447C


"messages" 832L, 23479C written


[?1l>[?12l[?25h[?1049l

From test_arglist.vim:
Executing Test_argadd()
Executing Test_argc()
Executing Test_argdelete()
Executing Test_argedit()
Executing Test_argidx()
Executing Test_arglist_autocmd()
Executing Test_arglistid()
Executing Test_argpos()
Executing Test_argument()
Executing Test_argv()
Executing Test_zero_argadd()
Executed 11 tests

From test_assert.vim:
Executing Test_assert_equal()
Executing Test_assert_exception()
Executing Test_assert_fail_fails()
Executing Test_assert_false()
Executing Test_assert_inrange()
Executing Test_assert_notequal()
Executing Test_assert_true()
Executing Test_compare_fail()
Executing Test_match()
Executing Test_notmatch()
Executing Test_user_is_happy()
Executing Test_wrong_error_type()
Executed 12 tests

From test_autochdir.vim:
Executing Test_set_filename()
Executed 1 test

From test_backspace_opt.vim:
Executing Test_backspace_option()
Executed 1 test

From test_breakindent.vim:
Executing Test_breakindent01()
Executing Test_breakindent02()
Executing Test_breakindent03()
Executing Test_breakindent04()
Executing Test_breakindent05()
Executing Test_breakindent06()
Executing Test_breakindent07()
Executing Test_breakindent07a()
Executing Test_breakindent08()
Executing Test_breakindent08a()
Executing Test_breakindent09()
Executing Test_breakindent10()
Executing Test_breakindent11()
Executing Test_breakindent12()
Executing Test_breakindent13()
Executing Test_breakindent14()
Executing Test_breakindent15()
Executing Test_breakindent16()
Executed 18 tests

From test_bufwintabinfo.vim:
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
Executed 3 tests

From test_cdo.vim:
Executing Test_cdo()
Executing Test_ldo()
Executed 2 tests

From test_channel.vim:
Executed 0 test

From test_charsearch.vim:
Executing Test_charsearch()
Executing Test_search_cmds()
Executed 2 tests

From test_cmdline.vim:
Executing Test_complete_list()
Executing Test_complete_tab()
Executing Test_complete_wildmenu()
Executing Test_expand_star_star()
Executing Test_getcompletion()
Executing Test_illegal_address()
Executing Test_paste_in_cmdline()
Executing Test_remove_char_in_cmdline()
Executed 8 tests

From test_command_count.vim:
Executing Test_command_count_0()
Executing Test_command_count_1()
Executing Test_command_count_2()
Executing Test_command_count_3()
Executing Test_command_count_4()
Executed 5 tests

From test_crypt.vim:
Executing Test_crypt_blowfish()
Executing Test_crypt_blowfish2()
Executing Test_crypt_zip()
Executing Test_head_only_2()
Executing Test_head_only_3()
Executing Test_uncrypt_blowfish()
Executing Test_uncrypt_blowfish2()
Executing Test_uncrypt_zip()
Executed 8 tests

From test_cscope.vim:
Executed 0 test

From test_diffmode.vim:
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()
Executing Test_filler_lines()
Executing Test_setting_cursor()
Executing Test_vert_split()
Executed 6 tests

From test_digraph.vim:
Executing Test_digraph_cmndline()
Executing Test_digraphs()
Executing Test_digraphs_option()
Executing Test_digraphs_output()
Executing Test_loadkeymap()
Executed 5 tests

From test_display.vim:
Executing Test_display_foldcolumn()
Executed 1 test

From test_farsi.vim:
Executing Test_farsi_map()
Executing Test_farsi_toggle()
Executed 2 tests

From test_fnameescape.vim:
Executing Test_fnameescape()
Executed 1 test

From test_fold.vim:
Executing Test_address_fold()
Executing Test_indent_fold()
Executing Test_indent_fold2()
Executed 3 tests

From test_gf.vim:
Executing Test_gf_url()
Executed 1 test

From test_gn.vim:
Executing Test_gn_command()
Executed 1 test

From test_gui.vim:
Executed 0 test

From test_hardcopy.vim:
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()
Executed 4 tests

From test_hide.vim:
Executing Test_hide()
Executed 1 test

From test_history.vim:
Executing Test_History()
Executing Test_Search_history_window()
Executed 2 tests

From test_hlsearch.vim:
Executing Test_hlsearch()
Executed 1 test

From test_increment.vim:
Executing Test_normal_increment_01()
Executing Test_normal_increment_02()
Executing Test_normal_increment_03()
Executing Test_visual_increment_01()
Executing Test_visual_increment_02()
Executing Test_visual_increment_03()
Executing Test_visual_increment_04()
Executing Test_visual_increment_05()
Executing Test_visual_increment_06()
Executing Test_visual_increment_07()
Executing Test_visual_increment_08()
Executing Test_visual_increment_09()
Executing Test_visual_increment_10()
Executing Test_visual_increment_11()
Executing Test_visual_increment_12()
Executing Test_visual_increment_13()
Executing Test_visual_increment_14()
Executing Test_visual_increment_15()
Executing Test_visual_increment_16()
Executing Test_visual_increment_17()
Executing Test_visual_increment_18()
Executing Test_visual_increment_19()
Executing Test_visual_increment_20()
Executing Test_visual_increment_21()
Executing Test_visual_increment_22()
Executing Test_visual_increment_23()
Executing Test_visual_increment_24()
Executing Test_visual_increment_25()
Executing Test_visual_increment_26()
Executing Test_visual_increment_27()
Executing Test_visual_increment_28()
Executing Test_visual_increment_29()
Executing Test_visual_increment_30()
Executing Test_visual_increment_31()
Executing Test_visual_increment_32()
Executing Test_visual_increment_33()
Executing Test_visual_increment_34()
Executing Test_visual_increment_35()
Executing Test_visual_increment_36()
Executing Test_visual_increment_37()
Executing Test_visual_increment_38()
Executed 41 tests

From test_increment_dbcs.vim:
Executing Test_increment_dbcs_1()
Executed 1 test

From test_job_fails.vim:
Executing Test_job_start_fails()
Executed 1 test

From test_json.vim:
Executing Test_js_decode()
Executing Test_js_encode()
Executing Test_json_decode()
Executing Test_json_encode()
Executed 4 tests

From test_langmap.vim:
Executing Test_langmap()
Executed 1 test

From test_man.vim:
Executing Test_g_ft_man_open_mode()
Executing Test_nomodifiable()
Executed 2 tests

From test_marks.vim:
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()
Executed 2 tests

From test_matchadd_conceal.vim:
Executing Test_clearmatches()
Executing Test_default_conceal_char()
Executing Test_matchadd_and_conceallevel_3()
Executing Test_matchadd_and_syn_conceal()
Executing Test_matchadd_repeat_conceal_with_syntax_off()
Executing Test_simple_matchadd()
Executing Test_simple_matchadd_and_conceal()
Executing Test_syn_and_match_conceal()
Executing Test_using_matchaddpos()
Executed 9 tests

From test_mksession.vim:
Executing Test_mksession()
Executed 1 test

From test_mksession_utf8.vim:
Executing Test_mksession_utf8()
Executed 1 test

From test_nested_function.vim:
Executing Test_max_nesting()
Executing Test_nested_argument()
Executing Test_nested_functions()
Executed 3 tests

From test_netbeans.vim:
Executed 0 test

From test_normal.vim:
Executing Test_normal00_optrans()
Executing Test_normal01_keymodel()
Executing Test_normal02_selectmode()
Executing Test_normal02_selectmode2()
Executing Test_normal03_join()
Executing Test_normal04_filter()
Executing Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()
Executing Test_normal07_internalfmt()
Executing Test_normal08_fold()
Executing Test_normal09_operatorfunc()
Executing Test_normal09a_operatorfunc()
Executing Test_normal10_expand()
Executing Test_normal11_showcmd()
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
Executing Test_normal14_page()
Executing Test_normal14_page_eol()
Executing Test_normal15_z_scroll_vert()
Executing Test_normal16_z_scroll_hor()
Executing Test_normal17_z_scroll_hor2()
Executing Test_normal18_z_fold()
Executing Test_normal19_z_spell()
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
Executing Test_normal22_zet()
Executing Test_normal23_K()
Executing Test_normal24_rot13()
Executing Test_normal25_tag()
Executing Test_normal26_put()
Executing Test_normal27_bracket()
Executing Test_normal28_parenthesis()
Executing Test_normal29_brace()
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()
Executing Test_normal32_g_cmd1()
Executing Test_normal33_g_cmd2()
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
    Skipped
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()
Executing Test_normal40_ctrl_bsl()
Executing Test_normal41_insert_reg()
Executing Test_normal42_halfpage()
Executing Test_normal43_textobject1()
Executing Test_normal44_textobjects2()
Executing Test_normal45_drop()
Executing Test_normal46_ignore()
Executing Test_normal47_autocmd()
    Skipped
Executing Test_normal47_visual_buf_wipe()
Executing Test_normal48_wincmd()
Executing Test_normal49_counts()
Executing Test_normal50_commandline()
Executing Test_normal51_FileChangedRO()
Executing Test_normal52_rl()
Executing Test_normal53_digraph()
Executing Test_normal54_Ctrl_bsl()
Executed 61 tests
SKIPPED Test_normal35_g_cmd4(): output of g< can't be tested currently
SKIPPED Test_normal47_autocmd(): not possible to test cursorhold autocmd while waiting for input in normal_cmd

From test_packadd.vim:
Executing Test_colorscheme()
Executing Test_colorscheme_completion()
Executing Test_helptags()
Executing Test_packadd()
Executing Test_packadd_completion()
Executing Test_packadd_noload()
Executing Test_packloadall()
Executing Test_runtime()
Executed 8 tests

From test_perl.vim:
Executing Test_SvREFCNT()
Executing Test_VIM_package()
Executing Test_change_buffer()
Executing Test_evaluate_list()
Executing Test_perldo()
Executing Test_perleval()
Executing Test_stdio()
Executed 7 tests

From test_profile.vim:
Executing Test_profile_completion()
Executing Test_profile_errors()
Executing Test_profile_file()
Executing Test_profile_func()
Executed 4 tests

From test_quickfix.vim:
Executing Test_Autocmd()
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Executing Test_browse()
Executing Test_caddbuffer_to_empty()
Executing Test_caddbuffer_wrong()
Executing Test_caddexpr_wrong()
Executing Test_cage()
Executing Test_cbottom()
Executing Test_cbuffer()
Executing Test_cexpr()
Executing Test_cfile()
Executing Test_cgetexpr_works()
Executing Test_clist()
Executing Test_cwindow()
Executing Test_dirstack_cleanup()
Executing Test_duplicate_buf()
Executing Test_efm()
Executing Test_efm1()
Executing Test_efm2()
Executing Test_efm_dirstack()
Executing Test_efm_ignore_continuations()
Executing Test_errortitle()
Executing Test_grep()
Executing Test_helpgrep()
Executing Test_history()
Executing Test_invalid_efm()
Executing Test_locationlist()
Executing Test_locationlist_cross_tab_jump()
Executing Test_locationlist_curwin_was_closed()
Executing Test_long_lines()
Executing Test_nomem()
Executing Test_qf_property()
Executing Test_qf_title()
Executing Test_quickfix_set_list_with_act()
Executing Test_quickfix_was_changed_by_autocmd()
Executing Test_setqflist()
Executing Test_setqflist_empty_middle()
Executing Test_setqflist_empty_older()
Executing Test_switchbuf()
Executing Test_two_windows()
Executing Test_vimgreptitle()
Executed 42 tests

From test_ruby.vim:
Executing Test_ruby_change_buffer()
Executing Test_ruby_evaluate_dict()
Executing Test_ruby_evaluate_list()
Executed 3 tests

From test_search.vim:
Executing Test_search_cmdline()
Executing Test_search_cmdline2()
Executing Test_searchpair()
Executing Test_use_sub_pat()
Executed 4 tests

From test_signs.vim:
Executing Test_sign()
Executing Test_sign_completion()
Executing Test_sign_delete_buffer()
Executing Test_sign_invalid_commands()
Executing Test_sign_undefine_still_placed()
Executed 5 tests

From test_smartindent.vim:
Executing Test_nosmartindent()
Executed 1 test

From test_startup.vim:
Executing Test_after_comes_later()
Executing Test_compatible_args()
Executing Test_file_args()
Executing Test_help_arg()
Executing Test_read_stdin()
Executing Test_startup_script()
Executing Test_startuptime()
Executed 7 tests

From test_startup_utf8.vim:
Executing Test_read_fifo_utf8()
Executing Test_read_stdin_utf8()
Executed 2 tests

From test_stat.vim:
Executing Test_checktime()
Executing Test_existent_directory()
Executing Test_existent_file()
Executing Test_nonexistent_file()
Executing Test_win32_symlink_dir()
Executed 5 tests

From test_substitute.vim:
Executing Test_multiline_subst()
Executed 1 test

From test_syntax.vim:
Executing Test_syn_iskeyword()
Executing Test_syntax_after_reload()
Executing Test_syntax_completion()
Executing Test_syntax_list()
Executing Test_syntime()
Executed 5 tests

From test_system.vim:
Executing Test_System()
Executing Test_system_exmode()
Executed 2 tests

From test_textobjects.vim:
Executing Test_inner_block_with_cpo_M_left_backslash()
Executing Test_inner_block_with_cpo_M_right_backslash()
Executing Test_inner_block_without_cpo_M()
Executed 3 tests

From test_undo.vim:
Executing Test_U_command()
Executing Test_global_local_undolevels()
Executing Test_insert_expr()
Executing Test_undo_del_chars()
Executing Test_undo_write()
Executing Test_undofile_earlier()
Executing Test_undojoin()
Executing Test_undolist()
Executing Test_undotree()
Executed 9 tests

From test_usercommands.vim:
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
Executed 3 tests

From test_viminfo.vim:
Executing Test_cmdline_history()
Executing Test_cmdline_history_order()
Executing Test_global_vars()
Executing Test_viminfo_bad_syntax()
Executing Test_viminfo_encoding()
Executing Test_viminfo_file_mark_tabclose()
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
Executing Test_viminfo_jumplist()
Executing Test_viminfo_marks()
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
Executed 13 tests

From test_viml.vim:
Executing Test_arg_abort()
Executing Test_braces_skipped()
Executing Test_curlies()
Executing Test_defining_functions()
Executing Test_echo_and_string()
Executing Test_endwhile_function()
Executing Test_endwhile_script()
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
Executing Test_func_abort()
Executing Test_if_bar_fail()
Executing Test_if_fail()
Executing Test_if_while()
Executing Test_num64()
Executing Test_return()
Executing Test_script_lines()
Executing Test_skip()
Executing Test_type()
Executing Test_while_fail()
Executed 21 tests

From test_visual.vim:
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()
Executed 2 tests

From test_window_id.vim:
Executing Test_win_getid()
Executing Test_win_getid_curtab()
Executed 2 tests

From test_writefile.vim:
Executing Test_WriteFile()
Executed 1 test

From test_alot_latin.vim:
Executing Test_eow_with_optional()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_nested_backrefs()
Executing Test_recursive_substitute()
Executed 5 tests

From test_alot_utf8.vim:
Executing Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()
Executing Test_source_latin()
Executing Test_source_utf8()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executed 9 tests

From test_alot.vim:
Executing Test_BufEnter()
Executing Test_abbreviation()
Executing Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
Executing Test_augroup_warning()
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
Executing Test_autocmd_bufunload_avoiding_SEGV_02()
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
Executing Test_bind_in_python()
Executing Test_break_undo()
Executing Test_bufunload()
Executing Test_cancel_ptjump()
Executing Test_caught_error_in_statusline()
Executing Test_caught_error_in_tabline()
Executing Test_ceil()
Executing Test_closure_counter()
Executing Test_closure_refcount()
Executing Test_closure_unlet()
Executing Test_color_names()
Executing Test_compare_null_dict()
Executing Test_compare_partials()
Executing Test_compl_vim_cmds_after_register_expr()
Executing Test_complete_no_undo()
Executing Test_completefunc_opens_new_window_one()
Executing Test_completefunc_opens_new_window_two()
Executing Test_completefunc_with_scratch_buffer()
Executing Test_completefunc_works()
Executing Test_completion_ctrl_e_without_autowrap()
Executing Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()
Executing Test_cursorhold_insert_ctrl_x()
Executing Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()
Executing Test_cycle_partial_job()
Executing Test_cyclic_dict_arg()
Executing Test_cyclic_list_arg()
Executing Test_delete_myself()
Executing Test_dict()
Executing Test_dictionary()
Executing Test_dir_delete()
Executing Test_early_bar()
Executing Test_empty_buffer()
Executing Test_empty_doau()
Executing Test_equal()
Executing Test_ex_undo()
Executing Test_execute_list()
Executing Test_execute_string()
Executing Test_existing()
Executing Test_exp()
Executing Test_expand()
Executing Test_feedkeys_x_with_empty_string()
Executing Test_file_delete()
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
Executing Test_filetype_valid()
Executing Test_filter()
Executing Test_filter_cmd_completion()
Executing Test_filter_fails()
Executing Test_filter_map_dict_expr_funcref()
Executing Test_filter_map_dict_expr_string()
Executing Test_filter_map_list_expr_funcref()
Executing Test_filter_map_list_expr_string()
Executing Test_floor()
Executing Test_fmod()
Executing Test_fnamemodify()
Executing Test_func_unref()
Executing Test_funcref()
Executing Test_function_in_dict()
Executing Test_function_with_funcref()
Executing Test_gD()
Executing Test_gD_char()
Executing Test_gD_comment()
Executing Test_gD_inline_comment()
Executing Test_gD_string()
Executing Test_gD_string_same_line()
Executing Test_gD_too()
Executing Test_gd()
Executing Test_gd_comment()
Executing Test_gd_comment_in_string()
Executing Test_gd_inline_comment()
Executing Test_gd_inline_comment_body()
Executing Test_gd_inline_comment_only()
Executing Test_gd_kr_style()
Executing Test_gd_missing_braces()
Executing Test_gd_not_local()
Executing Test_gd_string()
Executing Test_gd_string_in_comment()
Executing Test_gd_string_only()
Executing Test_gd_trailing_comment()
Executing Test_gd_trailing_multiline_comment()
Executing Test_get_partial_items()
Executing Test_getreg_empty_list()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
Executing Test_help_tagjump()
Executing Test_if()
Executing Test_info()
Executing Test_invalid()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
Executing Test_lambda_call_lambda_from_lambda()
Executing Test_lambda_capture_by_reference()
Executing Test_lambda_circular_reference()
Executing Test_lambda_closure_counter()
Executing Test_lambda_combination()
Executing Test_lambda_delfunc()
Executing Test_lambda_do_not_share_local_variable()
Executing Test_lambda_fails()
Executing Test_lambda_feature()
Executing Test_lambda_refer_local_variable_from_other_scope()
Executing Test_lambda_scope()
Executing Test_lambda_share_scope()
Executing Test_lambda_side_effect()
Executing Test_lambda_with_a_var()
Executing Test_lambda_with_filter()
Executing Test_lambda_with_map()
Executing Test_lambda_with_partial()
Executing Test_lambda_with_sort()
Executing Test_lambda_with_timer()
Executing Test_load_menu()
Executing Test_log()
Executing Test_log10()
Executing Test_loop_over_null_list()
Executing Test_map_ctrl_c_insert()
Executing Test_map_ctrl_c_visual()
Executing Test_map_cursor()
Executing Test_map_feedkeys()
Executing Test_map_langmap()
Executing Test_map_meta_quotes()
Executing Test_match()
Executing Test_matchaddpos()
Executing Test_matchaddpos_using_negative_priority()
Executing Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
Executing Test_missing_attr()
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()
Executing Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
Executing Test_oneshot()
Executing Test_option_value()
Executing Test_options()
Executing Test_partial_args()
Executing Test_partial_dict()
Executing Test_partial_exists()
Executing Test_partial_implicit()
Executing Test_partial_string()
Executing Test_path_keep_commas()
Executing Test_paused()
Executing Test_popup_complete()
Executing Test_popup_complete2()
Executing Test_popup_completion_insertmode()
Executing Test_pow()
Executing Test_printf_64bit()
Executing Test_printf_errors()
Executing Test_printf_float()
Executing Test_printf_misc()
Executing Test_printf_spec_b()
Executing Test_printf_spec_s()
Executing Test_ptag_with_notagstack()
Executing Test_read_only()
Executing Test_recursive_delete()
Executing Test_redefine_dict_func()
Executing Test_ref_job_partial_dict()
Executing Test_reltime()
Executing Test_repeat_many()
Executing Test_repeat_three()
Executing Test_retain_partial()
Executing Test_round()
Executing Test_script_function_in_dict()
Executing Test_script_function_in_dict_arg()
Executing Test_searchpos()
Executing Test_set_add()
Executing Test_set_backslash()
Executing Test_set_reg_null_list()
Executing Test_set_tagcase()
Executing Test_setmatches()
Executing Test_signcolumn()
Executing Test_sin()
Executing Test_sinh()
Executing Test_sort_default()
Executing Test_sort_float()
Executing Test_sort_nested()
Executing Test_sort_numbers()
Executing Test_sort_numeric()
Executing Test_sort_strings()
Executing Test_special_char()
Executing Test_sqrt()
Executing Test_static_tagjump()
Executing Test_statusline_will_be_disabled_with_error()
Executing Test_stop_all_in_callback()
Executing Test_stop_in_callback()
Executing Test_stopall()
Executing Test_str2float()
Executing Test_str2nr()
Executing Test_strcharpart()
Executing Test_strgetchar()
Executing Test_substitute_expr()
Executing Test_substitute_expr_arg()
Executing Test_symlink_delete()
Executing Test_symlink_dir_delete()
Executing Test_symlink_recursive_delete()
Executing Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()
Executing Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
Executing Test_tabpage()
Executing Test_tabpage_with_autocmd()
Executing Test_tabpage_with_tab_modifier()
Executing Test_tagcase()
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
Executing Test_tostring()
Executing Test_true_false_arg()
Executing Test_trunc()
Executing Test_valid()
Executing Test_version()
Executing Test_vim_did_enter()
Executing Test_whichwrap()
Executing Test_win_tab_autocmd()
Executing Test_window_cmd_cmdwin_with_vsp()
Executing Test_window_cmd_ls0_with_split()
Executing Test_window_cmd_wincmd_gf()
Executing Test_with_directories()
Executing Test_with_partial_callback()
Executing Test_with_tilde()
Executing Test_wrong_arguments()
Executed 245 tests

Test results:
ALL DONE
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox/testdir'
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/json_test.o json_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o json_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o  objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/memfile.o objects/message.o objects/json_test.o        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./json_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/memfile_test.o memfile_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o memfile_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o  objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/message.o objects/memfile_test.o        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./memfile_test || exit 1; echo  passed;
passed
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/message_test.o message_test.c
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        version.c -o objects/version.o
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly.
  gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 	-o message_test objects/arabic.o objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/dict.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/evalfunc.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/farsi.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o  objects/if_cscope.o objects/if_xcmdsrv.o objects/list.o objects/mark.o objects/memline.o objects/menu.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/spellfile.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/userfunc.o objects/version.o objects/window.o  objects/if_lua.o  objects/if_perl.o objects/if_perlsfio.o  objects/if_python3.o objects/if_tcl.o objects/if_ruby.o   objects/netbeans.o objects/channel.o  objects/json.o objects/memfile.o objects/message_test.o        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/arm-linux-gnueabihf -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm     
link.sh: Linked fine
./message_test || exit 1; echo  passed;
passed
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-nox'
touch build-stamp-vim-nox
dh_testdir
touch build-stamp-arch
rm configure-stamp-vim-basic configure-stamp-vim-tiny configure-stamp-vim-nox configure-stamp-vim-gtk3 configure-stamp-vim-athena configure-stamp-vim-gtk
 fakeroot debian/rules binary-arch
dh_testdir
dh_testdir
dh_testroot
dh_testdir
/usr/bin/make -C src/vim-basic STRIP=: DESTDIR=/<<PKGBUILDDIR>>/debian/xxd installtools install-tool-languages
dh_testroot
dh_testdir
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-basic'
/bin/sh ./mkinstalldirs /<<PKGBUILDDIR>>/debian/xxd/usr
mkdir /<<PKGBUILDDIR>>/debian/xxd
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr
chmod 755 /<<PKGBUILDDIR>>/debian/xxd/usr
/bin/sh ./mkinstalldirs /<<PKGBUILDDIR>>/debian/xxd/usr/bin
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/bin
chmod 755 /<<PKGBUILDDIR>>/debian/xxd/usr/bin
/bin/sh ./mkinstalldirs /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim
chmod 755 /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim
/bin/sh ./mkinstalldirs /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80
chmod 755 /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80
/bin/sh ./mkinstalldirs /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools
chmod 755 /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr/man1 "-fr" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.ISO8859-1/man1 "-fr" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.ISO8859-1/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.ISO8859-1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.ISO8859-1/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.ISO8859-1/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.UTF-8/man1 "-fr.UTF-8" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.UTF-8/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.UTF-8
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.UTF-8/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/fr.UTF-8/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it/man1 "-it" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.ISO8859-1/man1 "-it" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.ISO8859-1/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.ISO8859-1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.ISO8859-1/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.ISO8859-1/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.UTF-8/man1 "-it.UTF-8" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.UTF-8/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.UTF-8
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.UTF-8/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/it.UTF-8/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ja/man1 "-ja.UTF-8" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ja/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ja
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ja/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ja/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl/man1 "-pl" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.ISO8859-2/man1 "-pl" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.ISO8859-2/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.ISO8859-2
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.ISO8859-2/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.ISO8859-2/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.UTF-8/man1 "-pl.UTF-8" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.UTF-8/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.UTF-8
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.UTF-8/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/pl.UTF-8/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.KOI8-R/man1 "-ru" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.KOI8-R/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.KOI8-R
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.KOI8-R/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.KOI8-R/man1/xxd.1
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.UTF-8/man1 "-ru.UTF-8" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.UTF-8/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.UTF-8
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.UTF-8/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/ru.UTF-8/man1/xxd.1
if test -f /<<PKGBUILDDIR>>/debian/xxd/usr/bin/xxd; then \
  mv -f /<<PKGBUILDDIR>>/debian/xxd/usr/bin/xxd /<<PKGBUILDDIR>>/debian/xxd/usr/bin/xxd.rm; \
  rm -f /<<PKGBUILDDIR>>/debian/xxd/usr/bin/xxd.rm; \
fi
make[1]: 'install-tool-languages' is up to date.
dh_testroot
cp xxd/xxd /<<PKGBUILDDIR>>/debian/xxd/usr/bin
*** DEBIAN *** INSTALLING VARIANT vim-tiny
dh_installdirs
: /<<PKGBUILDDIR>>/debian/xxd/usr/bin/xxd
chmod 755 /<<PKGBUILDDIR>>/debian/xxd/usr/bin/xxd
/bin/sh ./installman.sh xxd /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/man1 "" /usr/share/vim /usr/share/vim/vim80 /usr/share/vim ../runtime/doc 644 vim vimdiff evim
creating /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/man1
mkdir /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/man1
installing /<<PKGBUILDDIR>>/debian/xxd/usr/share/man/man1/xxd.1
cp -r ../runtime/tools/* /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools
cvs=`find /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools \( -name CVS -o -name AAPDIR \) -print`; \
      if test -n "$cvs"; then \
	 rm -rf $cvs; \
      fi
chmod 644 /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools/*
perlpath=`./which.sh perl` && sed -e "s+/usr/bin/perl+$perlpath+" ../runtime/tools/efm_perl.pl >/<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools/efm_perl.pl
awkpath=`./which.sh nawk` && sed -e "s+/usr/bin/nawk+$awkpath+" ../runtime/tools/mve.awk >/<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools/mve.awk; if test -z "$awkpath"; then \
	awkpath=`./which.sh gawk` && sed -e "s+/usr/bin/nawk+$awkpath+" ../runtime/tools/mve.awk >/<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools/mve.awk; if test -z "$awkpath"; then \
	awkpath=`./which.sh awk` && sed -e "s+/usr/bin/nawk+$awkpath+" ../runtime/tools/mve.awk >/<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools/mve.awk; fi; fi
chmod 755 `grep -l "^#!" /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim/vim80/tools/*`
*** DEBIAN *** INSTALLING VARIANT vim-gtk
dh_installdirs
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-basic'
rm -r /<<PKGBUILDDIR>>/debian/xxd/usr/share/vim
for L in fr it pl ru ja; do if [ -d "/<<PKGBUILDDIR>>/debian/xxd/usr/share/man/$L.UTF-8" ]; then rm -rf "/<<PKGBUILDDIR>>/debian/xxd/usr/share/man/$L"; mv "/<<PKGBUILDDIR>>/debian/xxd/usr/share/man/$L.UTF-8" "/<<PKGBUILDDIR>>/debian/xxd/usr/share/man/$L"; fi; rm -rf "/<<PKGBUILDDIR>>/debian/xxd/usr/share/man/$L."*; done
dh_installchangelogs
dh_testroot
cp src/vim-tiny/vim src/vim-tiny/vim.tiny
# variant-related installations
for x in install postinst prerm links lintian-overrides ; do \
  case "vim-tiny" in \
    vim-nox|vim|vim-tiny) \
      sed -e "s:@PKG@:vim-tiny:" -e "s:@VARIANT@:tiny:g" \
          -e "s:@COMMON@:vim-common:" \
          debian/vim-variant.$x > debian/vim-tiny.$x ;\
      ;; \
    *) \
      sed -e "s:@PKG@:vim-tiny:" -e "s:@VARIANT@:tiny:g" \
          -e "s:@COMMON@:vim-gui-common:" \
          debian/vim-variant.$x > debian/vim-tiny.$x ;\
      ;; \
  esac \
done
for L in fr it pl ru ja; do \
  sed -e "s:\(.*\)@LANG_ALTS@:\1--slave \$mandir/$L/man1/\$i.1.gz \$i.$L.1.gz \$mandir/$L/man1/vim.1.gz \\\\\n&:" \
      -i debian/vim-tiny.postinst; \
done
*** DEBIAN *** INSTALLING VARIANT vim-gtk3
dh_installdirs
cp src/vim-gtk/vim src/vim-gtk/vim.gtk
sed -i "/@LANG_ALTS@/d" debian/vim-tiny.postinst
# fake help installation for vim-tiny
if [ "vim-tiny" = "vim-tiny" ]; then \
  /usr/bin/make -f debian/rules debian/tiny/vimrc.tiny; \
  echo "debian/tiny/doc/	usr/share/vim/vim80" >> debian/vim-tiny.install; \
  echo "debian/tiny/vimrc.tiny	etc/vim" >> debian/vim-tiny.install; \
  echo "etc/vim/vimrc.tiny	usr/share/vim/vimrc.tiny" >> debian/vim-tiny.links; \
fi
# variant-related installations
for x in install postinst prerm links lintian-overrides ; do \
  case "vim-gtk" in \
    vim-nox|vim|vim-tiny) \
      sed -e "s:@PKG@:vim-gtk:" -e "s:@VARIANT@:gtk:g" \
          -e "s:@COMMON@:vim-common:" \
          debian/vim-variant.$x > debian/vim-gtk.$x ;\
      ;; \
    *) \
      sed -e "s:@PKG@:vim-gtk:" -e "s:@VARIANT@:gtk:g" \
          -e "s:@COMMON@:vim-gui-common:" \
          debian/vim-variant.$x > debian/vim-gtk.$x ;\
      ;; \
  esac \
done
make[1]: Entering directory '/<<PKGBUILDDIR>>'
for L in fr it pl ru ja; do \
  sed -e "s:\(.*\)@LANG_ALTS@:\1--slave \$mandir/$L/man1/\$i.1.gz \$i.$L.1.gz \$mandir/$L/man1/vim.1.gz \\\\\n&:" \
      -i debian/vim-gtk.postinst; \
done
sed -i "/@LANG_ALTS@/d" debian/vim-gtk.postinst
# fake help installation for vim-tiny
if [ "vim-gtk" = "vim-tiny" ]; then \
  /usr/bin/make -f debian/rules debian/tiny/vimrc.tiny; \
  echo "debian/tiny/doc/	usr/share/vim/vim80" >> debian/vim-tiny.install; \
  echo "debian/tiny/vimrc.tiny	etc/vim" >> debian/vim-tiny.install; \
  echo "etc/vim/vimrc.tiny	usr/share/vim/vimrc.tiny" >> debian/vim-tiny.links; \
fi
dh_install
cp src/vim-gtk3/vim src/vim-gtk3/vim.gtk3
# variant-related installations
for x in install postinst prerm links lintian-overrides ; do \
  case "vim-gtk3" in \
    vim-nox|vim|vim-tiny) \
      sed -e "s:@PKG@:vim-gtk3:" -e "s:@VARIANT@:gtk3:g" \
          -e "s:@COMMON@:vim-common:" \
          debian/vim-variant.$x > debian/vim-gtk3.$x ;\
      ;; \
    *) \
      sed -e "s:@PKG@:vim-gtk3:" -e "s:@VARIANT@:gtk3:g" \
          -e "s:@COMMON@:vim-gui-common:" \
          debian/vim-variant.$x > debian/vim-gtk3.$x ;\
      ;; \
  esac \
done
for L in fr it pl ru ja; do \
  sed -e "s:\(.*\)@LANG_ALTS@:\1--slave \$mandir/$L/man1/\$i.1.gz \$i.$L.1.gz \$mandir/$L/man1/vim.1.gz \\\\\n&:" \
      -i debian/vim-gtk3.postinst; \
done
sed -i "/@LANG_ALTS@/d" debian/vim-gtk3.postinst
# fake help installation for vim-tiny
if [ "vim-gtk3" = "vim-tiny" ]; then \
  /usr/bin/make -f debian/rules debian/tiny/vimrc.tiny; \
  echo "debian/tiny/doc/	usr/share/vim/vim80" >> debian/vim-tiny.install; \
  echo "debian/tiny/vimrc.tiny	etc/vim" >> debian/vim-tiny.install; \
  echo "etc/vim/vimrc.tiny	usr/share/vim/vimrc.tiny" >> debian/vim-tiny.links; \
fi
dh_install
dh_link
dh_link
dh_installdocs
dh_bugfiles -A
touch install-stamp-xxd
dh_testdir
dh_bugfiles -A
touch install-stamp-vim-gtk
dh_testdir
cat debian/tiny/vimrc.tiny.in | sed 's/@VIMCUR@/vim80/' > debian/tiny/vimrc.tiny
touch install-stamp-vim-gtk3
dh_testroot
dh_testdir
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_install
dh_testroot
*** DEBIAN *** INSTALLING VARIANT vim-athena
dh_installdirs
*** DEBIAN *** INSTALLING VARIANT vim-nox
dh_installdirs
dh_testroot
cp src/vim-athena/vim src/vim-athena/vim.athena
# variant-related installations
for x in install postinst prerm links lintian-overrides ; do \
  case "vim-athena" in \
    vim-nox|vim|vim-tiny) \
      sed -e "s:@PKG@:vim-athena:" -e "s:@VARIANT@:athena:g" \
          -e "s:@COMMON@:vim-common:" \
          debian/vim-variant.$x > debian/vim-athena.$x ;\
      ;; \
    *) \
      sed -e "s:@PKG@:vim-athena:" -e "s:@VARIANT@:athena:g" \
          -e "s:@COMMON@:vim-gui-common:" \
          debian/vim-variant.$x > debian/vim-athena.$x ;\
      ;; \
  esac \
done
for L in fr it pl ru ja; do \
  sed -e "s:\(.*\)@LANG_ALTS@:\1--slave \$mandir/$L/man1/\$i.1.gz \$i.$L.1.gz \$mandir/$L/man1/vim.1.gz \\\\\n&:" \
      -i debian/vim-athena.postinst; \
done
*** DEBIAN *** INSTALLING VARIANT vim-basic
dh_installdirs
sed -i "/@LANG_ALTS@/d" debian/vim-athena.postinst
cp src/vim-nox/vim src/vim-nox/vim.nox
# fake help installation for vim-tiny
if [ "vim-athena" = "vim-tiny" ]; then \
  /usr/bin/make -f debian/rules debian/tiny/vimrc.tiny; \
  echo "debian/tiny/doc/	usr/share/vim/vim80" >> debian/vim-tiny.install; \
  echo "debian/tiny/vimrc.tiny	etc/vim" >> debian/vim-tiny.install; \
  echo "etc/vim/vimrc.tiny	usr/share/vim/vimrc.tiny" >> debian/vim-tiny.links; \
fi
dh_install
dh_link
# variant-related installations
for x in install postinst prerm links lintian-overrides ; do \
  case "vim-nox" in \
    vim-nox|vim|vim-tiny) \
      sed -e "s:@PKG@:vim-nox:" -e "s:@VARIANT@:nox:g" \
          -e "s:@COMMON@:vim-common:" \
          debian/vim-variant.$x > debian/vim-nox.$x ;\
      ;; \
    *) \
      sed -e "s:@PKG@:vim-nox:" -e "s:@VARIANT@:nox:g" \
          -e "s:@COMMON@:vim-gui-common:" \
          debian/vim-variant.$x > debian/vim-nox.$x ;\
      ;; \
  esac \
done
for L in fr it pl ru ja; do \
  sed -e "s:\(.*\)@LANG_ALTS@:\1--slave \$mandir/$L/man1/\$i.1.gz \$i.$L.1.gz \$mandir/$L/man1/vim.1.gz \\\\\n&:" \
      -i debian/vim-nox.postinst; \
done
sed -i "/@LANG_ALTS@/d" debian/vim-nox.postinst
# fake help installation for vim-tiny
if [ "vim-nox" = "vim-tiny" ]; then \
  /usr/bin/make -f debian/rules debian/tiny/vimrc.tiny; \
  echo "debian/tiny/doc/	usr/share/vim/vim80" >> debian/vim-tiny.install; \
  echo "debian/tiny/vimrc.tiny	etc/vim" >> debian/vim-tiny.install; \
  echo "etc/vim/vimrc.tiny	usr/share/vim/vimrc.tiny" >> debian/vim-tiny.links; \
fi
dh_install
cp src/vim-basic/vim src/vim-basic/vim.basic
# variant-related installations
for x in install postinst prerm links lintian-overrides ; do \
  case "vim" in \
    vim-nox|vim|vim-tiny) \
      sed -e "s:@PKG@:vim:" -e "s:@VARIANT@:basic:g" \
          -e "s:@COMMON@:vim-common:" \
          debian/vim-variant.$x > debian/vim.$x ;\
      ;; \
    *) \
      sed -e "s:@PKG@:vim:" -e "s:@VARIANT@:basic:g" \
          -e "s:@COMMON@:vim-gui-common:" \
          debian/vim-variant.$x > debian/vim.$x ;\
      ;; \
  esac \
done
for L in fr it pl ru ja; do \
  sed -e "s:\(.*\)@LANG_ALTS@:\1--slave \$mandir/$L/man1/\$i.1.gz \$i.$L.1.gz \$mandir/$L/man1/vim.1.gz \\\\\n&:" \
      -i debian/vim.postinst; \
done
sed -i "/@LANG_ALTS@/d" debian/vim.postinst
# fake help installation for vim-tiny
if [ "vim" = "vim-tiny" ]; then \
  /usr/bin/make -f debian/rules debian/tiny/vimrc.tiny; \
  echo "debian/tiny/doc/	usr/share/vim/vim80" >> debian/vim-tiny.install; \
  echo "debian/tiny/vimrc.tiny	etc/vim" >> debian/vim-tiny.install; \
  echo "etc/vim/vimrc.tiny	usr/share/vim/vimrc.tiny" >> debian/vim-tiny.links; \
fi
dh_install
dh_bugfiles -A
dh_link
dh_link
touch install-stamp-vim-tiny
dh_testdir
dh_link
dh_bugfiles -A
dh_bugfiles -A
dh_testroot
touch install-stamp-vim-athena
touch install-stamp-vim-nox
dh_testdir
dh_bugfiles -A
dh_strip
dh_testdir
touch install-stamp-vim-basic
dh_compress
dh_testroot
dh_testdir
dh_fixperms
dh_strip --dbgsym-migration='vim-dbg (<< 2:7.4.1689-1~)'
dh_testroot
dh_strip --dbgsym-migration='vim-dbg (<< 2:7.4.1689-1~)'
dh_testroot
dh_strip --dbgsym-migration='vim-dbg (<< 2:7.4.1689-1~)'
dh_installdeb
dh_shlibdeps
dh_compress
dh_fixperms
dh_lintian
dh_installdeb
dh_shlibdeps
dh_compress
dh_compress
dh_fixperms
dh_gencontrol
dh_fixperms
dh_lintian
dh_lintian
dh_installdeb
dh_installdeb
dh_shlibdeps
dh_shlibdeps
dh_md5sums
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/vim-tiny/usr/bin/vim.tiny was not linked against ld-linux-armhf.so.3 (it uses none of the library's symbols)
dh_gencontrol -- -Vvim:Perl-Provides=vim-perl
dh_builddeb
dpkg-deb: building package 'xxd-dbgsym' in '../xxd-dbgsym_8.0.0197-5_armhf.deb'.
dpkg-deb: building package 'xxd' in '../xxd_8.0.0197-5_armhf.deb'.
dh_testdir
dh_testroot
dh_strip --dbgsym-migration='vim-dbg (<< 2:7.4.1689-1~)'
dh_md5sums
dh_builddeb -- -Zxz
dpkg-deb: building package 'vim-tiny-dbgsym' in '../vim-tiny-dbgsym_8.0.0197-5_armhf.deb'.
dpkg-deb: building package 'vim-tiny' in '../vim-tiny_8.0.0197-5_armhf.deb'.
dh_compress
dh_fixperms
dh_lintian
dh_installdeb
dh_testdir
dh_shlibdeps
dh_testroot
dh_strip --dbgsym-migration='vim-dbg (<< 2:7.4.1689-1~)'
dh_compress
dh_fixperms
dh_lintian
dh_installdeb
dh_shlibdeps
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/vim-gtk/usr/bin/vim.gtk was not linked against ld-linux-armhf.so.3 (it uses none of the library's symbols)
dh_gencontrol -- -Vvim:Perl-Provides=vim-perl
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/vim-gtk3/usr/bin/vim.gtk3 was not linked against ld-linux-armhf.so.3 (it uses none of the library's symbols)
dh_gencontrol -- -Vvim:Perl-Provides=vim-perl
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/vim-athena/usr/bin/vim.athena was not linked against ld-linux-armhf.so.3 (it uses none of the library's symbols)
dh_gencontrol -- -Vvim:Perl-Provides=vim-perl
dh_md5sums
dh_builddeb -- -Zxz
dpkg-deb: building package 'vim-gtk-dbgsym' in '../vim-gtk-dbgsym_8.0.0197-5_armhf.deb'.
dh_md5sums
dh_builddeb -- -Zxz
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/vim-nox/usr/bin/vim.nox was not linked against ld-linux-armhf.so.3 (it uses none of the library's symbols)
dpkg-deb: building package 'vim-gtk3-dbgsym' in '../vim-gtk3-dbgsym_8.0.0197-5_armhf.deb'.
dh_gencontrol -- -Vvim:Perl-Provides=vim-perl
dh_md5sums
dh_builddeb -- -Zxz
dpkg-deb: building package 'vim-athena-dbgsym' in '../vim-athena-dbgsym_8.0.0197-5_armhf.deb'.
dh_md5sums
dh_builddeb -- -Zxz
dpkg-deb: building package 'vim-nox-dbgsym' in '../vim-nox-dbgsym_8.0.0197-5_armhf.deb'.
dpkg-deb: building package 'vim-gtk' in '../vim-gtk_8.0.0197-5_armhf.deb'.
dpkg-deb: building package 'vim-gtk3' in '../vim-gtk3_8.0.0197-5_armhf.deb'.
dpkg-deb: building package 'vim-athena' in '../vim-athena_8.0.0197-5_armhf.deb'.
dpkg-deb: building package 'vim-nox' in '../vim-nox_8.0.0197-5_armhf.deb'.
dh_testdir
dh_testroot
dh_strip --dbgsym-migration='vim-dbg (<< 2:7.4.1689-1~)'
dh_compress
dh_fixperms
dh_lintian
dh_installdeb
dh_shlibdeps
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/vim/usr/bin/vim.basic was not linked against ld-linux-armhf.so.3 (it uses none of the library's symbols)
dh_gencontrol -- -Vvim:Perl-Provides=vim-perl
dh_md5sums
dh_builddeb -- -Zxz
dpkg-deb: building package 'vim-dbgsym' in '../vim-dbgsym_8.0.0197-5_armhf.deb'.
dpkg-deb: building package 'vim' in '../vim_8.0.0197-5_armhf.deb'.
 dpkg-genbuildinfo --build=any
 dpkg-genchanges --build=any -mRaspbian mythic lxc autobuilder 1 <root@raspbian.org> >../vim_8.0.0197-5_armhf.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
 dpkg-source --after-build vim-8.0.0197
dpkg-buildpackage: info: binary-only upload (no source included)
--------------------------------------------------------------------------------
Build finished at 2017-07-14T07:13:10Z

Finished
--------

I: Built successfully

+------------------------------------------------------------------------------+
| Post Build Chroot                                                            |
+------------------------------------------------------------------------------+


+------------------------------------------------------------------------------+
| Changes                                                                      |
+------------------------------------------------------------------------------+


vim_8.0.0197-5_armhf.changes:
-----------------------------

Format: 1.8
Date: Tue, 11 Jul 2017 23:11:25 -0400
Source: vim
Binary: vim-common vim-gui-common vim-runtime vim-doc vim-tiny vim vim-gtk vim-gtk3 vim-nox vim-athena vim-gnome xxd
Architecture: armhf
Version: 2:8.0.0197-5
Distribution: buster-staging
Urgency: high
Maintainer: Raspbian mythic lxc autobuilder 1 <root@raspbian.org>
Changed-By: James McCoy <jamessan@debian.org>
Description:
 vim        - Vi IMproved - enhanced vi editor
 vim-athena - Vi IMproved - enhanced vi editor - with Athena GUI
 vim-common - Vi IMproved - Common files
 vim-doc    - Vi IMproved - HTML documentation
 vim-gnome  - Vi IMproved - enhanced vi editor (dummy package)
 vim-gtk    - Vi IMproved - enhanced vi editor - with GTK2 GUI
 vim-gtk3   - Vi IMproved - enhanced vi editor - with GTK3 GUI
 vim-gui-common - Vi IMproved - Common GUI files
 vim-nox    - Vi IMproved - enhanced vi editor - with scripting languages suppo
 vim-runtime - Vi IMproved - Runtime files
 vim-tiny   - Vi IMproved - enhanced vi editor - compact version
 xxd        - tool to make (or reverse) a hex dump
Closes: 867720
Changes:
 vim (2:8.0.0197-5) unstable; urgency=high
 .
   * Backport upstream patches to fix CVE-2017-11109  (Closes: #867720)
     + 8.0.0703: Illegal memory access with empty :doau command
     + 8.0.0706: Crash when cancelling the cmdline window in Ex mode
     + 8.0.0707: Freeing wrong memory when manipulating buffers in autocommands
Checksums-Sha1:
 351ec5d449b12c1187a813ecb0a803682d52a292 3676328 vim-athena-dbgsym_8.0.0197-5_armhf.deb
 907529a3a8bc796f5524977937b80957e8ab5691 979532 vim-athena_8.0.0197-5_armhf.deb
 389d3b876270f04cae634084648f554931fbaf29 2817504 vim-dbgsym_8.0.0197-5_armhf.deb
 ce8d6870db5afaebfd952f04745663679e0b1ba2 4012086 vim-gtk-dbgsym_8.0.0197-5_armhf.deb
 12708a52e1e60a076dd5a2b23d18562d0caf988f 3843234 vim-gtk3-dbgsym_8.0.0197-5_armhf.deb
 b49a50bdc4d7d5f915e1c7608aa4a70e998bba09 996278 vim-gtk3_8.0.0197-5_armhf.deb
 f7c73378053817520e040dcbf3c94ea5cff50c36 995022 vim-gtk_8.0.0197-5_armhf.deb
 e48f3504c7fb232315cdc3d3d4e2e0c4bcd2d47f 3127304 vim-nox-dbgsym_8.0.0197-5_armhf.deb
 9759fbcafeca651379721f3cd90e65e0d7245546 893114 vim-nox_8.0.0197-5_armhf.deb
 3a7fb281351d2e06811d7e3e1d35ff4a4de7bd43 1094430 vim-tiny-dbgsym_8.0.0197-5_armhf.deb
 6aee9daed35bab9bafe255ef09156f729449eb11 337654 vim-tiny_8.0.0197-5_armhf.deb
 8fa1673dfd221f6daa82c4657428ea5eca4e4ec0 14547 vim_8.0.0197-5_armhf.buildinfo
 046c2b89b4dcf6f06eaef19ff1d4fbe2cf25c5c1 790458 vim_8.0.0197-5_armhf.deb
 9d9f5b3d068a0e954b444f6ed3c3625263873d19 10758 xxd-dbgsym_8.0.0197-5_armhf.deb
 c251566e9522796e47e2291b4e0eac93a2ad3247 130918 xxd_8.0.0197-5_armhf.deb
Checksums-Sha256:
 95043d755367d91b1e10e77eeee5b829d32cf184ddad63c917cb530d1f92baad 3676328 vim-athena-dbgsym_8.0.0197-5_armhf.deb
 9529d9d7c94f7c693ba836674da64cb22bf8c752c6e262f79ff9c992f5267450 979532 vim-athena_8.0.0197-5_armhf.deb
 198afe6633a21f1bb71d52be219883ab45244a551197be2c50af574cfd8366e7 2817504 vim-dbgsym_8.0.0197-5_armhf.deb
 ef846738cb3971ceaadc3dca2ac89373b78ef93b35c8b38575b9405dd3ae3220 4012086 vim-gtk-dbgsym_8.0.0197-5_armhf.deb
 7c588062772cad5fc79cdb4c287545aedf568d67faa1af3197dd9cb0e48da0ac 3843234 vim-gtk3-dbgsym_8.0.0197-5_armhf.deb
 57600c1247fc33b90bd0fff38da9e0cf162cc96dd113254d1b79c0e0e7a64927 996278 vim-gtk3_8.0.0197-5_armhf.deb
 b82635b55c6a4e5accf36ba180e891a0aa80e8671b340fc3165426f15f6b1aa9 995022 vim-gtk_8.0.0197-5_armhf.deb
 f2490dace7e32b163ea68847e448a374cb573c192243154ce3d440c9559589f3 3127304 vim-nox-dbgsym_8.0.0197-5_armhf.deb
 396ab92fe2144bfc6b4baafc0eebae43deb5953cfb2879823f06967c03c17a3f 893114 vim-nox_8.0.0197-5_armhf.deb
 d8bdae9c1a3a545f55736a87c574773e57107ef22590826fe99fb35fef3009b3 1094430 vim-tiny-dbgsym_8.0.0197-5_armhf.deb
 c0365b59c96c23db02f44208e6c2b111351beb3a2a155c3090e66f4e460c3c77 337654 vim-tiny_8.0.0197-5_armhf.deb
 6eeaba61d75ad22f73d8cdc88c2b16db84d5f0a98933bf169bd8f2f5bbe9f482 14547 vim_8.0.0197-5_armhf.buildinfo
 16b26bb387407e2a16b4f42a1a731f81c38b4fd4595c4c9101056cd9ffd55cc3 790458 vim_8.0.0197-5_armhf.deb
 cb051fb133ae454be37c85658dd75bc946b9a9e74e273f0c1a007b209921d8ab 10758 xxd-dbgsym_8.0.0197-5_armhf.deb
 d4ece889cb335c759bcd749b702bbd93ccc564bd2bf8ab173a5c9f38e3b5465a 130918 xxd_8.0.0197-5_armhf.deb
Files:
 5169c1bcb74c9410266b2bbff3d488cd 3676328 debug extra vim-athena-dbgsym_8.0.0197-5_armhf.deb
 72af29a1e44d08625978e395683eef85 979532 editors extra vim-athena_8.0.0197-5_armhf.deb
 88241dc8a1f130baf6d024ccde06de3d 2817504 debug extra vim-dbgsym_8.0.0197-5_armhf.deb
 c40d6dca3d46c992cf7c0579e83f14f0 4012086 debug extra vim-gtk-dbgsym_8.0.0197-5_armhf.deb
 113772b44b7a2b49b6c0574da1c84f39 3843234 debug extra vim-gtk3-dbgsym_8.0.0197-5_armhf.deb
 37fd66074cdca2d6116a2a165499bc4e 996278 editors extra vim-gtk3_8.0.0197-5_armhf.deb
 00b9fa387689382b9bc7562f5d6245bd 995022 editors extra vim-gtk_8.0.0197-5_armhf.deb
 14b65429dc95a52be557a7613e9aeec3 3127304 debug extra vim-nox-dbgsym_8.0.0197-5_armhf.deb
 c6ae62eb5f15ff9e522736cfb094fe73 893114 editors extra vim-nox_8.0.0197-5_armhf.deb
 6a9a8269e55022de8c84343a066da20e 1094430 debug extra vim-tiny-dbgsym_8.0.0197-5_armhf.deb
 1fe81756cbfbd6806e29f6a315fedc9d 337654 editors important vim-tiny_8.0.0197-5_armhf.deb
 54c510719fec997114fcb246cfe11f68 14547 editors optional vim_8.0.0197-5_armhf.buildinfo
 b52c5352209fcf518e2eebbc71d0e552 790458 editors optional vim_8.0.0197-5_armhf.deb
 8ab46975016ccdb034784632fe478ab9 10758 debug extra xxd-dbgsym_8.0.0197-5_armhf.deb
 dd7bf48c87645d9949c2c5aadc352437 130918 editors extra xxd_8.0.0197-5_armhf.deb

+------------------------------------------------------------------------------+
| Package contents                                                             |
+------------------------------------------------------------------------------+


vim-athena-dbgsym_8.0.0197-5_armhf.deb
--------------------------------------

 new debian package, version 2.0.
 size 3676328 bytes: control archive=511 bytes.
     481 bytes,    15 lines      control              
     106 bytes,     1 lines      md5sums              
 Package: vim-athena-dbgsym
 Source: vim
 Version: 2:8.0.0197-5
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 3882
 Depends: vim-athena (= 2:8.0.0197-5)
 Breaks: vim-dbg (<< 2:7.4.1689-1~)
 Replaces: vim-dbg (<< 2:7.4.1689-1~)
 Section: debug
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Debug symbols for vim-athena
 Build-Ids: dae1289620e51ad5a8a86542ec60df2460ed4c5c

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/da/
-rw-r--r-- root/root   3964336 2017-07-12 03:11 ./usr/lib/debug/.build-id/da/e1289620e51ad5a8a86542ec60df2460ed4c5c.debug
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-athena-dbgsym -> vim-athena


vim-athena_8.0.0197-5_armhf.deb
-------------------------------

 new debian package, version 2.0.
 size 979532 bytes: control archive=1743 bytes.
    1186 bytes,    21 lines      control              
     259 bytes,     4 lines      md5sums              
    1835 bytes,    61 lines   *  postinst             #!/bin/sh
     828 bytes,    43 lines   *  prerm                #!/bin/sh
 Package: vim-athena
 Source: vim
 Version: 2:8.0.0197-5
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 2352
 Depends: vim-common (= 2:8.0.0197-5), vim-gui-common (= 2:8.0.0197-5), vim-runtime (= 2:8.0.0197-5), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libgpm2 (>= 1.20.4), libice6 (>= 1:1.0.0), liblua5.2-0, libperl5.24 (>= 5.24.0), libpython3.5 (>= 3.5.0~b1), libruby2.3 (>= 2.3.0~preview2), libselinux1 (>= 1.32), libsm6, libtcl8.6 (>= 8.6.0), libtinfo5 (>= 6), libx11-6, libxaw7, libxmu6, libxpm4, libxt6
 Suggests: cscope, vim-doc
 Provides: editor, gvim, vim, vim-lua, vim-perl, vim-python, vim-ruby, vim-tcl
 Section: editors
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Vi IMproved - enhanced vi editor - with Athena GUI
  Vim is an almost compatible version of the UNIX editor Vi.
  .
  Many new features have been added: multi level undo, syntax
  highlighting, command line history, on-line help, filename
  completion, block operations, folding, Unicode support, etc.
  .
  This package contains a version of vim compiled with a Athena GUI
  and support for scripting with Lua, Perl, Python, Ruby, and Tcl.

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/bin/
-rwxr-xr-x root/root   2390524 2017-07-12 03:11 ./usr/bin/vim.athena
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/vim-athena/
-rw-r--r-- root/root       516 2017-07-12 03:11 ./usr/share/bug/vim-athena/presubj
-rwxr-xr-x root/root       204 2017-07-12 03:11 ./usr/share/bug/vim-athena/script
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-athena -> vim-gui-common
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       146 2017-07-12 03:11 ./usr/share/lintian/overrides/vim-athena


vim-dbgsym_8.0.0197-5_armhf.deb
-------------------------------

 new debian package, version 2.0.
 size 2817504 bytes: control archive=504 bytes.
     460 bytes,    15 lines      control              
     106 bytes,     1 lines      md5sums              
 Package: vim-dbgsym
 Source: vim
 Version: 2:8.0.0197-5
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 2998
 Depends: vim (= 2:8.0.0197-5)
 Breaks: vim-dbg (<< 2:7.4.1689-1~)
 Replaces: vim-dbg (<< 2:7.4.1689-1~)
 Section: debug
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Debug symbols for vim
 Build-Ids: a9a167bdf0145a0b9b6d3057d3048541a998d062

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/a9/
-rw-r--r-- root/root   3058700 2017-07-12 03:11 ./usr/lib/debug/.build-id/a9/a167bdf0145a0b9b6d3057d3048541a998d062.debug
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-dbgsym -> vim


vim-gtk-dbgsym_8.0.0197-5_armhf.deb
-----------------------------------

 new debian package, version 2.0.
 size 4012086 bytes: control archive=509 bytes.
     472 bytes,    15 lines      control              
     106 bytes,     1 lines      md5sums              
 Package: vim-gtk-dbgsym
 Source: vim
 Version: 2:8.0.0197-5
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 4209
 Depends: vim-gtk (= 2:8.0.0197-5)
 Breaks: vim-dbg (<< 2:7.4.1689-1~)
 Replaces: vim-dbg (<< 2:7.4.1689-1~)
 Section: debug
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Debug symbols for vim-gtk
 Build-Ids: 0d94f095c38f1ccc87245ce199a7b57065f384bc

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/0d/
-rw-r--r-- root/root   4299760 2017-07-12 03:11 ./usr/lib/debug/.build-id/0d/94f095c38f1ccc87245ce199a7b57065f384bc.debug
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-gtk-dbgsym -> vim-gtk


vim-gtk3-dbgsym_8.0.0197-5_armhf.deb
------------------------------------

 new debian package, version 2.0.
 size 3843234 bytes: control archive=510 bytes.
     475 bytes,    15 lines      control              
     106 bytes,     1 lines      md5sums              
 Package: vim-gtk3-dbgsym
 Source: vim
 Version: 2:8.0.0197-5
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 4046
 Depends: vim-gtk3 (= 2:8.0.0197-5)
 Breaks: vim-dbg (<< 2:7.4.1689-1~)
 Replaces: vim-dbg (<< 2:7.4.1689-1~)
 Section: debug
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Debug symbols for vim-gtk3
 Build-Ids: 774119bbf06800839634de85b93ff0e2fc432003

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/77/
-rw-r--r-- root/root   4132500 2017-07-12 03:11 ./usr/lib/debug/.build-id/77/4119bbf06800839634de85b93ff0e2fc432003.debug
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-gtk3-dbgsym -> vim-gtk3


vim-gtk3_8.0.0197-5_armhf.deb
-----------------------------

 new debian package, version 2.0.
 size 996278 bytes: control archive=1822 bytes.
    1351 bytes,    21 lines      control              
     251 bytes,     4 lines      md5sums              
    1831 bytes,    61 lines   *  postinst             #!/bin/sh
     824 bytes,    43 lines   *  prerm                #!/bin/sh
 Package: vim-gtk3
 Source: vim
 Version: 2:8.0.0197-5
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 2375
 Depends: vim-common (= 2:8.0.0197-5), vim-gui-common (= 2:8.0.0197-5), vim-runtime (= 2:8.0.0197-5), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libcairo2 (>= 1.4.10), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgpm2 (>= 1.20.4), libgtk-3-0 (>= 3.21.5), libice6 (>= 1:1.0.0), liblua5.2-0, libpango-1.0-0 (>= 1.37.5), libpangocairo-1.0-0 (>= 1.14.0), libperl5.24 (>= 5.24.0), libpython3.5 (>= 3.5.0~b1), libruby2.3 (>= 2.3.0~preview2), libselinux1 (>= 1.32), libsm6, libtcl8.6 (>= 8.6.0), libtinfo5 (>= 6), libx11-6, libxt6
 Suggests: cscope, fonts-dejavu, gnome-icon-theme, vim-doc
 Provides: editor, gvim, vim, vim-lua, vim-perl, vim-python, vim-ruby, vim-tcl
 Section: editors
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Vi IMproved - enhanced vi editor - with GTK3 GUI
  Vim is an almost compatible version of the UNIX editor Vi.
  .
  Many new features have been added: multi level undo, syntax
  highlighting, command line history, on-line help, filename
  completion, block operations, folding, Unicode support, etc.
  .
  This package contains a version of vim compiled with a GTK3 GUI
  and support for scripting with Lua, Perl, Python, Ruby, and Tcl.

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/bin/
-rwxr-xr-x root/root   2413740 2017-07-12 03:11 ./usr/bin/vim.gtk3
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/vim-gtk3/
-rw-r--r-- root/root       516 2017-07-12 03:11 ./usr/share/bug/vim-gtk3/presubj
-rwxr-xr-x root/root       204 2017-07-12 03:11 ./usr/share/bug/vim-gtk3/script
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-gtk3 -> vim-gui-common
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       142 2017-07-12 03:11 ./usr/share/lintian/overrides/vim-gtk3


vim-gtk_8.0.0197-5_armhf.deb
----------------------------

 new debian package, version 2.0.
 size 995022 bytes: control archive=1801 bytes.
    1296 bytes,    21 lines      control              
     247 bytes,     4 lines      md5sums              
    1829 bytes,    61 lines   *  postinst             #!/bin/sh
     822 bytes,    43 lines   *  prerm                #!/bin/sh
 Package: vim-gtk
 Source: vim
 Version: 2:8.0.0197-5
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 2371
 Depends: vim-common (= 2:8.0.0197-5), vim-gui-common (= 2:8.0.0197-5), vim-runtime (= 2:8.0.0197-5), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libgdk-pixbuf2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.31.18), libgpm2 (>= 1.20.4), libgtk2.0-0 (>= 2.24.0), libice6 (>= 1:1.0.0), liblua5.2-0, libpango-1.0-0 (>= 1.32.4), libperl5.24 (>= 5.24.0), libpython3.5 (>= 3.5.0~b1), libruby2.3 (>= 2.3.0~preview2), libselinux1 (>= 1.32), libsm6, libtcl8.6 (>= 8.6.0), libtinfo5 (>= 6), libx11-6, libxt6
 Suggests: cscope, fonts-dejavu, gnome-icon-theme, vim-doc
 Provides: editor, gvim, vim, vim-lua, vim-perl, vim-python, vim-ruby, vim-tcl
 Section: editors
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Vi IMproved - enhanced vi editor - with GTK2 GUI
  Vim is an almost compatible version of the UNIX editor Vi.
  .
  Many new features have been added: multi level undo, syntax
  highlighting, command line history, on-line help, filename
  completion, block operations, folding, Unicode support, etc.
  .
  This package contains a version of vim compiled with a GTK2 GUI
  and support for scripting with Lua, Perl, Python, Ruby, and Tcl.

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/bin/
-rwxr-xr-x root/root   2409748 2017-07-12 03:11 ./usr/bin/vim.gtk
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/vim-gtk/
-rw-r--r-- root/root       516 2017-07-12 03:11 ./usr/share/bug/vim-gtk/presubj
-rwxr-xr-x root/root       204 2017-07-12 03:11 ./usr/share/bug/vim-gtk/script
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-gtk -> vim-gui-common
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       140 2017-07-12 03:11 ./usr/share/lintian/overrides/vim-gtk


vim-nox-dbgsym_8.0.0197-5_armhf.deb
-----------------------------------

 new debian package, version 2.0.
 size 3127304 bytes: control archive=508 bytes.
     472 bytes,    15 lines      control              
     106 bytes,     1 lines      md5sums              
 Package: vim-nox-dbgsym
 Source: vim
 Version: 2:8.0.0197-5
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 3331
 Depends: vim-nox (= 2:8.0.0197-5)
 Breaks: vim-dbg (<< 2:7.4.1689-1~)
 Replaces: vim-dbg (<< 2:7.4.1689-1~)
 Section: debug
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Debug symbols for vim-nox
 Build-Ids: 6c29b3bc41cdc5c112b26269330811e2d6080be3

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/6c/
-rw-r--r-- root/root   3399768 2017-07-12 03:11 ./usr/lib/debug/.build-id/6c/29b3bc41cdc5c112b26269330811e2d6080be3.debug
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-nox-dbgsym -> vim-nox


vim-nox_8.0.0197-5_armhf.deb
----------------------------

 new debian package, version 2.0.
 size 893114 bytes: control archive=1713 bytes.
    1080 bytes,    21 lines      control              
     247 bytes,     4 lines      md5sums              
    1829 bytes,    61 lines   *  postinst             #!/bin/sh
     822 bytes,    43 lines   *  prerm                #!/bin/sh
 Package: vim-nox
 Source: vim
 Version: 2:8.0.0197-5
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 2134
 Depends: vim-common (= 2:8.0.0197-5), vim-runtime (= 2:8.0.0197-5), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libgpm2 (>= 1.20.4), liblua5.2-0, libperl5.24 (>= 5.24.0), libpython3.5 (>= 3.5.0~b1), libruby2.3 (>= 2.3.0~preview2), libselinux1 (>= 1.32), libtcl8.6 (>= 8.6.0), libtinfo5 (>= 6)
 Suggests: cscope, vim-doc
 Provides: editor, vim, vim-lua, vim-perl, vim-python, vim-ruby, vim-tcl
 Section: editors
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Vi IMproved - enhanced vi editor - with scripting languages support
  Vim is an almost compatible version of the UNIX editor Vi.
  .
  Many new features have been added: multi level undo, syntax
  highlighting, command line history, on-line help, filename
  completion, block operations, folding, Unicode support, etc.
  .
  This package contains a version of vim compiled with support for
  scripting with Lua, Perl, Python, Ruby, and Tcl but no GUI.

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/bin/
-rwxr-xr-x root/root   2166788 2017-07-12 03:11 ./usr/bin/vim.nox
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/vim-nox/
-rw-r--r-- root/root       516 2017-07-12 03:11 ./usr/share/bug/vim-nox/presubj
-rwxr-xr-x root/root       204 2017-07-12 03:11 ./usr/share/bug/vim-nox/script
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-nox -> vim-common
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       140 2017-07-12 03:11 ./usr/share/lintian/overrides/vim-nox


vim-tiny-dbgsym_8.0.0197-5_armhf.deb
------------------------------------

 new debian package, version 2.0.
 size 1094430 bytes: control archive=510 bytes.
     475 bytes,    15 lines      control              
     106 bytes,     1 lines      md5sums              
 Package: vim-tiny-dbgsym
 Source: vim
 Version: 2:8.0.0197-5
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 1220
 Depends: vim-tiny (= 2:8.0.0197-5)
 Breaks: vim-dbg (<< 2:7.4.1689-1~)
 Replaces: vim-dbg (<< 2:7.4.1689-1~)
 Section: debug
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Debug symbols for vim-tiny
 Build-Ids: 563936c71327aee6287c1e49232ee09a43f84097

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/56/
-rw-r--r-- root/root   1238360 2017-07-12 03:11 ./usr/lib/debug/.build-id/56/3936c71327aee6287c1e49232ee09a43f84097.debug
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-tiny-dbgsym -> vim-tiny


vim-tiny_8.0.0197-5_armhf.deb
-----------------------------

 new debian package, version 2.0.
 size 337654 bytes: control archive=1709 bytes.
      20 bytes,     1 lines      conffiles            
     833 bytes,    21 lines      control              
     453 bytes,     7 lines      md5sums              
    1831 bytes,    61 lines   *  postinst             #!/bin/sh
     824 bytes,    43 lines   *  prerm                #!/bin/sh
 Package: vim-tiny
 Source: vim
 Version: 2:8.0.0197-5
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 830
 Depends: vim-common (= 2:8.0.0197-5), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libselinux1 (>= 1.32), libtinfo5 (>= 6)
 Suggests: indent
 Provides: editor
 Section: editors
 Priority: important
 Homepage: http://www.vim.org/
 Description: Vi IMproved - enhanced vi editor - compact version
  Vim is an almost compatible version of the UNIX editor Vi.
  .
  This package contains a minimal version of Vim compiled with no GUI and
  a small subset of features. This package's sole purpose is to provide
  the vi binary for base installations.
  .
  If a vim binary is wanted, try one of the following more featureful
  packages: vim, vim-nox, vim-athena, vim-gtk, or vim-gtk3.

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./etc/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./etc/vim/
-rw-r--r-- root/root       662 2017-07-12 03:11 ./etc/vim/vimrc.tiny
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/bin/
-rwxr-xr-x root/root    819920 2017-07-12 03:11 ./usr/bin/vim.tiny
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/vim-tiny/
-rw-r--r-- root/root       516 2017-07-12 03:11 ./usr/share/bug/vim-tiny/presubj
-rwxr-xr-x root/root       204 2017-07-12 03:11 ./usr/share/bug/vim-tiny/script
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim-tiny -> vim-common
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       142 2017-07-12 03:11 ./usr/share/lintian/overrides/vim-tiny
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/vim/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/vim/vim80/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/vim/vim80/doc/
-rw-r--r-- root/root       324 2017-07-12 03:11 ./usr/share/vim/vim80/doc/README.Debian
-rw-r--r-- root/root      1431 2017-07-12 03:11 ./usr/share/vim/vim80/doc/help.txt
-rw-r--r-- root/root        30 2017-07-12 03:11 ./usr/share/vim/vim80/doc/tags
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/vim/vimrc.tiny -> /etc/vim/vimrc.tiny


vim_8.0.0197-5_armhf.deb
------------------------

 new debian package, version 2.0.
 size 790458 bytes: control archive=1649 bytes.
     945 bytes,    22 lines      control              
     237 bytes,     4 lines      md5sums              
    1827 bytes,    61 lines   *  postinst             #!/bin/sh
     820 bytes,    43 lines   *  prerm                #!/bin/sh
 Package: vim
 Version: 2:8.0.0197-5
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 1876
 Depends: vim-common (= 2:8.0.0197-5), vim-runtime (= 2:8.0.0197-5), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libgpm2 (>= 1.20.4), libselinux1 (>= 1.32), libtinfo5 (>= 6)
 Suggests: ctags, vim-doc, vim-scripts
 Provides: editor
 Section: editors
 Priority: optional
 Homepage: http://www.vim.org/
 Description: Vi IMproved - enhanced vi editor
  Vim is an almost compatible version of the UNIX editor Vi.
  .
  Many new features have been added: multi level undo, syntax
  highlighting, command line history, on-line help, filename
  completion, block operations, folding, Unicode support, etc.
  .
  This package contains a version of vim compiled with a rather
  standard set of features.  This package does not provide a GUI
  version of Vim.  See the other vim-* packages if you need more
  (or less).

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/bin/
-rwxr-xr-x root/root   1902804 2017-07-12 03:11 ./usr/bin/vim.basic
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/bug/vim/
-rw-r--r-- root/root       516 2017-07-12 03:11 ./usr/share/bug/vim/presubj
-rwxr-xr-x root/root       204 2017-07-12 03:11 ./usr/share/bug/vim/script
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/vim -> vim-common
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       138 2017-07-12 03:11 ./usr/share/lintian/overrides/vim


xxd-dbgsym_8.0.0197-5_armhf.deb
-------------------------------

 new debian package, version 2.0.
 size 10758 bytes: control archive=474 bytes.
     386 bytes,    13 lines      control              
     106 bytes,     1 lines      md5sums              
 Package: xxd-dbgsym
 Source: vim
 Version: 2:8.0.0197-5
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 25
 Depends: xxd (= 2:8.0.0197-5)
 Section: debug
 Priority: extra
 Homepage: http://www.vim.org/
 Description: Debug symbols for xxd
 Build-Ids: 311ccd70a83fa0a2ac2bdacdbada29a6a5c98fab

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/lib/debug/.build-id/31/
-rw-r--r-- root/root     14344 2017-07-12 03:11 ./usr/lib/debug/.build-id/31/1ccd70a83fa0a2ac2bdacdbada29a6a5c98fab.debug
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-12 03:11 ./usr/share/doc/xxd-dbgsym -> xxd


xxd_8.0.0197-5_armhf.deb
------------------------

 new debian package, version 2.0.
 size 130918 bytes: control archive=806 bytes.
     509 bytes,    15 lines      control              
     634 bytes,    10 lines      md5sums              
 Package: xxd
 Source: vim
 Version: 2:8.0.0197-5
 Architecture: armhf
 Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 Installed-Size: 162
 Depends: libc6 (>= 2.4)
 Breaks: vim-common (<< 2:7.4.2347-1~)
 Replaces: vim-common (<< 2:7.4.2347-1~)
 Section: editors
 Priority: extra
 Homepage: http://www.vim.org/
 Description: tool to make (or reverse) a hex dump
  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.

drwxr-xr-x root/root         0 2017-07-12 03:11 ./
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/bin/
-rwxr-xr-x root/root     13848 2017-07-12 03:11 ./usr/bin/xxd
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/doc/xxd/
-rw-r--r-- root/root      1774 2017-07-12 03:11 ./usr/share/doc/xxd/NEWS.Debian.gz
-rw-r--r-- root/root     86619 2017-07-12 03:11 ./usr/share/doc/xxd/changelog.Debian.gz
-rw-r--r-- root/root     10927 2017-07-12 03:11 ./usr/share/doc/xxd/copyright
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/fr/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/fr/man1/
-rw-r--r-- root/root      4905 2017-07-12 03:11 ./usr/share/man/fr/man1/xxd.1.gz
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/it/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/it/man1/
-rw-r--r-- root/root      4819 2017-07-12 03:11 ./usr/share/man/it/man1/xxd.1.gz
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/ja/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/ja/man1/
-rw-r--r-- root/root      4774 2017-07-12 03:11 ./usr/share/man/ja/man1/xxd.1.gz
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/man1/
-rw-r--r-- root/root      4309 2017-07-12 03:11 ./usr/share/man/man1/xxd.1.gz
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/pl/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/pl/man1/
-rw-r--r-- root/root      4642 2017-07-12 03:11 ./usr/share/man/pl/man1/xxd.1.gz
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/ru/
drwxr-xr-x root/root         0 2017-07-12 03:11 ./usr/share/man/ru/man1/
-rw-r--r-- root/root      6117 2017-07-12 03:11 ./usr/share/man/ru/man1/xxd.1.gz


+------------------------------------------------------------------------------+
| Post Build                                                                   |
+------------------------------------------------------------------------------+


+------------------------------------------------------------------------------+
| Cleanup                                                                      |
+------------------------------------------------------------------------------+

Purging /<<BUILDDIR>>
Not cleaning session: cloned chroot in use

+------------------------------------------------------------------------------+
| Summary                                                                      |
+------------------------------------------------------------------------------+

Build Architecture: armhf
Build-Space: 482840
Build-Time: 1486
Distribution: buster-staging
Host Architecture: armhf
Install-Time: 762
Job: vim_2:8.0.0197-5
Machine Architecture: armhf
Package: vim
Package-Time: 2269
Source-Version: 2:8.0.0197-5
Space: 482840
Status: successful
Version: 2:8.0.0197-5
--------------------------------------------------------------------------------
Finished at 2017-07-14T07:13:10Z
Build needed 00:37:49, 482840k disk space